рекомендация по выбору нового стека веб-разработки - PullRequest
4 голосов
/ 25 октября 2009

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

У нас есть дюжина из них, построенная с использованием самодельной инфраструктуры с asp-classic, работающей с сервером ms-sql.

Мы оцениваем переход на новый стек разработки.

Мы бы хотели, чтобы оно было открытым (бесплатным) и простым.

Я искал java-веб-фреймворки, но все они кажутся чрезмерно перегруженными для наших нужд (за возможным исключением http://www.playframework.org/,, который я пока не мог изучить ...)

Мы думаем о переносе нашей собственной платформы в этот новый стек, а не о внедрении совершенно нового стека, о котором мы не знаем ...

До сих пор мы думаем о следующих возможностях

  • обычный java - jsp - jsf

  • groovy - gsp (вообще без грааля)

  • jruby (без рельсов вообще)

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

Я не вижу маленьких и простых веб-фреймворков для Java, как, например, для php или ruby ​​...

Мне действительно нравится groovy, но я не вижу веб-реализаций за пределами grails ... Кроме того, документация по языку не кажется полной (возможно, я смотрю не в том месте)

php может быть вариантом, но я думаю, что было бы трудно отстаивать его в моей текущей работе ...

любой другой вариант, совет, плюсы и минусы?

спасибо большое

- редактировать

некоторая связанная ссылка Кто-нибудь может порекомендовать простую инфраструктуру веб-приложения Java?

Ответы [ 7 ]

4 голосов
/ 25 октября 2009

Я бы посоветовал вам еще раз взглянуть на Грааля. Он использует спящий режим и пружину под крышками, но в большинстве случаев вам не нужно знать детали этих структур. Существует большое сообщество и множество документации / блогов / списков рассылки для поддержки, а также процветающее сообщество плагинов с более чем 300 плагинами, решающими практически любые потребности.

Если вы по-прежнему отстали от Грааля, вы можете заглянуть в игровую рамку . У меня нет никакого опыта с этим, но в последнее время было некоторое движение вокруг этого на хакерских новостях и т.п. Я знаю, что он использует groovy для языка шаблонов.

2 голосов
/ 27 октября 2009

Если вы боитесь Grails и нуждаетесь в Java, попробуйте Stripes и прочитайте отличную книгу по Stripes (http://www.stripesbook.com/blog/).. Вы можете купить электронную книгу в формате PDF за 23 доллара США. Книга охватывает фреймворк с удивительной детализацией. Stripes очень Прочная и легкая инфраструктура MVC, которая решает все распространенные проблемы веб-разработки (шаблоны, сопоставление URL-адресов, проверка формы, безопасность, интернационализация, тестирование), но не будет автоматически создавать слой базы данных для вас, если вы этого не захотите с помощью Stripernate. Вы также можете использовать Groovy с ним. Вы можете использовать его отдельно или с Spring.

2 голосов
/ 25 октября 2009

Вы забыли о другом главном игроке в этой области: стек LAMP (linux, Apache, MySQL и mod_perl). Все компоненты бесплатны, доступно множество книг по разработке LAMP и каждому из этих компонентов, а также доступно огромное количество библиотек и компонентов.

2 голосов
/ 25 октября 2009

Я не могу ничего порекомендовать, но настоятельно рекомендую рассмотреть следующие вопросы:

  • Быстрое развитие. В основном вы хотите сохранить файл подкачки и перезагрузить его в браузере. Мгновенно! Это можно сделать, не соглашайтесь на длительное время развертывания.
  • Простые, читаемые текстовые файлы!
  • Обычное кодирование вместо явного кодирования - большие XML-файлы в конечном счете приведут в бешенство одного или нескольких разработчиков. Чем меньше, тем лучше.
  • Хорошая поддержка инструментов (может помочь большая раскраска синтаксиса)
  • Подумайте о долгосрочной поддержке на ваш выбор. Вы в основном вступаете в повторный брак со своим программным обеспечением - это будет все еще поддерживаться через 10 лет? Кем? Будут ли у вас альтернативы (JSR великолепны - посмотрите на количество движков сервлетов)?

И КОГДА вы выбираете - получите исходный код для него и убедитесь, что он собирается правильно. Это никогда не будет легче, чем сейчас, и однажды вам нужно будет что-то исправить внутри. В короткие сроки! (Вы можете даже рассмотреть возможность выделения ресурсов для пожертвования документации / исправлений / времени на проект с открытым исходным кодом, на котором вы строите свой бизнес).


РЕДАКТИРОВАТЬ: Еще несколько вещей:

  • Вы хотите иметь возможность проверять вещи во время компиляции. Одна из вещей, которые позволяют строить соборы в Java, заключается в том, что статическая проверка типов предотвращает множество неприятных ошибок во время выполнения. «О, ЭТО метод? Ну, его здесь нет, извините. Бум!»
  • Вы хотите хорошо сообщение об ошибке. Встроенный! Попробуйте бросить NullPointerException вглубь, вглубь и посмотрите, что 1) пользователь и 2) разработчик говорят об этом. Все, что требует перехода в файл журнала для получения подробной информации, в конечном итоге вызовет вызовы в 3 часа ночи.
  • Посмотрите на масштабируемость с самого начала. Потребуется любой нетривиальный клиент, и мир станет многоядерным, так что вы можете подумать об этом уже сейчас. Что вы будете делать, когда вся пыль производительности волшебного пикси была использована, а этого недостаточно: приложению требуется больше, чем одна коробка.

