Являются ли Ruby on Rails / Grails самыми быстрыми фреймворками для быстрого создания сайтов?

Являются ли Ruby on Rails / Grails самыми быстрыми фреймворками для быстрого создания сайтов?
Являются ли Ruby on Rails / Grails самыми быстрыми фреймворками для быстрого создания сайтов? - rstone_design @ Unsplash

Я рассматриваю возможность использования Grails для нового сайта, но я открыт для других/новых языков программирования и фреймворков. Я занимался разработкой с использованием J2EE/JSF2, ASP.NET и PHP. Является ли Grails или Ruby on Rails практически лучшим способом быстро запустить функциональность?

Некоторые первые мысли:

  • DJango похож на RoR/Grails, и я бы рассмотрел его.
  • GWT - интересная концепция, но кажется, что время выполнения не такое быстрое.

Спасибо, Джон

Как и на все вопросы такого рода, ответ «это зависит»

Факторы, которые следует учитывать, включают в себя то, насколько вам комфортно работать с языком/фреймворком и какие функции требуются для проекта. Сказав это, я создавал сайты, используя ряд фреймворков, каждый из которых имеет свои сильные и слабые стороны:

Грааль

Если мне нужно быстро создать сайт для чего-то профессионального, Grails, вероятно, будет моим первым выбором. GORM , безусловно, самый простой и интуитивно понятный ORM, который я пробовал, парадигма MVC очень хорошо реализована, нет конфигурации для начала кодирования (не беспокойтесь об URL-адресах, исправлениях БД и т. д.), очень быстрая итерация (просто обновите страницу), бесшовная интеграция с Java (хорошая вещь в деловом мире) и несколько замечательных плагинов (например, Доступный для поиска — это красиво). Самым большим недостатком является то, что хостинг может быть трудно найти (и дорого).

Рубин на рельсах

Мой опыт работы с RoR очень похож на опыт использования Grails: MVC хорошо реализован. С положительной стороны, у него более широкое сообщество, поэтому онлайн-ресурсы (документация, часто задаваемые вопросы, примеры кода и т. д.) очень многочисленны, есть ТОННЫ плагинов, Ruby немного более гибкий/выразительный/"причудливый", и гораздо проще найти хостинг (особенно для личных проектов); с другой стороны, управление зависимостями/настройка отстой (я использовал RubyGems в Windows, Ubuntu, Fedora и OSX и столкнулся с нетривиальными проблемами на каждом из них), немного больше настроек/накладных расходов, чем у Grails (в частности, имеет дело с route.rb и кучей файлов миграции БД), и, по-видимому, у RoR есть серьезные проблемы с масштабируемостью.

PHP (включая фреймворк CakePHP)

Если мне нужно быстро что-то взломать или создать сайт для личного пользования, я, вероятно, выберу PHP. PHP, безусловно, самый простой язык для изучения и развертывания: загрузите любой из удобных пакетов LAMP, щелкните пару раз и начните хакать. Сообщество больше, чем у RoR, поэтому документации много, и есть бесчисленное множество плагинов (легко «установить», просто вставив файл php и обновив страницу). Язык прост в изучении, но некоторые вещи в PHP совершенно странные, и требуется много дисциплины, чтобы избежать уродливого кода. Фреймворк CakePHP реализует красивую парадигму MVC, помогающую поддерживать порядок, и по большей части находится на одном уровне с RoR, хотя лично мне он показался немного более неинтуитивным.

Java (сервлеты, JSP, JSTL, стойки, Velocity)

Я создал много сайтов, используя технологии сервлетов Java, и я могу честно сказать, что в настоящее время нет веской причины выбирать их для любого нового сайта. У них крутая кривая обучения, тонны конфигураций, с которыми нужно бороться (XML-ад), медленная итерация из-за необходимости постоянно переустанавливать материал (если только вы не используете JRebel), многословный код и отсутствие «халявы» с точки зрения функциональности. Я поигрался с Play! Framework и Spring Roo, и оба делают очень классные вещи с более или менее «чистым» Java-кодом, и заслуживают дальнейшего изучения.


LetsCodeIt, 26 мая 2023 г., 00:10