Какую веб-технологию java следует изучить для разработки многофункциональных интернет-приложений?

StackOverflow https://stackoverflow.com/questions/1401483

  •  05-07-2019
  •  | 
  •  

Вопрос

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

  1. ЛЕДЯНЫЕ поверхности (С поддержкой моста AJAX)
  2. Большой объем
  3. ExtJS - ЭКСТДЖС и ExtGWT
  4. JavaFX - файл
  5. Калитка Апача
  6. Jquery - Jquery - запрос
  7. АЯКС
  8. Открой ласло

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

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

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

Похожий вопрос on SO частично отвечает на мой вопрос.Хотя хотелось бы получить больше информации.

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

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

Калитка + Jquery, WiQuery

Большой объем

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

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

Это было полезно?

Решение

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

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

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

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

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

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

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

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

Другие советы

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

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

  • добавить javascript в HTML > ЗАГОЛОВОК
  • внедрите код обратного вызова ajax (или пользовательский javascript) на веб-страницу
  • вызов события в компоненте с отслеживанием состояния на стороне сервера
  • выполните произвольный javascript до или / и после запуска запроса Ajax (XHR)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Шов, Пружина, Рельефные поверхности, Ajax4jsf

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

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

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

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

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

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

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

Итак, с помощью этого вы просто получаете способ кодирования для "everybrowser".

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

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

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

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

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

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

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

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

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

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

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

Потому что программа JavaFX, требующая плагина, не является моим выбором.

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

Вероятно, вам придется изучить комбинацию инструментов, но, вероятно, следует начать с AJAX, затем перейти к некоторым библиотекам JS (jQuery, prototype-scriptaculous, MooTools и т.д.).

Они также прекрасно дополнят фреймворк JSF.

Вы могли бы также рассмотреть Богатая платформа Ajax Eclipse при оценке платформ RIA на базе Java.

Я бы посоветовал вам взглянуть на Векси, который предлагает настольные приложения, которые являются более гибкими, чем Апплет + 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!" />
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top