Сравнение PHP фреймворков - Kohana Yii Symfony CodeIgniter

Аватар пользователя petrovnn petrovnn 8 ноября 2010 в 18:37

Собственно сабж

Комментарии

Аватар пользователя petrovnn petrovnn 8 ноября 2010 в 19:57
"vgoodvin" wrote:

Shok

Для сравнения:
Debian - 65 000 000
Gentoo - 5 500 000

По-моему это уже тупняк когда количество строк в фреймворке сопоставимо с таковым в полноценных операционных системах...

Аватар пользователя petrovnn petrovnn 8 ноября 2010 в 20:20
"RxB" wrote:

Узнай сколько в опенофисе строк

25 000 000

http://www.ohloh.net/p/openoffice/analyses/latest

узнать кол-во строк для любого опен-сурс проекта легко: просто подставляешь название туда где щас «openoffice»:

http://www.ohloh.net/p/%name%/analyses/latest

Если название не совпадет - забить в поиск и там точно выпадет. Для убунты к сожалению кол-во строк недоступно (возможно заморочки с лицензиями). Количество я определяю "на глаз" по рискам на графике.

Да, опен-офис тоже сопоставим по объему кода с ОС Smile

Аватар пользователя Softovick Softovick 8 ноября 2010 в 20:26

Не в ту степь рванули.. ОС по сути должно быть как можно меньше, ибо она выполняет чисто специфичные действия. Поэтому чем меньше, тем лучше. А прикладное ПО по другому - больше и больше функций, отсюда и много кода... Обратная прогрессия...

Аватар пользователя v1adimir@drupal.org v1adimir@drupal.org 8 ноября 2010 в 20:48
Softovick wrote:

Не в ту степь рванули.. ОС по сути должно быть как можно меньше, ибо она выполняет чисто специфичные действия. Поэтому чем меньше, тем лучше...

ага, однозначно. и, по-хорошему, нужно смотреть на количство строк только в kernel.

Аватар пользователя petrovnn petrovnn 8 ноября 2010 в 22:00
"Softovick" wrote:

прикладное ПО по другому - больше и больше функций, отсюда и много кода... Обратная прогрессия...

В целом конечно верно, но здесь приведено количество строк кода в контексте сложности освоения тем или иным инструментом.

Для того чтобы эффективно пользоваться инструментом - надо знать его устройство. Можно-ли написать хороший модуль для друпала не заглядывая в код ядра и системных модулей? Думаю вряд-ли. Итак, для того чтобы эффективно использовать друпал - как ни крути, нужно понимать основные его механизмы и принципы работы, чем Ван Дюк кстати и занимается.

Я не знаю насколько Symfony будет функциональнее того-же Yii. Однако Yii эффективнее в разработке как-раз за счет того что меньше файлов, более логичная структура. Это как-раз тот случай когда простота и логичность выгоднее чем заготовленный избыточный функционал. В этом плане Kohana выглядит еще лучше - она еще проще ее легче освоить и можно заметно быстрее получить результат чем на том-же Yii или Symfony.

То есть основная моя мысль сводится к тому что громоздкую систему (пусть и хорошую) нужно изучать очень долго, а для кого-то время самый главный ресурс.

Аватар пользователя Crea Crea 9 ноября 2010 в 7:15
petrovnn wrote:

То есть основная моя мысль сводится к тому что громоздкую систему (пусть и хорошую) нужно изучать очень долго, а для кого-то время самый главный ресурс.

Верно. В этом смысле Drupal 7 вызывает серьезные опасения в сообществе, т.к. гораздо более сложен чем 6, который уже был достаточно сложен.

Аватар пользователя kyky kyky 9 ноября 2010 в 2:33
"petrovnn" wrote:

Symfony - 10 000 000 (10 миллионов! понятно откуда тормоза)

Нет, непонятно. Вы инклудите все 10М строк?
Странно, что вы обошли стороной набирающие популярность микрофреймворки: http://www.legendrefamily.org/blog/2009/08/php-micro-frameworks/
Обзор крайне поверхностный и дилетантский.
Вы сравниваете программные продукты на основе кол-ва строк кода и кол-ву вакансий на биржах фрилансеров.

