Java EE, з чого почати?

Зразу до діла. Маю досвід у розробці під .NET, а саме активно зараз використовую ASP.NET. Колись вчив Java, далі починав розробляти на ній під Android. Але все ж потягнуло мене у веб, і так як досвід з C# був більший я обрав ASP.NET. Але мені цікаво, з чого можна почати вивчення Java EE? Її особливості у розробці під веб, бо наразі неможу найти якогось єдиного матеріалу по цьому, щоб нормально ознайомитись із даною технологією. Куди дивитсь, що почитати?

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Присоединяюсь к советам про Spring.

Можливо стане у пригоді www.bookzone.com.ua/...ogue_43850.html

Придерживаюсь идее обучения через практику. В конкретных реализациях JEE существует несчетное количество различий в конфигурации и особенностей. Что частенько приводит к забавным последствиям.

Просто запустить зачастую не получится. Думаю, после .Net платформы вы ощутите это в полной мере (был опыт разработки под .Net немного).

Как рекомендовали ниже имеет смысл глянуть в сторону Spring. В нынешний момент имеется отлично разжёванная документация и гайды по каждой из библиотек. Все это на официальном сайте spring.io .

Придерживаюсь идее обучения через практику.

Неплохой способ — нагуглить пример проекта на GitHub, скачать и ковырять его, практиковаться.

Начать с того, что от Java EE 30+ спецификаций используется максимум 4-5, EJB 1-2.х старые и неповоротливые давно заменили легковесным Spring-ом, хотя EJB 3.2 довольно приличный. Java EE слишком большая чтобы ее учить целиком. Hibernate использует под собой JPA, но вникать во всю спецификацию тоже нет смысла. Фронт сейчас на JSP практически не пишут, а если и встречаются, то только как вспомогательные вещи.

Начните с этих книг, может пойдет:
1) Head first java — основы самой Java, после C# будет очень легко
2) Head first servlets and jsp 2nd edition, лучшая книга по сервлетам/JSP из существующих, может есть 3-е издание.
3) Что-нибудь про веб-контейнеры и application server
Как пойдет, можно сюда же подключать Java Mail, Веб-сервисы, JPA и т.д. по необходимости.

ну я бы посоветовал посмотреть ороклячий туториал по EE7 docs.oracle.com/...7/tutorial/doc вот тут там поверхностно но в целом хороший обзор платформы
Просто почитай подумай оно тебе надо или нет

Для начала нужно усвоить разницу что Java EE != server side java. Если быть точнее то server side java включает в себя Java EE, но не наоборот.

Java EE это набор спецификаций под каждую из которых может быть несколько реализаций в зависимости от аппликейшон сервера.
Иногда по ошибке Java EE проектам называют проекты на Spring, Hibernate, но это не так.
Если желаете ознакомиться с Java EE то почитайте «Java EE 7 Essentials» от Аруна Гупты.
Если имелось ввиду веб на джаве то посмотрите Spring, JPA/Hibernate.
В последнее время часто используется Spring + JAX-RS + JPA на серевере и какой-нибудь JavaScript MVC фреймворк на фронтенде, рекомендую Ember.js или Angular.js.

Кроме того есть ворох различных веб фреймворков — GWT, Vaadin, Grails, Play, DropWizard, JSF и т.д тысячи их.

В итоге я советую вам освоить в первую очередь js, т.к. без него в приближающимся 2015 году будет никуда.

дякую за пораду, ну в плані всяких плюшох для вебу типу javascript, то я ознайомлений та використовую.

я бы вот этих ребят

GWT, Vaadin, JSF
6ти метровой палкой бы не трогал

Vaadin еще норм, а вот JSF это изобретение дьявола чтобы изводить сынов божих.

Vaadin не далеко укатился от недоразумения типа GWT/GXT, а JSF это девятый круг ада

а чого так jsf хаєте, якщо погратися в jsp + жирний js, то jsf здається приємним і «простим». Можна швидко на компонентах наваявти досить складні вьюшки, особливо, якщо додати сюди primefaces

Тим що він ідеологічно не вірний. Щось мені здається, що його незабаром взагалі викинуть геть.

jsp (будь-що) + жирний джс цілком нормально. Але ще краще хенделбарс + жирний джс.

Тим що він ідеологічно не вірний.
Можна трохи докладніше? Все ж відносне в цьому світі.

Звичайно

Тепершні веб застосування — це повноцінні програми, як 10 років тому (та й зараз) десктоп застосування. І сервер тут виступає як сервер, реальний сервер, а не якісь спеціальний «веб сервер». Тому логічно тут застосовувати старі добрі принципи клієнт-серверного спілкування, звичайно з теперешніми «фішками» — хмари, постійний аптайм, миттєвий апдейт. А JSF пропагує написання веб інтерфейсів через компоненти на сервері.

Як я відповідав нижче — сервер це чиста модель + чиста база даних. Клієнт це чистий вью. Так ми можемо міняти сервер не міняючи клієнт або міняти клієнт не міняючи сервер, причому клієнт повністю не залежний, починаючи від дизайну і кінчаючи середовищем — це може бути як «веб сторінка» так і андроїд застосування. Про користь модульності та ізоляції в програмуванні говорити не буду. Якщо ще ж додати сюди так звані «ізоморфні» застосування, то гнучкість стає недосяжною для технологій типу JSF. Я маю на увазі використання темплейт фреймоврків без логіки, mustache (handlebars). Тут ви взагалі, можете формувати UI як на сервері так і на клієнті. В цьому контексті говорити про сервер\фронтенд розробника вже не зовсім доречно, краще поділяти на розробника моделі\бази даних\інтерфейсу — це все банальні 90-ті\20-ні, просто замість десктоп C\С++\.net\Java розробників будуть «десктоп» JavaScript розробники.

Ну це моя думка, звісно ж, от Java аплети ще ж живуть до цих пір, так і JSF матє десь своє місце, але зараз, воно якось зовсім не про що.

дякую за думку, досить логічно. Виходить, що оптимальніше всього джаву використати як веб сервіс (сервер), а морди на ПК, планшети, мобілки робимо на різних технологіях, кому як зручніше.
Thus, ТСу відповідь, варто розібратися з веб-сервісами також))

В последнее время часто используется Spring + JAX-RS + JPA на сервере и какой-нибудь JavaScript MVC фреймворк на фронтенде, рекомендую Ember.js или Angular.js.
Вот почему.

а вы думаете что в описаниях к вакансиям зря указывают и джаву и джс и джс фронт-энд фреймворки?

нет, так получается сидишь ты, фигачишь бэк-энд на спринге с JAX-RS, а фронт-энд делаешь на ангуларе.

Бывают ситуации когда заказчик хочет чтобы он в ввел цыферку в поле и все калькуляции над пришедшей с сервера модели выполнились сразу же на страничке и отправились на сервер только после нажатия кнопки «ОК/Сейв/Ололо/Шоделать», а ангулар позволяет отлично делать всякие шаманства на фронте.

Трохи по іншому, буде окремо серверний джавіст і окремо фронтенд спеціаліст, який буде добре розбиратися з джаваскриптом.

Робота буде розділена, так як вона і має бути, на сервері — модель + база даних, на клієнті — вью (можливо зі своєми підмоделями і т.д.). Фактично джс застосування нічим не буде відрізнятися від десктоп\мобайл застосування.

Подписаться на комментарии