Какую веб-технологию Java научить разрабатывать насыщенные интернет-приложения? - PullRequest
6 голосов
/ 09 сентября 2009

Я разработал веб-приложения с использованием JSF (компоненты myfaces). Но в наши дни отзывчивого пользовательского интерфейса JSF чувствует себя не очень хорошо. Я много слышал об AJAX, GWT и т. Д. Итак, я хотел бы узнать ваше мнение о том, какие веб-технологии / фреймворки мне следует изучить для разработки веб-приложений для корпоративных продуктов. Некоторые из веб-технологий, которые я слышу:

  1. ICE Faces (с поддержкой AJAX Bridge)
  2. GWT
  3. extJS и extGWT
  4. JavaFX
  5. Apache Wicket
  6. Jquery
  7. AJAX
  8. Открытое лазло

Что из перечисленного или комбинация вышеперечисленного помогло бы мне?

Некоторые параметры, по которым вы можете оценить эти веб-технологии:

  1. Простота обучения
  2. Поддержка кода веб-приложения
  3. Поддержка сообщества
  4. Поддержка IDE - Eclipse или NetBeans
  5. Доступность компонентов полки (таких как текстовое поле, таблицы, меню параметров)
  6. Лицензия - стоит ли это для коммерческого использования?
  7. User Experience - отзывчивый пользовательский интерфейс. Не должен быть вялым

Подобный вопрос на ТА действительно отвечает на мой вопрос частично. Хотелось бы больше информации, хотя.

EDIT: Ответы сопоставлены: На основании ответов: AJAX лучше всего начать с изучения основ, а затем изучать JQUERY. Любая основанная на компонентах структура работы, которая может дополнить ajax, jquery?

Редактировать 2: Если бы мне пришлось разрабатывать веб-приложение, такое как StackOverFlow (на платформе Java), что было бы лучшим выбором для изучения и принятия?

Калитка + Jquery, WiQuery

GWT

Некоторые лица XYZ технология (RichFaces / ICEFaces) + AJAX.

Комментарии приветствуются тем, кто работал с ними и может оценивать их по вышеупомянутым параметрам.

Ответы [ 12 ]

5 голосов
/ 10 сентября 2009

Я бы настоятельно рекомендовал Apache Wicket, я вижу, что вы прокомментировали / отредактировали вопрос, чтобы сказать, что вы склоняетесь к Ajax / JQuery и запрашивает каркасы компонентов, которые дополняют их.

IMO, среди основанных на компонентах сред, Wicket предлагает лучшую интеграцию со сторонними библиотеками JavaScript. Я лично оценил соперников GWT, Tapestry и JSF - но Wicket позволяет действительно легко:

  • добавить JavaScript в HTML> HEAD
  • вставка кода обратного вызова ajax (или пользовательского javascript) в веб-страницу
  • вызвать событие для компонента с состоянием на стороне сервера
  • выполнить произвольный javascript до или / и после запуска Ajax (XHR) запроса

Вы можете увидеть этот пост в блоге на , как интегрировать YUI с Wicket , те же самые концепции можно легко распространить на JQuery.

Тем не менее, встроенная поддержка Ajax Wicket на самом деле позволяет вам создавать богатые пользовательские интерфейсы без написания ни одной строки кода JavaScript. Подумайте о динамическом обновлении отдельных частей веб-страницы, всплывающих диалоговых окон и т. Д.

Мне также известен проект по интеграции Wicket-JQuery под названием WiQuery , но я еще не пробовал.

3 голосов
/ 09 сентября 2009

Я работал в GWT (с GWT-ext) для моего последнего проекта и мне это очень понравилось. Кроме того, jQuery всегда был находкой, и я буду использовать ее всякий раз, когда у меня нет более надежной инфраструктуры.

2 голосов
/ 10 сентября 2009

AJAX - это просто (по моему скромному мнению, бессмысленный) термин.