Аватар пользователя kodo kodo 9 ноября 2010 в 4:27
"kyky" wrote:

Обзор крайне поверхностный и дилетантский.

По настоящему НЕ дилетанский обойдется очень дорого. А так вполне интересный обзор. Дальше - каждый покапавшись сам для себя определит, что лучше.

Аватар пользователя natbampo natbampo 9 ноября 2010 в 8:38

petrovnn, спасибо за статью и интересное исследование.

"Crea" wrote:

Верно. В этом смысле Drupal 7 вызывает серьезные опасения в сообществе, т.к. гораздо более сложен чем 6, который уже был достаточно сложен.

это для тех кто с нуля будет 7-ку изучать или и для тех кто с 6-ки будет переходить тоже возникнут существенные проблемы?

Аватар пользователя Softovick Softovick 9 ноября 2010 в 8:54
natbampo wrote:

petrovnn, спасибо за статью и интересное исследование.

"Crea" wrote:

Верно. В этом смысле Drupal 7 вызывает серьезные опасения в сообществе, т.к. гораздо более сложен чем 6, который уже был достаточно сложен.

это для тех кто с нуля будет 7-ку изучать или и для тех кто с 6-ки будет переходить тоже возникнут существенные проблемы?

Я думаю, если с нуля - то наверное меньше проблем... А вот при переходе можно нарваться на некоторые грабли. Недавно как раз видел обсуждение темизации.

Аватар пользователя vgoodvin vgoodvin 9 ноября 2010 в 10:17
"Softovick" wrote:

Я думаю, если с нуля - то наверное меньше проблем... А вот при переходе можно нарваться на некоторые грабли. Недавно как раз видел обсуждение темизации.

По мне так наоборот.

Аватар пользователя Softovick Softovick 9 ноября 2010 в 10:23
vgoodvin wrote:
"Softovick" wrote:

Я думаю, если с нуля - то наверное меньше проблем... А вот при переходе можно нарваться на некоторые грабли. Недавно как раз видел обсуждение темизации.

По мне так наоборот.

Ну вообще, обычно получается как - с нуля и так и так сложно, но в Drupal 7 стремятся разделить процессы по этапам, т.е. логически как раз более понятно.
А вот когда что-то изучишь, а потом приходится переучиватся, да еще переделывать - это сложнее, ибо в голове уже не один вариант держишь, а два.

Аватар пользователя vgoodvin vgoodvin 9 ноября 2010 в 11:34
"Softovick" wrote:

Ну вообще, обычно получается как - с нуля и так и так сложно, но в Drupal 7 стремятся разделить процессы по этапам, т.е. логически как раз более понятно.
А вот когда что-то изучишь, а потом приходится переучиватся, да еще переделывать - это сложнее, ибо в голове уже не один вариант держишь, а два.

Переучиваться сложнее согласен, зато приятнее и гораздо быстрее привыкать к хорошему. Семерка заметно удобнее в плане API за исключением некоторых небольших добавлений в JS, хотя они конечно не просто так добавлены, да и сильного дизкомфорта не вызывают. Гораздо более сложно будет тому кто захочет переучиться с семерки на шестерку (захочет ли?).

Аватар пользователя petrovnn petrovnn 9 ноября 2010 в 22:27
"kyky" wrote:

Странно, что вы обошли стороной набирающие популярность микрофреймворки: http://www.legendrefamily.org/blog/2009/08/php-micro-frameworks/[/quote]
Какой микрофреймворк вы порекомендуете для изучения? До сих пор я слышал только про F3 - сейчас посмотрел еще раз, действительно - только положительные ощущения.

Аватар пользователя kyky kyky 10 ноября 2010 в 2:29

Я пробовал Лимонад и F3. Второй понравился больше.
http://www.limonade-php.net/
http://m.habrahabr.ru/post/103167/
Вторая ссылка - отличный обзор F3 на хабре.
Микрофреймворки позволяют строить базовый каркас приложения, не завязывая основную логику работы на стороннем коде.

Аватар пользователя petrovnn petrovnn 10 ноября 2010 в 15:11
"kyky" wrote:

Вы сравниваете программные продукты на основе кол-ва строк кода и кол-ву вакансий на биржах фрилансеров.

Да, я сравниваю фреймворки именно по этим критериям. И что? Smile

А за напоминание про F3 спасибо, да, последнее время особо не натыкался в обсуждениях или блогах. Просто другая весовая категория.

У меня как-раз есть сайт из 5 статичных страниц.
Переделывать на друпал - слишком громоздкое решение для такого типа сайта. Возможно благодаря роутингу F3 для него будет идеален. Правда нужно будет решить задачу редактирования контента с помощью визуального редактора или BUeditor. Есть-ли для него какие-нибудь плагины, реализующие редактирование контента?

Конечно я могу погуглить, но раз уж вы знаете, может сразу скажете?

Добавил F3 в статью - 4 000 строк, не намного меньше коханы кстати.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 10 ноября 2010 в 15:11
"petrovnn" wrote:

Есть-ли для него какие-нибудь плагины, реализующие редактирование контента?

Я думаю что написать такой плагин чуть сложнее чем установить FCK/CKE для друпала

Аватар пользователя chel chel 4 мая 2011 в 0:40

В drupal также обширная API для создания веб-приложений с нуля, если это необходимо.
Если вас 10 человек и вам нужен 1 сайт, то выбирайте фреймворк, если вы 1 и вам нужно 10 сайтов, то лучше Drupal.

И кто-то говорил что Drupal раздутый? Шутники. Drupal весит более 1 Мб, и есть несколько дополнительных модулей, включенных в этот пакет, которые можно просто удалить, если не используете. RoR весит 20 мб, Zend весит больше (где-то читал на форуме, чтобы zend работал быстро его еще надо хорошенько "кастрировать"), и Django около 5 МБ думаю.
(Причем у некоторых веб разработчиков тендения уходить с Фреймворков на мини-фреймворки, тут опять можно посмотреть на Drupal не только как на фрейм(с готовым кодом на drupal.org но и как на минифреймворк если писать с нуля)

===
"Дай человеку рыбу, и он будет сыт один день жизни. Научи его ловить рыбу, и он будет сыт жизнь." - Лао-Цзы
"Бог помогает тем, кто помогает себе сам ." - Ben Franklin
"Поиск это ваш лучший друг." - Worldfallz

Аватар пользователя kyky kyky 4 мая 2011 в 2:13

Про Django — с ним в комплекте идет дохрена контриба. Само ядро маленькое.

Аватар пользователя Mirocow Mirocow 24 января 2012 в 6:36

Yii и без вариантов. Пробовал Symfony, Kohana, CI
Немного ROR, но ror будет по возможностям превосходить yii, но думаю что не надолго. Хотя как реализованы scope в ROR одно загляденье.

Аватар пользователя chel chel 26 января 2012 в 12:53

в Yii кажется не столько надо кода писать как в zend, symphony (yii экономичный rails подобный фрем на php).
но если сравнить yii с ror, то ror кажется друпалом по скорости создания веб-приложения, а yii ассемблером)

Аватар пользователя Mirocow Mirocow 27 января 2012 в 3:44
"GAVR100" wrote:

Так и есть. Но работать с ним намного приятней.
Все таки ROR это не единая платформа.
Чтоб ROR работал надо rack, сами рельсы rails и любой из серверов (thin, Mongrel итд).
Есть конечно модуль Passenger, но работа его не так хороша как связка nginx + rails + thin.
И вся эта катавасия работает только с fastcgi.
Так что и порог вхождения довольно высок. А вот реальной скорости я так и не заметил. Если сравнивать рельсы и грамотно написанный php framework, то разница почти незаметна.

Аватар пользователя kyky kyky 27 января 2012 в 7:09

Не холивара ради, замечу, что у питоноводов гораздо больше способов запуска:
tornado+nginx, fastcgi, wsgi, uwsgi.
Можно подобрать варианты как для линуксов, так и для венды.

