Апрель 2009

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

Многофункциональные интернет-приложения: Состояние союза

С 2004 года увеличилось количество многофункциональных интернет-приложений (RIA), что делает их одним из ключевых компонентов Web 2.0 явления. Многие приложения RIA были разработаны с использованием JavaScript (JS) и AJAX (асинхронный JavaScript и XML). AJAX используется для доступа к удаленным источникам данных, которые находятся на сервере, или доступны через открытый API, непосредственно из приложения. Богатое разнообразие приложений не будет сегодня доступны без одновременного появления многих, мощные инструментариев JavaScript, которые взяли развитие этих приложений от трудоемких до почти безболезненно. Эти средства обеспечивают альтернативу открытым исходным кодом собственных продуктов, разработанных Adobe (Flash/Flex/Air) и Microsoft (Silverlight).

Эта статья содержит два примера, которые демонстрируют эволюцию Риас, а затем сравнивает функции наиболее часто используемых инструментариев JavaScript используется для создания приложений RIA. Мы тогда как свободно обсуждать имеющиеся инструменты имеют возможность конкурировать с проприетарные альтернатив. И наконец мы предоставляем некоторые заключительные замечания, исходя из нашего опыта с созданием корпоративных приложений RIA.

Эволюция рис

Мы были вовлечены в рост Риас права с самого начала. На digg.com мы приняли AJAX до акроним был создан, когда он основном ссылается гораздо менее дружественных акроним XMLHTTP. Одна из ранних особенностей, которые управляли много трафика на digg был «Digg шпион». Первоначально разработанный в феврале 2005 года с JavaScript, он был значительно усовершенствован в июле 2005 года через использование пары первого инструментариев JavaScript появится: Прототип и Scriptaculous. Digg Spy представила почти реального времени вид деятельности на сайте, не прибегая к мета refresh метод общего использования в то время. Что было новаторско то теперь можно увидеть все через Интернет, наиболее заметно на спортивных площадках, таких как espn.com и nfl.com. Эти сайты были крупнейших пользователей подход неуклюжим мета обновления и с тех пор сильно вложили в AJAX.

Несколько лет спустя на tripadvisor.com, я был глубоко вовлечен в развитии TripAdvisor рейсов, мета поиск продукта для путешествий, планирования с огромный интерактивный интерфейсный компонент, разработанный с использованием jQuery и прототипа. Эволюция инструментариев JavaScript за последние четыре года был поразительным и можно увидеть ясно когда контрастные этих двух продуктов. Это интересно отметить, что оригинальный шпион Digg был недавно отставке в пользу собственнический продукт Adobe Flash, и это было больше связано с Adobe спонсорство продукта чем технических достоинств.

Инструментариев JavaScript

Огромное количество JS инструментальных средств может быть в заблуждение непосвященных. Помимо технических соображений следует рассмотреть такие вопросы, как лицензии, модульность и поддержка. Мы обсудим наиболее распространенных инструментальных средств: Прототип/Scriptaculous, Dojo, YUI, Ext JS и jQuery.

Каждый набор инструментов, либо в своем ядре или тесно связанные пакеты, обеспечивает поддержку для различных вещей, унаследованных от настольных приложений, которые не легко сделать в JavaScript и которые особенно трудно сделать в кросс браузер совместимый моды. Drag-n-drop, подсказки, строки состояния, окна, модальные диалоговые окна и индикаторы выполнения присутствуют во всех инструментальных средств. Кроме того большинство предоставляют набор виджетов, как элементы управления дерева, поля со списком, ползунки, редакторы форматированного текста и других элементов управления, унаследованные от их рабочего стола предшественников. Это не совсем ясно, что эти элементы управления на самом деле делают людей более комфортно на веб. Наш опыт был, что большинство людей приспособились к dumbed вниз интерфейс веб-браузера и часто путают дополнительные элементы управления.

