Каков наилучший современный способ разработки открытых веб-приложений с богатым API-интерфейсом JavaScript для доступа к данным? - PullRequest
1 голос
/ 15 марта 2011

Компания, в которой я работаю, имеет мощную инфраструктуру серверных компонентов на основе Java для взаимодействия со специальными системами управления.

У нас есть структура пользовательского интерфейса, но она также основана на Java.Клиент может использовать Java-апплет для доступа к управляющей информации и т. Д.

Я недавно начал работать над богатым API-интерфейсом JavaScript для удаленного доступа к информации о системе управления.В настоящее время это прототип.Это приятно, потому что любой, кто знаком с JavaScript, может получить удаленный доступ к нашим компонентам.Пока это работает очень хорошо.Я написал несколько прототипов приложений, которые используют этот API.Это дало мне представление о jQuery - отлично!Я также добавил в API JavaScript возможность выполнять вызовы RPC в Java, а также архитектуру компонентов на основе сеансов, когда вам действительно нужно что-то хранить на сервере.

Пока все хорошо.Я должен признать, что я не «веб-разработчик».Я никогда не использовал Structs, Spring или какую-либо архитектуру на основе MVC для серьезной корпоративной веб-разработки (хотя я хорошо знаком с шаблонами проектирования).Я занимаюсь разработкой приложений.

Я бы хотел узнать от профессионалов, правильный ли это подход или я что-то упускаю.Кто-то, с кем я работаю, создал действительно аккуратную архитектуру включения на стороне сервера.Однако мне интересно, действительно ли это необходимо?После этого, я думаю, я могу создать что угодно, используя мой JS API и jQuery.Стоит ли мне рассматривать какие-либо другие «серверные» архитектуры в эту новую эру открытых веб-приложений?

Что касается поддержки браузеров, меня не волнует старое поколение браузеров (пожалуйста, здесь нет лекций,старые технологии, которые у нас есть, подойдут как для IE6, так и для других).

Используя эти технологии на стороне клиента, я смогу создавать сложные открытые веб-приложения.Из-за моего API в действительности потребуется очень мало кода на стороне сервера.Я смогу воспользоваться возможностями HTML 5 и т. Д. Но я что-то упустил?Стоит ли рассматривать другие технологии Java на стороне сервера, такие как Server Side Includes?Я слишком ориентирован на клиента?

Ответы [ 3 ]

2 голосов
/ 15 марта 2011

Существует четыре способа создания современных RIA: HTML5 / Javascript, Java-апплеты, Flash / Flex и Silverlight.Только первые два открыты.

Апплеты неприятны и не очень нравятся людям.Лично я бы пошел с HTML / Javascript.

Поскольку вы являетесь магазином Java, я бы рекомендовал использовать GWT по следующим причинам:

  1. Это открытый исходный код с лицензией, удобной для бизнеса.оптимизированный для браузера javascript минимального размера.
  2. Он активно разрабатывается и используется Google.Это гарантия того, что она будет поддерживаться в течение некоторого времени.
  3. Многие разработчики знают об этом.
  4. Имеет хорошую документацию и очень активную группу пользователей.
1 голос
/ 15 марта 2011

Я уверен, что есть много мнений по этому поводу, но я полагаю, что с HTML5, более быстрыми интерпретаторами Javascript, постоянным хранилищем на стороне клиента и т. Д., Это делает довольно убедительным поместить все логины приложения UI в клиент (браузер). ), и просто используйте некоторую форму RPC (с сериализацией JSON) для сервера. Поэтому движки шаблонов, SSI или любая сгенерированная на сервере разметка больше не требуются для интерактивных приложений. Это все еще хорошо для полустатических документов. Для этого я использую генератор документов sphinx.

0 голосов
/ 30 апреля 2013

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...