ЗАПИСИ
ФЕВРАЛЬ 22, 2009

Хай!

У меня скопился уже достаточно большой опыт разработки интернет-проектов и теперь я хочу несколько систематизировать свои знания, возможно это будет полезно и вам.

Тут я рассмотрю исключтельно технологии для быстрой разработки интернет-проектов — фреймворки и движки. Вы можете возмутиться и сказать что это медленно, небезопасно и не гибко. Угу, это конечно не чистый Java со Spring’ом или EJB и не чистый .NET со своей бадягой. И это будет работать не так быстро как на чисто этих технологиях. Но эти технологии мы оставим для крупных компаний, короый хотят писать свои мега масштабные Enterprise проекты годами. Я же предпочитаю делать не большие проекты и делать их быстро. Итак, что мы рассмотрим: Grails, Ruby on Rails, Cakephp, Drupal, WordPress.

WordPress (PHP)

Начнем с простейшего. Это движок блога с возможностью кастомизации с помощью готовых или самописных плагинов. Движок очень простой правда не очень быстрый. Зато в нем уже интегрировано куча полезностей, так что сделать блог, форум или сайт новостей на нем очень просто. Как вы можете заметить — мой блог построен именно на WordPress. Правда эта ботва не годится для более менее больших проектом, и кастомизировать его запарно, если нужны какие-нибуть мега фичи на сайте. Вобщем подойдет для небольшого новостного сайта. (сайт Worpress)

Drupal (PHP)

Опять движок, но уже посерьезнее чем WordPress. Движок не очень простой в освоении, но если понять как и что там делается, то можно с быстрой скоростью херачить неплохие сайтосы под практически любые нужны. Существует очень много расширений (модулей, плагинов) для Drupal’а, которые свободно доступны в сети. Правда за все удобства приходится платить скоростью работы этой хрени и достаточно долгим вниканием в эту технологию (именно на уровне кода). Так же использование этого движка ставит под сомнению всю безопасность сайта, особенно если используется много сторонних расширений. Но вобщем движок очень неплохой и удобный, правда мне он кажется тяжеловесным немного icon smile Технологии быстрой разработки веб приложений %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 (сайт Drupal)

Ruby on Rails (Ruby)

Это революционный фреймворк, который дал старт новой эре разработки интернет-проектов. Очень многие фреймворки родились именно после успеха Ruby on Rails (в том числе Cakephp и Grails). MVC, ORM — да. Все очень удобно и по «папски» icon smile Технологии быстрой разработки веб приложений %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 Правда сам язык Ruby немного некрасивый ИМХО (и не только ИМХО), есть в этом языке Ruby что-то такое Perl-Brainfuck’овое icon smile Технологии быстрой разработки веб приложений %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 Возможно именно поэтому этот фреймворк не так популярен среди разработчиков, и не так уж много на нем реально хороших проектов, хотя они есть это несомненно! Лично я щупал этот фреймворк на деле как в домашних условиях так и в некоторых компаниях где я работал, но видимо незнание (и нежелание) языка Ruby сделало свое дело и я так и не написал на Ruby on Rails хотя бы один полноцельный проект. Мне кажется сейчас есть более качественные альтернативы это фреймворку такие как Cakephp и Grails, о которых ниже. (сайт Ruby on Rails)

Cakephp (PHP)

Cakephp — это отличный фреймворк для разработки веб-приложений. Поддерживает все лучшие паттерны проектирования веб в том числе MVC. Так же есть и ORM — куда же без него! Изучается достаточно быстро (правда с пользователями придется немного повозиться, не очень понятная хрень в кейке icon smile Технологии быстрой разработки веб приложений %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 ). После изучение фреймворка можно разрабатывать любой сложности и уровня веб-проекты. Легковесный и в то же время очень мощный Framework. Очень хорошая документация и активный Community. Вобщем на данный момент это мой любимый фреймворк, на котором я сейчас веду активную разработку нескольких своих проектов. (сайт Cakephp)

Grails (Groovy / Java)

Как много хороших воспоминаний у меня с этим фреймворком! Если честно, то это самый удобный фреймворк для разработки веб-приложений, с которым я когда-либо работал. Все очень логично, просто и эффективно. Изучается очень быстро, активный Community при поддержке Intel. Используется язык Groovy, но для тех, кто знаком с Java это не вызовет никаких осложнений, т.к. Groovy это почти та же Java, только немного упнощенная по синтаксису. Groovy — это скриптовая Java, на выходе работы Groovy мы получаем работающий Java код. Правда то что в итоге получается Java код и WAR’ка, то это ставит некоторый ограничения на деплоймент проекта, т.е. на сервере нужно как минимум Application Server (Tomcat, JBoss, …), Java и Groovy. Зато это все работает быстро (Java же!). Прелестный фреймворк. (сайт Grails)

Итог

ИМХО итог. Ruby on Rails немного тяжеловат в изучении и отстает по удобству некоторым своим последователям. WordPress хорош для небольших новостных сайтов. Drupal тяжеловат и сложен в изучении, неплох для сайтов средней нагрузки. Cakephp lightweight framework и легок в изучении, лучший выбор для сайтов любого уровня сложности. Grails — отлично подходит как для небольших проектов так и для Enterprise веб-проектов, где нужна кластеризация, возможно и ESB (Enterprise Service Bus), т.к. технологии Java дают легкий доступ ко всему мировому Enterprise опыту.

Вот и все.

icon smile Технологии быстрой разработки веб приложений %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8

#1 Март 9, 2009 в 14:08
ZetORG

Отсюда вывод, самое подходящее средство для разработки простых сайтов и сайтов средней сложности, это Joomla 1.5. ;)

#2 Март 9, 2009 в 14:13

Для чего то нормально работающего и более менее сложного не подойдет — слишком много ненужной херни. Но для небольших сайтов вполне неплохо джумла приспособлена.

#3 Март 9, 2009 в 21:13
ZetORG

Например? Какой именно "ненужной херни" там слишком много?

#4 Март 9, 2009 в 21:25

Ты видел там базу данных и что там в ней творится , как все устроено? Прикинь на каких скоростях с большими объемами это работать будет? Хотя для небольших сайтов это нормально не спорю :-) Joomla это неплохо, седня ставить уже пробовал. Ща буду копать ее.

#5 Март 9, 2009 в 22:30
ZetORG

Ладно, про скорости спорить не буду. =)
Но, даже не знаю, кого сейчас интересуют скорости, при современных то ресурсах.
Хотя, безсловно, вконтакте на нем не построишь. =)

#6 Март 9, 2009 в 22:39

смотря какие задачи… 50 тысяч человек в день это мало, так что и джумлы хватит, хотя тут все еще зависит какие именно задачи выполняются на сайте, и как часто этот юзер из 50 тысяч делает эту самую задачу в определенный момент времени.