И прочитайте это: http://www.pragprog.com/titles/mnee/release-it

1 голос
/ 03 марта 2010

Моя платформа выбора - JRuby - Rails (3) из-за ее очень богатой и мощной экосистемы, но в основном потому, что:
* очень прост в использовании
* много МНОГО библиотек
* быстрая поддержка через IRC
* глубокая документация

Вы также можете проверить Scala + Lift Web Framework (imho лучший статический типизированный язык, хороший фреймворк)

1 голос
/ 29 октября 2009

Если вам нравится Groovy, но не нравится Grails, вы можете попробовать Gaelyk , который представляет собой легкий фреймворк Groovy. Однако, AFAIK, вы можете использовать Gaelyk, только если вы размещаете приложение на Google App Engine

Если ваши приложения не будут размещаться в GAE, и вы действительно не хотите использовать Grails, другой вариант - использовать Groovlets , Groovy-сервлет шаблона , GSP.

Однако лично я считаю большой ошибкой увольнение Грааля. Это действительно отличный фреймворк, и вы можете пройти долгий путь, не разбираясь в Spring и Hibernate. Одна из ваших жалоб - отсутствие документации Grails. Я думаю, вы, наверное, искали не то место, потому что в дополнение ко всем доступным книгам на сайте имеется очень обширный справочный документ и много другой документации . Наконец, есть очень активный список рассылки .

1 голос
/ 25 октября 2009

Я имел большой успех в простых веб-проектах, использующих Spring MVC с JSTL JSP. Spring MVC - это фреймворк, который может быть довольно прост (1 дополнительный XML-файл используется для конфигурации). Вы можете отказаться от всех необычных опций и просто указать набор JSP, которые вы хотите связать с именами представлений, а затем перейти к этим представлениям, указав их имена в контроллере.

Spring MVC также может легко масштабироваться и быть настолько сложным, насколько вам нужно, позволяя вам переключаться с JSTL на JSTL с Tiles, или Struts, или JSF, или Wicket. Он также может обрабатывать сложные веб-потоки с помощью проекта Spring Web Flow . Но для большинства проектов я просто сохраняю это простым - создаю JSTL JSP, создаю контроллер, который предоставляет объекты, которые нужны JSP, и связываю их, когда контроллер возвращает это представление. Как только вы настроите проект и ознакомитесь с конфигурацией, может понадобиться пара минут, чтобы подключить новую страницу.

...