Новый проект: Ruby on Rails или Symfony2 (или другой фреймворк) - PullRequest
9 голосов
/ 16 августа 2011

Я собираюсь начать новый проект, и я зациклен на том, какой язык / рамки использовать.Я был программистом PHP профессионально, но это не было в масштабах этого проекта.Я играл с RoR, и я до сих пор очень впечатлен.Прямо сейчас, двумя ведущими кандидатами являются RoR и Symfony2.

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

Мои основные зависания с Symfony2: - документации для этого практически нет.Symfony1.x?конечно .. но не symfony2 - там тоже мало поддержки.BB на их сайте - это 80% спама.- пошел установить его в локальной среде разработчика, не смог даже запустить его (см. мое первое зависание)

этот проект будет довольно сложным и выйдет за рамки основных операций CRUD.это не в очень сжатые сроки, но есть один.~ 3 месяца для milestone1, который по сути является календарем, некоторыми финансовыми организациями (не транзакциями с финансовыми учреждениями, просто личными финансовыми организациями) и менеджером проекта / cms.

также я открыт дляиспользуя другие фреймворки, но Symfony2 кажется лучшим сейчас.если бы у symfony2 была поддержка / документация / учебные пособия / etc в RoR, это было бы просто.

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

некоторые другие подвопросы (которые сейчас у меня в голове): - если вы рекомендуете другой php framework, почему?- Что вы больше всего испытываете при любом из упомянутых вариантов?

Я знаю, что CakePHP ближе всего подходит к RoR, но я читал, что модели немного шаткие (многие ко многим отношениям и тому подобное).

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

Любой совет, который вы могли бы предложить, будет с благодарностью.спасибо!

Ответы [ 5 ]

22 голосов
/ 16 августа 2011

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

Я использовал Ruby или Rails.На самом деле, у нас есть несколько производственных приложений, которые используют RoR.Лучший способ узнать RoR - это работать над небольшими проектами.Я бы никогда не подумал о том, чтобы выбрать язык программирования, с которым я не знаком, а затем изучил бы новую среду, чтобы начать кодировать большой проект.

Что касается Symfony2, мы начали использовать его парунедель назад.Symfony2 - отличный фреймворк и выглядит очень многообещающе.Это чисто, красиво отделено и быстро.Тем не менее, мы столкнулись со слишком многими ошибками / головными болями / несоответствиями в Symfony2, чтобы продолжать его использовать.Мы начнем работать над ним снова, когда он созреет и документация будет расти (многие документы устарели).Надеемся, что они выпустят своего рода учебник по Jobeet, но для Symfony2.

Переход к CakePHP.Кодовая база CakePHP старая.На самом деле, он отлично работает на PHP 4.3.2.Он не использует всех преимуществ, которые может предложить PHP5 (абстрактные классы, интерфейсы, частные и защищенные свойства, исключения, магические методы, аннотации, передача объектов по ссылке и т. Д.) Уровень абстракции базы данных CakePHP, хотя в нем и были улучшения, не является невероятно эффективным, когда структура вашей базы данных становится слишком сложной (например, для многих соединений), она очень сильно рушится.

Переход к Symfony 1.4, который я использовал для многих крупных проектов

Iнаслаждайтесь, потому что:

  1. PHP5
  2. Система событий
  3. Внедрение зависимостей
  4. Система кэширования
  5. Формы (хорошая интеграция в Doctrine2) На самом деле это моя любимая функция.
  6. Множество плагинов (например, sfGuard для управления пользователями)
  7. Twig (хороший язык шаблонов)
  8. Настраиваемая конфигурация
  9. Масштабируемый (хотя и не так быстро, как Symfony2)
  10. Много документации (урок Jobeet великолепен)

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

Переходите на RoR, когда у вас есть небольшой проект.

Только мои 2 цента.

Удачи.

9 голосов
/ 13 января 2012

Это старая тема, но все немного изменилось, и я бы порекомендовал Symfony2. Их текущая документация великолепна (symfony.com), и ее гораздо легче выучить для новичков. Я попробовал RoR, но с Symfony я стал гораздо быстрее.

9 голосов
/ 16 августа 2011

Для меня Symfony2 был великолепен. Документация скудна по сравнению с Symfony1.x, но гораздо проще начать работу с Sf2, и, поскольку все очень четко, требуется меньше знаний о том, как работает внутренняя структура.

Существует скрипт app / check.php, который предупредит вас о любой зависимости, необходимой для его запуска, и поддержка в основном происходит в их списке рассылки , который очень активен (даже не знал, что был BB). Некоторые компоненты, такие как Twig , также имеют свои собственные списки.

2 голосов
/ 28 апреля 2015

Я поражен тем, как никто не упомянул супер богатое сообщество GEM для Ruby и, следовательно, для Ruby on Rails, там просто так много функциональности, так много людей работают над многими проектами MIT / open source.Для меня сообщество - это то, что заставляет меня выбирать одну основу вместо другой.Количество конфигураций и различных шаблонных движков, так много всего для ruby ​​на рельсах.

Для сравнения сравните это:

http://vschart.com/compare/doctrine-php/vs/ruby-on-rails

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

0 голосов
/ 21 августа 2012

Я повторю комментарии Solarc о Symfony 2. Я использовал его для пары небольших проектов и на этой неделе начинаю что-то более амбициозное.Я хотел бы увидеть полное руководство в стиле Jobeet, но основная документация достаточно хороша, чтобы начать работу с IMHO.Я прочел это внимательно и узнал несколько вещей, которые я упустил, используя документацию в качестве простой ссылки.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...