Аватар пользователя chel chel 30 января 2012 в 1:14

Вышел RAILS 3.2.1, но это не самое интересное, вот изменения, сделаны всем знакомым челом:
## Rails 3.2.1 (January 26, 2012) ##
...
* `datetime_select` works with -/+ infinity dates. *Joe Van Dyk*
...

Аватар пользователя ihappy ihappy 30 января 2012 в 1:31
"chel" wrote:

всем знакомым челом:

Можно просветить меня, чтобы я тоже вошел в число всех ))

Аватар пользователя Crea Crea 30 января 2012 в 2:50

Кстати никто случайно здесь не юзал Pyramid/Pylons или у одного меня такой позыв возник ?
(ЗЫ python не знаю )) )

Аватар пользователя kyky kyky 30 января 2012 в 3:07
"Crea" wrote:

Зачем сразу пилоны? Начинающему питонеру лучше брать джангу, в ней все из коробки и масса документации. А пилоны сложнее и документации меньше.
зы: Я пробывал, но предпочел Flask

Аватар пользователя Crea Crea 30 января 2012 в 19:46
kyky wrote:
"Crea" wrote:

Зачем сразу пилоны? Начинающему питонеру лучше брать джангу, в ней все из коробки и масса документации. А пилоны сложнее и документации меньше.
зы: Я пробывал, но предпочел Flask

Джанга завязана на ORM и SQL, а мне интересно на MongoDB что-нибудь замутить

Аватар пользователя chel chel 30 января 2012 в 13:45

мда...Много умных ВанДюков)
как я понял по блогам и форумам Kohana более проста чем Yii, но не такая гибкая, Symfony более сложно понять чем Zend. Кто-то тут делал бэкэнд на Zend а фронтэнд на Drupal - поделитесь впечатлениями!

Аватар пользователя Andruxa Andruxa 30 января 2012 в 22:39
Galr wrote:
Andruxa wrote:
RxB wrote:
kyky wrote:
Andruxa wrote:
"q2_faith" wrote:
"GAVR100" wrote:

очередную хуйню

иди на хуй)

максим, иди нахуй
нучо, кто помнит лесенки?

максим, ты хуй!

скажет что обижают

а похуй, пусть всё равно идёт нахуй!

так он же уже давно нахуй ушел))?

Аватар пользователя Mirocow Mirocow 30 января 2012 в 22:52

Я все задачи закрыл с помощью yii. ROR как оказался и не нужен. Тем более что php сейчас развивается быстрее ruby

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 30 января 2012 в 23:27
"GAVR100" wrote:

к преимуществом ruby помимо краткости и понятности синтаксиса, интерактивности, я бы еще отнес то что в ruby есть только ROR и специализируешься на нем

Щолк, ну перестань уже, вредно на ночь ржать по конски

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 30 января 2012 в 23:58
"GAVR100" wrote:

хочу напомнить что сейчас 2012

И рельсы зохавали остальные фреймворки?
Расскажи это поцонам из Синатры.
Ацкий жгун, иди кондюками торгуй, у тебя это лучше получалось, хотя и в этом неуверен

Аватар пользователя Andruxa Andruxa 31 января 2012 в 0:17
"RxB" wrote:

иди кондюками торгуй

нинада, он их в датацентры ставил
пусть лучше на форуме пиздит - ущерба меньше

Аватар пользователя ihappy ihappy 31 января 2012 в 0:33
"Andruxa" wrote:

пусть лучше на форуме пиздит - ущерба меньше

Он психику молодых друпалеров подрывает)))

Аватар пользователя chel chel 31 января 2012 в 2:17

