ZF || YII || Рельсы ||?

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

Сам по себе я PHP-программер, выросший из C/C++, последние три года — активный Drupal-разработчик.

Давно хотел изучить что-то ещё, так как стрёмно хорошо знать только один предмет.

И тут судьба подкинула идею создания одного сервиса, собрался было делать на Drupal, но задумался озвученным в тайтле вопросом.

Технически сервис из себя будет представлять кучу формочек и статистику + импорт данных из CSV + активное взаимодействие с внешним API по крону.

Обязательна нужна удобная генерация форм и аякс.

В этом плане Drupal меня устраивает, но он тяжеловат для сервисов, особенно последние версии.

За что браться, куда бежать? MVC как такового я не знаю.

Пока присматриваюсь к Zend Framework и Yii.

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

Вчера посмотрел Ruby On Rails — приятненько.

Так же, есть критерий, найду ли я потом работу/фриланс на фреймворке, с зендом мне кажется никогда не пропадёшь, а вот про Rails слышал, что изучить его мало, попробуй ещё устройся на работу рельсовиком.
  • Вопрос задан
  • 8710 просмотров
Пригласить эксперта
Ответы на вопрос 17
rakot
@rakot
Насколько я слышал Yii черпает вдохновение из рельсы. Покрайней мере очень часто слышу что они похожи. По поводу Zend Framework ни разу, ни от кого, не слышал положительных отзывов, все говорят одно и тоже «Отличный сборник готовых классов».

Если вам нравится Ruby On Rails, то на вашем месте остановился именно на нём. Вакансий на руби конечно меньше чем PHP, но и разработчиков на заметно меньше, да и квалификация разработчиков в среднем заметно лучше. К слову, уровень зарплат на руби выше чем на PHP.

Еще 1 огромный бонус, если вы пойдёте работать рубистом. то всегда будете разрабатывать на рельсе, а не как в случае с PHP вам попадётся ненавистный фреймворк/cms/движок на котором вас ломает писать.
Ответ написан
weralwolf
@weralwolf
Сугубо личное мнение: Yii изящнее, лаконичнее, удобнее ZF, в него проще въехать. В Yii Вы получаете костяк приложения, к которому удобно цеплять нужные компоненты. ZF — конструктор, который лишь намекает как с ним правильно работать. В придачу, Yii реализует из коробки свойства, события и поведения, которые, если потратить чуть времени и разобраться, оказываются очень удобными. К тому же, к Yii очень легко прицепить нужную компоненту из ZF, (это может быть модуль почты, генератор РСС или чтото в этом духе).
Почему использовать Yii, если там нет всего? С этого я начал. Yii дополненый, в случае необходимости, компонентами из ZF приятнее самого ZF.
В техническом представлении сервиса были кронтаски, поэтому замечу, что как в Yii так и в ZF есть инструменты для создания консольных приложений, которые, деля с вэб частью код моделей и прочих класов, намного лучше подходят для сервисных задач уже тем, что самодостаточны, запускаются напрямую из консоли и не требуют дергать себя через веб-запрос.

За рельсу не скажу, а nodejs хорош. Не уверен, что есть смысл писать на нем полностью веб приложения, но выносить высоконагруженные апи, которым нужно плеваться JSONом, либо чтото, на что хорошо ложится событийно-ориентированный подход (веб-чатик, к примеру) вполне.
Ответ написан
@egorinsk
Используйте Yii, если хотите писать на PHP, и что-нибудь самописное если нравится Руби. ZF — редкостный тормоз и пример оверинжиниринга, там для простой задачи надо 20 классов и их через-какую нибудь депенденси инжекшен еще свзяать между собой. Такое ощущение, что его разработчики поклонники Явы.

А, еще ни за что не используйте OpenSource CMS на PHP. Они написаны в дурном стиле и некачественно, тормозят, а любая попытка что-то модифицировать в них чревата разрушением мозга (особенно система шаблонов в Друпале).
Ответ написан
@Progrik
Посмотрите обязательно Django. Или лучше пообщайтесь с хорошим джангистом, думаю, это как раз то что вам нужно.
Ответ написан
d4rkr00t
@d4rkr00t
То же, как-то задавался таким вопросом, только список был немного другим, был еще Django и с yii к тому времени уже работал. По django прочитал книгу, поигрался, не понравилось, попробовал рельсы и влюбился, сейчас заканчиваю проект на рельсах и начинаю еще один, но работаю пока на php.