Один из важных, но не очевидно, соображение заключается, что JavaScript не поддерживает модель на основе класса наследования, которое знакомо для большинства разработчиков программного обеспечения. Вместо этого он использует «прототип» на основе наследования. Многие из инструментариев обеспечивают механизм на основе класса наследования как способ сделать развитие более привлекательным.

  1. Прототип: Прототип является старейшим рамками, и благодаря его тесной связи с Ruby on Rails, это широко применяемый быстрой разработки (RAD) приложений для Интернета. Разработанный Сэм Стивенсон в 2004 году, это, вероятно наиболее развитой системы, основанной на классе. Scriptaculous-это отдельная библиотека, построенный на прототип, который предоставляет эффекты и анимацию. Scriptaculous приобрел репутацию раздутой и что вызвало Digg, чтобы отказаться от Scriptaculous и прототипа пользу jQuery.
  2. Dojo: Додзё, в отличие от остальных инструментариев упоминалось, предоставляет богатый текстовый редактор, то, для которого существует большой спрос. Он также завершил большое число партнерств, особенно с Zend. Zend является ведущим механизмом для развития PHP, при поддержке IBM и SUN, и они планируют интегрировать додзё в следующей версии. В дополнение к обычной коллекции виджетов Dojo предоставляет расширения для поля и графики.
  3. YUI: YUI является кухонная раковина JS инструментариев, полон виджеты и гаджеты с Yahoo как корпоративный Бакер. Существует гораздо меньше ядра, противодействие каких-либо обвинений распухание. В целом он имеет богатый набор виджетов, и поддержка большой компании является решающим фактором для многих веб-сайтов. YUI включает также очень полезный компрессор JavaScript, который мы используем на tripadvisor.com, чтобы уменьшить время загрузки и сэкономить полосу пропускания.
  4. Ext JS: Ext JS имеет двойной коммерческий/GPL лицензии, и это стимулировало некоторые вопросы лицензирования, которые имеют нарушения его принятия. Большинство инструментов JS используют LGPL или MIT license, которая позволяет им использовать без разработчиков, с открытым исходным кодом их код на стороне сервера. Ext JS предоставляет богатый набор виджетов и обеспечивает интеграцию с Google Web Toolkit, серверной стороне рамки, которая генерирует JavaScript.
  5. jQuery: jQuery имеет обычные виджеты доступны под Рубрика jQuery UI. Вероятно, самый известный за его краткость, результат метода, называемого «цепочки», что делает для очень краткого кода. Это важно для JavaScript, который почти всегда должен быть переведен с сервера на клиентский компьютер через Интернет. Его сила сцепления, также является основной точкой критики как jQuery код выглядит полностью отличается от кода JavaScript. Недавно она также получила от тесной связи с Mozilla Foundation; Джон Резиг, первоначальный разработчик работает там.

Конкурировать с коммерческих альтернатив

Одна интересная динамика при игре в Интернет-индустрии и продолжающейся эволюции RIA является постоянно присутствует риторика, толкая последние несвободные альтернативы. Наборы инструментов, описанных выше играют важную роль в обеспечении того, что JavaScript могут конкурировать, даже в мире со многими различными браузерами, каждый со своими собственными причудами и ошибок. Десять лет назад было бы трудно утверждать, что возрастет число браузеров в использовании. Теперь, он имеет дано с Opera, Chrome и Safari все держа свои собственные против Firefox и Internet Explorer. Это ставит задачи для разработчиков JavaScript и обеспечивает много большую работу бесчисленных людей open source альтернатив по-прежнему быть выдающимся.

Каноническое холодное применение для JavaScript по-прежнему является Gmail, и ее успех показал, что полезные и использовать приложения можно сделать в чистом JS. Другие известные приложения включают Zimbra и приложения Zoho. Помимо очевидной соперничества JavaScript против Flash дальнейшего успеха JavaScript в разработке RIA представляет еще один успех для открытого источника. Как принятие приложений на основе браузера увеличивается, уменьшается зависимость от различных типов собственных приложений для настольных компьютеров. Это хорошая новость, поскольку принятие открытых браузеров по-прежнему на подъеме.

Заключительные замечания

Одна из возможных проблем с использованием JavaScript, богатых приложений JavaScript и Ajax, является то, что исходный протокол XMLHTTP является проприетарный протокол, принадлежащий Microsoft, который был первоначально выпущен как объект ActiveX. Есть другие способы сделать динамические обновления что XMLHTTP предоставляет, если Microsoft когда-либо решит менее доброкачественными о протоколе и другие производители реализовали свои собственные версии протокола.

JavaScript имеет четкие свинца в следующий большой рубеж в приложениях, что разработки мобильных. В частности iPhone не поддерживает проприетарные альтернатив, но он поддерживает JavaScript. Большинство приложений, включая наш собственный продукт тяжелых рейсы JavaScript достаточно хорошо работать в версии iPhone Safari. Flash и Silverlight нет, хотя бы не пока.

Наши последние мета поиск приложений, оказалось довольно большой и сложной, но использование JavaScript и jQuery, оказалось одним из ключевых факторов его очевидный успех. Он по-прежнему занимает много усилий, чтобы надлежащим образом выполнять во время работы во всех основных браузерах. Как большинство веб-разработчики знают, слабое место для этих приложений продолжает оставаться большой установленной базой Internet Explorer 6.0. Реализация DOM и JavaScript в этом браузере имеет огромное количество ошибок и требует много обходные пути и часто выше наилучшей практики. Мы можем только надеяться, что недавний запуск Internet Explorer 8.0 будет запрашивать хотя бы некоторые люди для обновления.

Рекомендуемые ресурсы

RIApedia

Бизнес-преимущества многофункциональных интернет-приложений для предприятий

Презентации бизнес API-интерфейсов конференции

Как развернуть открытый API

Как монетизировать API?

Доля этой статьи:

Цитируете эту статью:

Оцените содержание: 
1 голосов были поданы, с средняя оценка 5 звезд