jQuery, на мой взгляд, способ сделать Javascript. Если нет непреодолимого требования, запрещающего его использование, я рекомендую его, если вам когда-нибудь понадобится написать Javascript самостоятельно (обратите внимание, что если вы используете GWT, вы используете Javascript, но не пишете , поэтому вы не нужно jQuery).

  1. Простота обучения: вам нужно изменить свое мышление с традиционного JS в процедурном стиле [jQuery все еще процедурный, но имеет большой декларативный аспект]. Если вы никогда не писали Javascript, возможно, вам будет проще подойти к
  2. Поддержка кода веб-приложения: очень
  3. Поддержка сообщества: довольно много
  4. Поддержка IDE - Eclipse или NetBeans: я так не думаю. Я не скучаю по этому; Я ненавижу писать достаточно Javascript, чтобы пропустить IDE.
  5. Доступность готовых компонентов (таких как текстовое поле, таблицы, меню опций): в пользовательском интерфейсе jQuery есть немного и много материала
  6. Лицензия - стоит ли это для коммерческого использования ?: Нет

Из других упомянутых вами технологий:

  1. GWT: Мне кажется, это интересно, если вы нацелены на интранет-сайты или что-то в этом роде, пишете сайты, очень похожие на десктоп (например, Gmail, а не типичный контент-сайт). Я полагаю, вам нужно приложить немало усилий, чтобы веб-сайты на основе GWT могли сканироваться поисковыми системами и чтобы их могли использовать несложные браузеры (т. Е. GWT был бы бесполезен для браузеров без JS, таких как некоторые мобильные телефоны)
  2. JavaFX. Я считаю, что это просто уловка. Не добавляет много к апплетам Java и не обладает такой большой инерцией, как Java.
  3. Apache Wicket: это в моем списке для расследования
  4. OpenLaszlo: выглядит очень интересно, если вы хотите делать Flash без оплаты лицензий.

Как мое предложение.

Предлагаю вам сначала научиться разрабатывать свои сайты без JS. Затем добавьте JS (используя jQuery), Google "прогрессивное улучшение".

Как только вы сможете это сделать, вы можете научиться использовать что-то вроде GWT и использовать его, если это оправдано.

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

Я нахожусь на том же пути, что и вы, пытаясь выяснить, какой будет мой серверный + клиентский инструмент разработки для огромного интернет-сайта. Насколько я видел и читал, как всегда, это зависит от того, какое веб-приложение вам нужно.

Есть люди, использующие различные фреймворки javascript, основанные на простоте использования, декларативном, объектно-ориентированном и т. П.

Есть несколько вещей, которые следует учитывать: 1) Клиентская технология 1a) «Основные» технологии на стороне клиента: фреймворки 1b) Усовершенствования технологии клиентского интерфейса 2) Серверная технология

Для "базовых" структур JavaScript можно найти JQuery, MooTools (лицензия MIT), ExtJS Core (лицензия MIT) (не ExtJS: это гаджеты ExtJS Core + UI, а позже требуется коммерческая лицензия), пользовательский интерфейс Yahoo, и т. д. Вы можете сравнить их на сайтах, подобных этому: http://www.domassistant.com/slickspeed/

Этот тест "каким-то образом" сравнивает различные аспекты каждой из этих "базовых" клиентских JavaScript-структур.

Что вы получаете от этих структур? Большинство из них позволяет вам быть «кросс-браузерными» совместимыми, и у каждого есть несколько различных способов и синтаксиса.

Просто вопрос тестирования и поиска того, который вам нравится больше всего.

Итак, с помощью этого вы просто получаете код для «Everybrowser».

Теперь, если вам нужны "виджеты / элементы управления / гаджеты пользовательского интерфейса", тогда каждая "базовая" инфраструктура имеет свое собственное расширение, связанное с пользовательским интерфейсом.

Даже некоторые из них могут взаимодействовать друг с другом. Я читал о реализации ExtJS (не ядро, которое поставляется с несколькими хорошими элементами пользовательского интерфейса) может подключаться к jQuery.

Итак, для клиентской части вы должны выбрать свою «базовую» инфраструктуру, а если вам нужен пользовательский интерфейс, то с ним связан некоторый пользовательский интерфейс.

