![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
usrjava |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 23.2.2015 Репутация: нет Всего: нет |
Добрый день. Много лет программировал в delphi + СУБД (firebird, oracle). Сейчас осваиваю java (базовый курс пройден).
Для более быстрого осваивания решил начать уже писать что-то конкретное на Java. В качестве разрабатываемого ПО решил взять и переписать (частично) один из проектов разрабатываемый ранее на Delphi, работающий с БД под управлением СУБД Firebird (ср. по мощности субд). Посоветуйте этапы разработки и инструменты. На Delphi в упрощенном виде выглядело так: 1. Проектировали БД: таблицы, хранимые процедуры и т.п. (по мере развития проекта БД естественно расширялась). Проектирование делалось на живом SQL, с использованием IBExpert (удобная среда, позволяющая быстро конструировать метаданные БД). 2. Далее на Delphi писался некий слой ORM - иерархия классов, позволяющие представить таблицы БД, связи между ними в виде объектов предметной области. Также осуществлять загрузку данных из БД, сохранения данных в БД. 3. Далее писался что-то типа слоя бизнес логики: как правило он делался через пачку новых классов и так называемых датамодулей. Здесь уже конкретно подготавливались данные, которые будут выводится в конкретных окошках (формах) с таблицами (гридами), кнопками и т.п. (интерфейсное окно пользователя). 4. Создавались в том же Delphi интерфейсные окна с кнопками, гридами (таблицами) и т.п., который для единого стиля программы наследовались друг от друга и конкретная реализация уже затачивалась под конкретный справочник, редактор и т.п. Эти окна стыковались с нашими датамодулями, а те в свою очередь с классами ORM. Отличие Java от Delphi в основном в наличии стека технологий и фреймворков. Из-за чего, у начинающего разбегаются глаза. В связи с чем, просьба посоветовать с чего здесь с практич. тч. зрения в Java начать разработку приложения (этапы), какими фреймворками лучше всего воспользоваться (так сказать, что наиболее популярно для приведенного типа приложений)? |
|||
|
||||
danilych |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 2.2.2011 Репутация: 3 Всего: 3 |
Spring mvc - если это будет web-приложение, так же не советую использовать jsp - посмотрите в сторону freemarker, velocity, thymeleaf
Spring core, если это десктоп hibernate либо MyBatis - ORM фреймворки. |
|||
|
||||
usrjava |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 23.2.2015 Репутация: нет Всего: нет |
Не хотел бы реализовать модели отображения, методы ввода/вывода и само отображение (view) на сервере. Хотелось бы сделать так - реализовать серверную часть (в качестве контейнера беру сервер Tomcat), не знающая ничего о UI, она только предоставляет доступ к данным и функциям их обработки (используются протоколы REST). Затем проектируем UI и вот он уже обращается к этим сервисам и функциям на сервере. То что я нашел из технологий, позволяющие реализовать построение такого UI - это AngularJS, JQuery. Очень не удобные - приходится писать по сути на JavaScript. Есть ли что-то типа такого: мы в IDE проектируем наши web-страницы (размещаем контролы: меню, кнопки, таблицы и т.п.) и делаем связку с нашим сервером. В этом плане проектирование именно GUI очень классно сделано в Delphi. Видел на C# проектирования их *.asp-страниц по этому принципу - но все равно как-то убого. Скажите, пожалуйста, не придумали каких-либо фреймворков на Java для подобного проектирования GUI. Вроде при разработке GWT что-то похожее хотели сделать, но там обе части и серверная и клиентская должны быть, по-моему, на GWT. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
А на чем ты хочешь писать клиентскую часть?
Если клиент браузер, то тут выбор не слишком большой, это или HTML+JS или апплеты. Но учитывая проблемы апплетов, то лучше с ними не связываься, если хочется Java на клиенте то лучше WebStart, но тут уже и браузер не нужен. Да HTML+JS можено не писать руками и использовать, GWT или JSF, но он там все равно будет. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
usrjava |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 23.2.2015 Репутация: нет Всего: нет |
То что он будет - без разница. Просто писать клиента, работающий в браузере хотелось бы именно на Java + его фреймворк, а уже он бы компилил в html+js+css. GWT - на сколько я понял загибается. Это сообщение отредактировал(а) usrjava - 11.3.2015, 23:58 |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
GWT пока еще работает. Есть вариант ZK - ZK Framework
|
|||
|
||||
usrjava |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 23.2.2015 Репутация: нет Всего: нет |
А как вы смотрите на Vaadin - на сколько он востребован?
|
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Vaadin - это более удобная надстройка над GWT. Мы с ним возились некоторое время назад, но он имел тогда большой недостаток - медленно работал.
Есть еще один вариант - Sencha - http://www.sencha.com/products/gxt/ |
|||
|
||||
usrjava |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 23.2.2015 Репутация: нет Всего: нет |
Над вид даже даже ничего. Почему тогда не вошел в массовость? Вот анализирую разработку клиентской части web-приложения и понимаю, что на сегодняшний день этот вопрос не решен. Если с серверной частью в целом все ок, то в клиентской каких-то готовых однозначных решений сейчас нет - масса разных библиотек и подходов, одни лучше так другие этак - от чего волосы становятся дыбом. Каждый работодатель требует свои знания. Не понимаю - ну почему крупной компании (не знаю там - тому же google) за столько лет не разработать нормальный фреймворк и взять его за стандарт. Не верю, что это не возможно и не верю тем, что писать на js все вручную без редактора конструктора - это круто. Круто - это когда среди фреймворком (т.е. он не обязательно один) есть один классный и удобный, что им пользуются 80% народа и столько же раз требуется при устройстве на работу. Это сообщение отредактировал(а) usrjava - 12.3.2015, 23:15 |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Sencha была изначально JavaScript - ноги росли из ExtJS. Потом его скрестили с GWT. Но у GWT есть свои "прелести" - например для портальных решений он не подходит.
Если порассуждать о причинах такого количества, то скорее всего проблема во взрывном росте технологических возможностей - тот же Ajax, более крутой HTML, CSS, JavaScript. Причем нет общего понимания, что именно надо и для чего. Ну и получаем кучу различных реализаций. |
|||
|
||||
usrjava |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 23.2.2015 Репутация: нет Всего: нет |
![]() Вообще меня интересует сейчас клиентский web, но ориентированный только для корпоративных приложения т.е. по сути десктопное ПО с СУБД, но работающее в браузере. Что касается разработки сайтов и информационных ресурсов - мне это мало интересно так скажем сваять несложный сайт на php я умею. Поэтому и хочу уйти от явного javascript т.е. использовать подход основанный на использовании компонентов. Но и тут не могу понять, чем больше всего пользуется народ (GWT, Vaadin, sencha (www.sencha.com), ExtGWT, и мн. др.). Хотелось бы понять, что наиболее востребовано на рынке - это тоже важно т.к. работу предлагает рынок) Это сообщение отредактировал(а) usrjava - 13.3.2015, 12:26 |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Если интересен именно вариант работы, то думаю, что скорее всего это что-то на основе GWT - Vaadin, SmartGWT, ExtGWT. Есть отдельно ZK, но это достаточно специфический продукт, если судить по рынку труда.
Я бы посмотрел оба продукта - наверно ничего плохого в этом не будет. |
|||
|
||||
usrjava |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 23.2.2015 Репутация: нет Всего: нет |
согласен ![]() Вот пример: захожу на hh.ru и вижу, что тот же GWT (если мы говорим о компонентной реализации web-морды) гораздо чаще встречается в вакансиях. Спрашивается, разберусь я с Vaadin'ом, потрачу кучу времени, а он у работодателей не востребован - тогда на фига козе баян. Оба - это вы какие имели ввиду? |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
GWT и Vaadin. Хотя ZK у меня вызвал очень хорошие впечатления. Но мы говорим о вакансиях.
|
|||
|
||||
usrjava |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 23.2.2015 Репутация: нет Всего: нет |
Более менее разобрался в чем между ними принципиальная разница, почитав статейку http://habrahabr.ru/post/115999/. В особенности после прочтения комментов пользователей Это сообщение отредактировал(а) usrjava - 13.3.2015, 22:26 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |