Я рассматриваю возможность использования Grails для нового сайта, но я открыт для других / новых языков программирования и фреймворков. Я сделал разработку с использованием J2EE / JSF2, ASP.NET и PHP. Является ли Grails или Ruby on Rails лучшим способом для быстрого запуска и запуска функциональности?
Некоторые начальные мысли:
- DJango похож на RoR / Grails, и я бы подумал
- GWT - интересная концепция, но не похоже, что время выполнения заказа так быстро
Спасибо, Джон
programming-languages
frameworks
web-framework
Джон Онстотт
источник
источник
Ответы:
Как и на все вопросы такого рода, ответ «это зависит». Факторы, которые следует учитывать, включают в себя, насколько вы комфортно владеете языком / структурой и какие функции требуются проекту. Сказав это, я построил сайты, используя несколько фреймворков, каждый из которых имеет свои сильные и слабые стороны:
Grails
Если мне нужно быстро создать сайт для чего-нибудь профессионального , Grails, вероятно, будет моим первым выбором. GORM далеко и далеко наиболее простым и интуитивно понятным ОРМ , что я пробовал, парадигма MVC очень хорошо выполняется, есть 0 конфигурация для запуска не кодирования (не беспокоиться о URL, DB патчи, что угодно), очень быстрой итерации (только обновления страницы), бесшовная интеграция с Java (хорошая вещь в мире бизнеса) и несколько замечательных плагинов (например, Searchable - вещь прекрасная). Самым большим недостатком является то, что хостинг может быть трудно найти (и дорого).
Рубин на рельсах
Мой опыт работы с RoR очень похож на опыт Grails: MVC хорошо выполнен. С положительной стороны, у него более широкое сообщество, поэтому он-лайн ресурсы (документация, FAQ, примеры кода и т. Д.) Очень многочисленны, есть МНОГИ плагинов, Ruby немного более гибок / выразителен / «фанк», и это гораздо проще найти хостинг (особенно для личных проектов); с другой стороны, управление / настройка зависимостей - отстой (я использовал RubyGems в Windows, Ubuntu, Fedora и OSX и столкнулся с нетривиальными проблемами в каждой из них), конфигурация / издержки немного больше, чем в Grails (в частности, имеет дело с rout.rb и тоннами файлов миграции db), и, очевидно, у RoR есть некоторые серьезные проблемы с масштабируемостью.
PHP (включая фреймворк CakePHP)
Если мне нужно быстро что-то взломать или создать сайт для личного использования, то я, вероятно, пойду с PHP. PHP далеко и далеко самый простой язык , чтобы узнать и развертывание: скачать любого из удобных пакетов ЛАМПЫ там, нажмите пару раз, и начать рубили. Сообщество больше, чем сообщество RoR, поэтому документации достаточно, и есть бесчисленное множество плагинов (их легко «установить», просто вставив файл php и обновив страницу). Язык прост в изучении, но некоторые вещи в PHP просто странные, и требуется много дисциплины, чтобы избежать уродливого кода. Инфраструктура CakePHP обеспечивает хорошую парадигму MVC, которая помогает поддерживать порядок, и по большей части находится на одном уровне с RoR, хотя лично я нашел ее немного более неинтуитивной.
Java (сервлеты, JSP, JSTL, Struts, Velocity)
Я создал много сайтов с использованием технологий Java-сервлетов, и я могу честно сказать, что в настоящее время нет веских причин выбирать их для любого нового сайта. У них есть крутая кривая обучения, тонны конфигурации для борьбы (XML ад), медленная итерация из-за необходимости постоянно перераспределять вещи (если вы не используете JRebel), подробный код и отсутствие «халявы» с точки зрения функциональности. Я играл с Play! Framework и Spring Roo немного, и оба делают очень классные вещи с более или менее «чистым» Java-кодом и заслуживают дальнейшего изучения.
источник
При использовании CakePHP я могу раскрутить веб-приложение быстрее, чем ... действительно быстрый парень. Во всяком случае, это быстро. Удалите файлы в корневой веб-папке, настройте два файла (около трех строк для изменения в каждом). И начать кодирование.
Поскольку он предпочитает соглашение по конфигурации, ему потребуется некоторый опыт, чтобы убедиться, что он настроен оптимально, но я гарантирую, что при одинаковом уровне опыта CakePHP обеспечит самое быстрое развертывание из любой инфраструктуры, возможно, за период .
Тем не менее, оригинальный проект CakePHP был клоном rails в PHP (он больше не существует), поэтому я уверен, что rails также быстро разворачивается.
источник
Я работаю с ASP.NET MVC уже некоторое время, и мне показалось, что это чертовски хороший фреймворк. Чрезвычайно прост в использовании, особенно если вы знакомы с .NET. Среда быстро развивалась с момента ее выпуска в 2009 году, недавно был опубликован предварительный просмотр MVC 3. Я думаю, что MS делает все правильно с ASP.NET MVC Framework.
источник
Я не использовал все, но Rails чертовски быстр. Я ожидаю, что Grails тоже, поскольку он воплощает философию DRY довольно хорошо. Я не знаю достаточно о других динамических языковых структурах, чтобы сказать.
Даже с хорошими стратегиями генерации кода мой ASP.NET (веб-формы) не кажется таким эффективным.
источник
Я баловался с Django и Rails и нашел Rails по своему вкусу. При этом я предпочитаю ASP.Net MVC 2 намного лучше, чем Rails. Я гораздо быстрее в MVC (или даже просто в веб-формах), чем в Rails, просто потому, что мой ум «лучше работает» с C #.
Для меня все сводится к тому, что вы знаете и что вам нравится. Я слышал от многих людей, что Руби - это весело, не для меня это не так. C # это весело! Хаскель это весело! Если вам не нравится язык / фреймворк, то вы не будете так быстро, как «медленный» фреймворк, который вам нравится.
источник