Плюсы и минусы написания полной логики представления веб-приложения в библиотеке JavaScript (ExtJS)? - PullRequest
1 голос
/ 05 января 2010

Я новичок в веб-разработке с использованием библиотек JavaScript. Но недавно я видел веб-приложение J2EE, которое широко использует ExtJS (скажем, 90%) для рендеринга веб-страниц. Рассматриваемые веб-страницы представляют собой простые формы или таблицы (табличные отчеты). JSP довольно изношены и просто делегируются в среду ExtJS (используя функцию onReady), которая затем выполняет AJAX-вызовы на сервер и отображает страницы. Для каждой веб-страницы имеется отдельный файл .js, который инкапсулирует всю логику рендеринга в функциях ExtJS.

Это первый раз, когда я вижу приложение, закодированное таким образом. Я хотел бы знать, является ли это распространенным подходом для использования в наши дни, или это экстремальное использование библиотеки JavaScript. Каковы некоторые плюсы и минусы этого дизайна?

Ответы [ 4 ]

2 голосов
/ 06 января 2010

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

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

Все данные затем обрабатываются через запросы AJAX через веб-сервисы (в основном API-интерфейсы ESTful). Например, сетка ExtJS может обслуживаться данными с таким тривиальным компонентом на стороне сервера, что это почти смущает.

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

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

2 голосов
/ 05 января 2010

Одним из преимуществ многофункционального интернет-приложения является то, что вы освобождаете свои серверы от ответственности за рендеринг и делегируете это клиентам (браузерам).

В 3-уровневой архитектуре вы бы буквально убрали весь уровень представления из вашего оборудования. Вам просто нужно обслуживать статические файлы (XHTML, CSS, JavaScript и изображения).

2 голосов
/ 05 января 2010

Pro:

Система выглядит и ведет себя намного лучше, чем с обычным простым HTML

Con:

Систему сложно отлаживать и модифицировать, если она не написана разработчиками с большим опытом работы с фреймворком.

Вы можете уменьшить эти недостатки, используя библиотеку на стороне сервера, такую ​​как GWT, которую можно использовать даже с Ext: GWT-Ext

2 голосов
/ 05 января 2010

Минусы:

  • Страницы не будут работать вообще, если пользователь JavaScript отключен.
  • пользователь должен ждать сценария скачал, проанализировал и выполнил до появления любого контента. в зависимости на дизайне, пользователь также может иметь ждать некоторых запросов AJAX после что.
  • Доступность сложнее реализовать.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...