Java « Java Web Development с нуля — ресурсы, книги, материалы для изучения

Всем привет и всех с днем программиста! :)

Начну, пожалуй, с себя...
Я программист PHP с опытом около 5 лет, есть достаточно неплохие знания ООП, основных шаблонов проектирования, в частности, MVC. Работал с фреймворком Kohana, теперь перешел на Yii, чему очень рад. :)

Давно уже присматриваюсь к разработке веб-приложений и сайтов на Java. До этого был небольшой опыт программирования на Java консольных и десктопных приложений.

Хотелось бы услышать мнение опытных разработчиков:
  1. Реален ли переход (полностью или частично) с PHP на Java Web при наличии перечисленных выше знаний и опыта? Что необходимо изучить?
  2. Посоветуйте, пожалуйста, ресурсы, книги, необходимые для изучения Java Web. У меня есть только 2 книги по Java - 1 и 2 том Java 2 (К. Хорстманн, Г. Корнелл). Но Java Web, насколько я помню, там не описывается.
  3. Было бы очень здорово, если бы вы описали различие архитектуры построения веб-приложения на Java и на PHP, и вообще особенности работы веб-приложения на Java.
  4. Какие есть MVC-фреймворки (или не MVC)? Их ключевые особенности.
  5. Требования к серверному ПО, к железу.
  6. Насколько сложнее deployment проекта на Java в сравнении с PHP? Слышал о maven, знаю, что это сборщик, который делает все сам, и даже подгружает недостающее, но на этом мои знания и заканчиваются.
  7. Любые ваши комментарии.

1 ответов


Стоит присмотреться к Groovy и соответственно к web фреймворку Grails


Переход конечно реален. 

Могу порекомендовать для лёгкого старта Play Framework (1ой версии, т.к. второй больше с уклоном на Scala). Плюсы фреймворка в том что он очень простой в изучении, что упростит переход. 

Из более серьёзных технологий - Spring Framework. Раз вы знакомы с MVC то трудностей освоить Spring MVC быть не должно.

С maven'ом тоже очень желательно разобраться, т.к. жить без него будет трудно. Ну и для более крепкого фундамента нужно хотя бы пробежаться по Java SE.


У меня опыта не было. Помогли курсы Ивана Головач http://kharkovitcourses.blogspot.com/
Сейчас смотрю в сторону функциональных языков.