встроенный веб-сервер который идет с playframework ($play server) генерит страницы в 1000 раз быстрее чем встроенный веб-сервер WEBrick ($rails server) ROR. Первый компилирует код на ходу.
но это java (хоть и напоминает php, работать может с гуглом http://habrahabr_full.complexdoc.ru/4345.html )

Посмеялся от души: ROR vs YII

Аватар пользователя kyky kyky 31 января 2012 в 2:23
"chel" wrote:

генерит страницы в 1000 раз быстрее

Счастье не в длине члена скорости, а в удобстве разработки и деплоймента. В этом разрезе руби имеет превосходство перед джавой. А настроить кеширование, докупить памяти, поставить второй сервак — дело второстепенное.

"Crea" wrote:

Джанга завязана на ORM и SQL, а мне интересно на MongoDB что-нибудь замутить

Ну, есть народные способы связать монгу и джангу. В гугле масса примеров, есть даже официальный проект. Хотя, если отказываешься от коробочной ORM и админки, то джанга становится бесполезной.

---
Сейчас уже в каждом языке есть свои высокоуровневые фреймворки, способные удовлетворить все потребности разработчика. Различаются они по сути плюшками и фишками, паттерн MVC остается неизменным. Уходя на ROR, не стоит ждать от него революции. Разработчики просто выбирают ту архитектуру, что лучше ложится на их мозги.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 31 января 2012 в 6:46

Щолк, ну расскажи нам, в чём переход на рельсы то заключался?
В стиле "Раньше я не знал пхп и друпал, а теперь не знаю руби и рельсы"?

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 31 января 2012 в 6:50
"GAVR100" wrote:

еще расскажи про CMS на ROR или на Ruby,

Рассказать что они есть? Снова же юмора не поймём.

"GAVR100" wrote:

Расскажи это пацанам из social engin

Ну да, ты руби запускаешь как корень? Хотя допустив только одну ошибку в слове "engin" безусловно растёшь, ога.
Прикольно видеть человека, который из английского языка знает только первые буквы алфавита и учит ROR.

"GAVR100" wrote:

Для тех кто не понял юмора перевожу:
И Друпал захватил остальные CMS?

Чуйство юмора у тебя паршивое, говори без него, мы тут туповатые

Аватар пользователя chel chel 31 января 2012 в 8:24
"GAVR100" wrote:

И Друпал захватил остальные CMS?

Читал у ROR-овцев о том, что они мечтают переписать и даже просили Дриса переписать drupal на ruby, поэтому мечты мечты .... Я был бы удивлен, если бы мечтали мамбу переписать или битрикс Lol гыыыы
там знают друпал не по наслышке.

Аватар пользователя kyky kyky 31 января 2012 в 8:56
"chel" wrote:

Друпал везде знают, это гиковская CMS. Блоги многих разработчиков работают на Друпале, не станут же они блог на рельсах писать.
А мечтают из-за системы хуков и продуманной модульности. Теоретически, друпал или его подобие можно реализовать на других языках, тем более что в ruby/python функции -- это объекты, их можно передавать, декорировать. Да и с ООП получше будет.

Аватар пользователя Mirocow Mirocow 1 февраля 2012 в 5:59
"GAVR100" wrote:

еще расскажи про CMS на ROR

Так полно на ROR CMS то. А вот на yii раз 2 и обчелся. молодой он еще.

Аватар пользователя petrovnn petrovnn 1 февраля 2012 в 21:08

В другом посте этот-же чел рекламирует эту книгу
http://www.ozon.ru/context/detail/id/5312162/

Меня в джанге смущает то, что по настоящему хороших сайтов на ней (или хотя-бы просто на питоне) я в свое время нашел ну очень как-то мало. Не знаю почему, в чем причина. С того времени уже может что-то поменялось, и уже может пишут на джанге сайты более активно, но осадочек остался. При этом на рельсах и на YII горааааздо больше (ну на порядок) по-настоящему крутых и продвинутых сайтов с хорошим дизайном, мощным функционалом и тп.

Поэтому закрадывается мысль иногда что питон как-бы не особо для сайтов, а больше для системных (админских) утилит всяких. Я эту мысль конечно отгоняю, но она все равно меня не покидает.

Аватар пользователя kyky kyky 2 февраля 2012 в 3:47
"petrovnn" wrote:

Случайно наткнулся на интересную статейку
http://privats.ru/2011/06/10-trudnostej-pri-izuchenii-django.html[/quote]
Утверждения слабы, не аргументированы. Текст писал явно дилетант.

"petrovnn" wrote:

по настоящему хороших сайтов на ней (или хотя-бы просто на питоне) я в свое время нашел ну очень как-то мало. Не знаю почему, в чем причина.

Причина в том, что вы плохо искали. Сайтов, работающих на джанге, полно. Есть Яндекс, в котором работал Иван Сагалаев, почитайте его блог, о том, как он внедрял джангу в инфраструктуру Яндекса. Есть студии, работающие преимущественно на джанге, в их портфолио ссылки на сайты.

"petrovnn" wrote:

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

Питон позиционирует себя как язык общего назначения, в т.ч. и для веба. Для него есть около десятка хороших фреймфорков. Сам язык гибкий, минималистичный, расширяемый. Сегодня Джанга+Питон -- один из самых эффективных способов писать под веб.

Аватар пользователя petrovnn petrovnn 2 февраля 2012 в 4:25
"kyky" wrote:

Сегодня Джанга+Питон -- один из самых эффективных способов писать под веб.

А вы какую IDE используете под питон? pycharm?
Или у вас одна IDE на все языки типа эклипса/нетбинса?

В качестве БД под джангу вы-бы использовали мускул?

Аватар пользователя kyky kyky 2 февраля 2012 в 5:31

Я не люблю навороченные IDE-комбайны.
Поскольку на работе я пишу под виндой, то использую PyScripter. Это легкая, быстрая, бесплатная IDE с самым удобным автокомплитом. Минус -- только под винду. На ноуте с линуксом я пользуюсь Geany -- тоже легковесная IDE, не такая удобная, но привыкнуть можно.
В Geany можно писать на многих других языках, там удобная подсветка, автокомплит, компиляция и запуск кода.
Для правки html-шаблонов, js и css вам за глаза хватит редактора SсiTE/Notepad++ и др.

"petrovnn" wrote:

В качестве БД под джангу вы-бы использовали мускул?

Да, мускуль, можно постгресс, если вы умеете его готовить. Разрабатывать можно с использованием SQLite.

Аватар пользователя chel chel 2 февраля 2012 в 12:09

JavaScript (и как минимум jQuery) - это то, что точно пригодится для веб хоть что вы используете: php, ruby, python, jsp, perl

ИМХО разочаровался в Dart(который делат google на замену js) всем было бы лучше, если бы гугл на CoffeeScript(который давно делается) внимание обратили чем пилил свой dart.

Dart vs Javascript vs CoffeScript

Аватар пользователя chel chel 8 февраля 2012 в 21:58

Возник серьезный вопрос:

Планируем создать высоко нагруженный проект для авторизованных и пользователей и анонимов.
Личный кабинет - ставки, много всего.
Проект международного уровня - на многих языках мира.
Т.е. большое кол-во залогиненых пользователей.
На этапе проектирования, не станет ли узким местом друпал. Или же все таки создавать систему например на yii(или другом php подобном).
Также интересно как поведет себя нагрузка на mysql, т.к. в 7ке фактически под каждое поле своя таблица.

Аватар пользователя petrovnn petrovnn 8 февраля 2012 в 22:56

Что за бюджет на этот супер-мега проект, и сколько человек над ним будут работать? Один человек вряд-ли потянет такой проект YII.

Аватар пользователя chel chel 8 февраля 2012 в 23:02

неограниченно человек будут работать над проектом (бюджет есть), вопрос не в этом, а в то, какую фреймворк или cmf выбрать

Аватар пользователя petrovnn petrovnn 8 февраля 2012 в 23:20

Что значит неограниченно?
5-10? или 100? это разные вещи.

Если бюджет есть, берите лучше YII, качественнее сделаете, хотя смотря какой бюджет, надо на цифру смотреть.

Аватар пользователя chel chel 11 февраля 2012 в 2:55

GAVR100, не знаю ruby, все никак тестовый-блог-урок не доделаю на нем, хотя впечатления от рельсов шикарные.
плюс не скажешь ведь работодателю : "ты пока пожди мы тут рельсы поучим и руби" Smile