Существует несколько IDE, совместимых с этими платформами, например, Aptana, Eclipse, Netbeans (последняя версия очень хорошо интегрируется с javascript) или в Microsoft Expression, Visual Studio Express или «Pro».

Также факт, что jQuery был включен "как есть" и поддерживается Microsoft и Nokia. Таким образом, jQuery теперь получит больше внимания, больше поддержки и больше «публичности», я полагаю, он получит много внимания и улучшений. Они не покупали jQuery, они теперь придерживались его как Open Source, включенного в решения VS. И будет очень тесно связан с ASP.NET MVC, компонентами и тому подобным.

Во всяком случае, jQuery, как я уже говорил, не единственный и не обязательно лучший.

Что касается сервера, это зависит от ваших знаний: java, ASP.NET, все, что вам удобно.

Надеюсь, вы найдете это полезным.

1 голос
/ 10 сентября 2009

Мой выбор - GWT, потому что программа GWT пишется на языке программирования Java, и этот язык программирования очень мощный и простой для понимания.

jQuery и ext-js также хороши, но у меня возникли проблемы с языком программирования JavaScript. этот язык программирования очень подвержен ошибкам.

Кодированию Apache Wicket нравится GWT, но это технология на стороне сервера и тяжелая технология.

Поскольку для программы JavaFX требуется плагин, это не мой выбор.

Я рекомендую вам jQuery или ext-js, если у вас нет проблем с JavaScript.

1 голос
/ 09 сентября 2009

Если вы хотите использовать клиент / сервер через веб-браузер, я бы посоветовал взглянуть на GWT вместе с плагином Google Eclipse. Такая технология позволяет вам писать действительно самые отзывчивые веб-приложения, которые вы можете использовать (с моей точки зрения).

В противном случае, если вы хотите разработать несколько более традиционные веб-приложения и просто добавить функциональность Ajax, вы можете взглянуть на DWR (Direct Web Remoting). Этот вид технологии позволяет подключать объекты Java на стороне сервера к стороне клиента, чтобы иметь возможность использовать их функциональные возможности через JavaScript. Это поможет вам в написании ваших функций Ajax и, возможно, в повторном использовании существующей логики.

Конечно, jQuery - всегда хорошая альтернатива.

1 голос
/ 09 сентября 2009

Я склонен концентрироваться на фундаментальных знаниях, поэтому вам может понадобиться глубокое понимание javascript, включая объектно-ориентированный javascript.

Когда вы хорошо знаете javascript, библиотеки легко подобрать.

Возможно, вы захотите получить некоторое представление о некоторых полезных функциях HTML5, таких как тег.

Возможно, вы также захотите изучить ActionScript 3, поскольку это поможет вам понять, как работает flash, и вы будете знать, какой код генерирует flash ide. Я использовал ant-скрипт для компиляции своего кода ActionScript, используя Eclipse.

Silverlight набирает популярность, но для этого требуется VisualStudio Express, но он является сильным конкурентом Flash.

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

1 голос
/ 09 сентября 2009

Шов, Весна, Richfaces, Ajax4jsf

1 голос
/ 09 сентября 2009

Если вам нужно много Javascript / AJAX, вы определенно хотите изучить и использовать jQuery! Это спасло бы меня от горя, если бы оно вышло в 1999 году.

0 голосов
/ 12 сентября 2011

Я бы посоветовал вам взглянуть на Vexi , который предлагает настольные приложения, более гибкие, чем Applet + Swing / AWT.

(Отказ от ответственности: я разработчик Vexi)

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

Основным преимуществом Vexi является то, что макет действительно прост, так как это блочная модель. Это легче понять, чем даже HTML.

<box>
    <box orient="vertical">        .-------------------.
        <box fill="red" />         |   red   |         |
        <box fill="blue" />        |---------|  green  |
    </box>                         |   blue  |         |
    <box fill="green" />           '-------------------'
</box>

Сценарии выполняются с помощью JavaScript, и есть набор расширяемых виджетов. Использовать виджеты тоже просто.

<button id="button1" text="My button" />
<textarea id="text1" shadowtext="Type in here!" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...