О выборе ruby on rails не жалею, очень удобная вещь, быстро развивается и море готовых гемов 90% всего что приходится делать добавляется гемом и парой строк кода.
Ответ написан
@Dialog
yii прост в изучении, легок в работе, легко расширяем
RoR… надо бы поучить, но в целом это вещь
zend… староват уже и тяжеловат
node.js не подходит для вашей задачи
Ответ написан
png
@png
>>ZF || YII || Рельсы ||?
Посмотрите в сторону Symfony2
для БД/XML маппинга Docrine 2.1
для тестинга PhpUnit/Bedhat/Mink

По идеологии очень близко к Rails. Все то, что вам понравилось в rails, возможно, вы найдете в Symfony.
Rails 3 — вообще красота. Очень советую.

ZF по сравнению с Symfony по хуже… Особенно если читать сорцы ZF. Не знаю, чего они курили, но местами просто жесть… ИХМО, не гибко, не удобно.

YII — касался косвенно пару раз, ИХМО, лучше чем ZF.

В ZF есть хорошие и удобные компоненты, например, Zend_Soap, которые сильно упрощают жизнь. Так что в сторону ZF смотреть можно, но Zend_Application, ИХМО, ужасен.
Ответ написан
ilyaplot
@ilyaplot
PHP программист
Yii хорош, но он новый, потому еще не так широко известен. Zend действительно содержит много велосипедов, но он стар. Это и преимущество и недостаток. Про Rails слышал много хорошего, но практически не встречал проектов на нем. Все зависит от задачи. Вам в любом случае нужно узнать MVC.
Ответ написан
akzhan
@akzhan
Rails — очень удобный каркас, единственное, надо быть готовым к тому, что он кушает много оперативной памяти.

Если это неприемлемо, смотрите Sinatra (или Node.JS + Express).
Ответ написан
@eresik
С Zend знаком «одним глазком», о рельсах — «иногда почитываю», yii — использую в работе.

Чтоб не вдаваться в подробности, о тенденциях можно узнать из гугл трендс.
По тенденциям — перспективен yii
www.google.com/trends?q=yii%2C+ruby+on+rails%2C+zend&ctab=0&geo=all&date=all&sort=1
Ответ написан
zizop
@zizop
В принципе все варианты неплохие. Меня ZF полностью устраивает. Большое количество велосипедов стандартных решений уже реализовано и оттестировано.
Главное отличие ZF от остальных — он менее монолитный. Вы можете использовать только некоторые модули из него, что благоприятно сказывается на скорости освоения. Для формочек есть генераторы кстати.
Ответ написан
Если MVC не знаете, то ZF я бы исключил (как фреймворк, как библиотеку классов на все случаи жизни — годно) — там слишком легко писать не MVC, думая что пишешь MVC. Начинать на незнакомом языке маломальски серьезный проект не советовал бы — больше приходится «воевать» с языком, чем с задачей. Методом исключения остаётся yii. Плюс у него активное русскоязычное сообщество. Посоветовал бы ещё глянуть в сторону symfony, если даже не использовать, то хоть представление о MVC можно получить из одной главы symfony book на примере «голого» PHP — наверняка многое будет знакомо :) symfony.com/doc/current/book/from_flat_php_to_symfony2.html
Ответ написан
un1t
@un1t
Я бы выбирал между рельсами и джангой. Мой выбор джанга.
Если вы не в Москве и Питере то работу по данным вакансиям действительно найти тяжело, но это того стоит)

Джангу юзают например в том же Яндексе.
На субботнике в екб они делали доклад в котором раскрывается почему именно джанга
Ответ написан
Vit228
@Vit228
80% backend developer, 20% frontend developer
присмотрись еще к symfony v1.4, там тебе будет генерация всего и вся, плюс создание и работа со всями api там тоже очень проста.
обучение тебе окупится т.к. работу симфонисту найти тоже совсем не сложно,
единственный минус симфы1.4, это ее тормознутость(по сравнению с yii), но раз уж ты рассматриваешь zf то рассмотри и sf
Ответ написан
petrovnn
@petrovnn
веб-разработчик
К статистике гугло-трендов добавил джангу. Ну ради интереса.

http://www.google.com/trends/?q=yii,+ruby+on+rails,+zend,+symfony,+django&ctab=0&geo=all&date=all&sort=1

Кстати, а почему ТС ее не рассматривает?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы