пятница, 22 января 2010 г.

Нужна ли Java на веб-морде или зачем зайцу пятая нога

Я пришел к выводу что язык Java не есть лучший выбор для web интерфейса.

Причины:
  • Внесение изменений в контроллеры требует перезагрузки приложения в аппликейшен сервере (кроме простых случаев когда достаточно java hot swap ).
  • Сам язык Java является представителем семейства C++ подобных языков и плохо подходит для Web, нужно делать слишком много лишний движений сравнительно со скриптовыми языками. На ruby, python или groovy получается в два-три раза меньше строк кода чем на Java, работа с коллекциями, мапами на скриптовых языках намного приятнее, операции с строками тоже лучше, а нам для веба больше ничего и не нужно потому что вся логика вынесена в business logic layer (BLL)
  • По вышеуказанным причинам продуктивность работы web девелопера ухудшается. Когда я стал программировать на grails, то скорость разработки возросла примерно в полтора-два раза.
Поэтому есть смысл использовать
  • Grails (проверено опытом)
  • Spring MVC c контроллерами на cкриптовых языках (проверено опытом)
  • Wicket Groovy (нужно еще разобраться)

5 комментариев:

Dmitry Utkin комментирует...

В принципе всё верно и со всем согласен, но вот есть такой зверь как Play framework, который для людей, которые хотят оставаться на знакомой Java, может быть едва ли не более продуктивным инструментом для веба. http://www.playframework.org/ там есть хороший скринкаст, чтобы оценить эту штучку.

Sergey Grigoriev комментирует...

Посмотрел на playframework, очень интересная вещь. Похоже на grails, но есть и принципиальные отличия. В доке написано что playframework не основан на Java Servlet API. Видно что создатели playframework решили сделать лучший в мире веб фреймворк не особо заботясь об J2EE или Spring. Grails наоборот использует Spring и J2EE web стандарт. Playframework более lightweight чем Grails.

Andriy Andrunevchyn комментирует...

Дебагати грейлс можна?

Sergey Grigoriev комментирует...

Можно.

ukando комментирует...

Очень интересный плей!
Тоже склоняюсь в его сторону для веба