Архив

Архив раздела ‘AJAX’

На чем строить веб-приложения будете, господа? Статья для журнала Хакер

121Статья написана специально для журнала Хакер и опубликована в бумажной версии (в несколько сокращенной и отредактированной версии). Редакторскую версию из бумажной версии можно прочитать на сайте журнала, ниже я публикую свой оригинальный вариант,  без правок или ограничения на объем материала.

Простые веб-странички с серыми HTML-формами - это отстой и прошлое. Сегодня в моде веб-приложения с графикой, видео и мультимедией, да побольше. Если хочешь узнать, как работают такие приложения и что для этого нужно - читай обзор!

Веб-приложения и  RIA -  две (не)большие разницы

Для начала давай все же разберемся, что это за термины и что за ними стоит (или ничего). RIA расшифровывается как Rich Internet Application и означает, что приложения очень тесно связаны с сетью, и для своей работы требуют постоянного, а часто и еще высокоскоростного соединения. Кроме этого, такие приложения обязательно имеют насыщенный графикой, анимацией и визуальными эффектами интерфейс, а не обычные убогие серые рамки и кнопочки, которыми нас раньше мог порадовать HTML. Часто они имеют доступ к ресурсам клиентского компьютера, выходя уже за рамки предоставляемой браузером среды. Такие приложения используют файловую систему, не ограничиваясь только теми файлами, что указывает пользователь для загрузки, используют мощности процессора, а зачастую и другие сторонние программы, установленные на компьютере, например, кодеки. То есть, в сумме получается, что с одной стороны - это обычная веб-страница, с другой - она очень отличается от обычного сайта и по всей своей сущности выглядит и ведет себя как самое настоящее приложение! Но при этом обычным приложением не являясь!

Читать далее...

ExtJS 3.0 RC2 — а мы идем в сторону RESTful

30bubbleПриветствуем наших читателей. Что-то давненько мы не обсуждали наш любимый фреймворк ExtJS, и зря, так как за это время появилось несколько интереснейших новостей из мира этого инструмента. И о последней, видимо, самой интересной, мы сегодня и поговорим.

И так, сегодня вышел следующий кандидат-релиз 3-й версии ExtJS, а также вторая бета-версия Ext Core, они обновляются синхронно, так как сам ExtJS теперь базируется на открытом ядре Core. Рассмотрим основные изменения, кроме заявленных улучшений в производительности и стабильности.

Изменения в второй бета-версии ExtCore:

  • Улучшения поддержки различных селекторов в DomQuery (в частности, в Opera)
  • Множественные улучшения и фиксы в Ext.Element, а также приведение API к единому виду (это важно, если вы уже начали использовать Core, после обновления проверьте еще раз свой код)
  • Улучшения работы с событиями в браузерах на движке WebKit
  • Добавлена поддержка нативных функций для работы с JSON, появившихся в последних версиях современных браузеров.
  • Добавлены различные исправления в поддержку AJAX в адаптерах и исправления для более полной поддержки IE 8.0.
  • Несколько других небольших изменений.

А теперь перейдем к главному обзору нового кандидат релиза ExtJS 3.0. Полный список изменений доступен здесь, мы расскажем только о главных... Читать далее...

Пуш ми, бум-бум, тач ми… Ajax Push Engine

logoПриветствуем наших читателей. Что-то в последнее время я не писал, однако не забывая исследовать новые технологии, чтобы как только будет время, ознакомить Вас с самыми интересными представителями ИТ-мира. Кстати, если хотите оперативно получать информацию, подпишитесь на наш твиттер - там появляются ссылки на самое интересное в первую очередь. Впрочем, мы отошли от темы. Сегодня поговорим о Comet и о server push вообще.

Обычные веб-приложения, как и сайты, работают по традиционной модели запрос-ответ-запрос, при этом, в силу особенностей HTTP-протокола и некоторых серверных реализаций обработчиков, приложение не хранит информацию между запросами, так что каждый вызов является независимым, а идентификация или сессионность обеспечиваются более высокоуровневыми средствами (например, всем известная реализация сессий в PHP). Кроме этого, запрос на новую информацию посылает всегда клиент, который заинтересован в получении самой актуальной версии данных. В приложениях, которым критично обновление, это часто становиться узким местом. У нас в одном из предыдущих проектов, было сразу несколько периодических AJAX-запросов на обновление данных. Хотя для такого случая есть варианты и вызова нескольких обработчиков на стороне сервера одним запросом от клиента. Читать далее...

Интересные презентации по RESTful архитектуре

restПриветствую наших читателей. Сразу извинюсь за некоторый перерыв в публикациях, это связано с интересными изменениями в моей работе и в ее организации. Многое сразу не расскажу, замечу, что мой стартап перенес существенную трансформацию, мы объединились с другой компанией и очень скоро представим первые публичные продукты из нашей основной линейки продуктов - движков, платформ или middleware для разработки браузерных онлайн игр. Однако об этом чуть детальнее будет несколько позже, это я так говорю хватит самопиара.

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

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

Читать далее...

Appcelerator Titanium. Лучшая платформа для RIA-приложений?

logoПробуя различные веб-приложения, конечно же на AJAX, да и сам разрабатывая их, я часто замечаю, что все же “тормоза”. Пусть я использую последние версии и все их возможности, но ведь типичная ситуация — открыто одно или несколько окон браузера, в них еще с десяток-полтора вкладок. В результате — желая запустить параллельно еще какое-либо веб-приложение, я уже получаю серьезные проблемы. Да и чего таить, бывает, что из-за какой то страницы браузер падает, что задевает и наше приложение. Советующие Google Chromе также не решают проблему, хотя в нем, в силу оригинальной архитектуры, некоторые проблемы не так заметны.

Если описанное вам знакомо, значит проблема очерчена, теперь посмотрим на решение. Раз веб-приложению в браузере приходится конкурировать за ресурсы (и за сам браузер, и за системные) с другими открытыми страницами, то самое очевидное решение — выделить отдельный браузер для веб-приложения. Сначала по такому пути пошли в Mozilla Labs в проекте Prism, потом эту идею развил Google, добавив возможность любую страницу выделить в веб-приложение. Немного другим путем пошли разработчики Adobe, создав платформу для веб-приложений AIR, которая уже достаточно известная и популярная, чтобы о ней много рассказывать. Но не один одни думали в том же направлении, да и сам AIR при всех его преимуществах, имеет ряд недостатков и просто пожеланий по улучшению. А от недавнего времени у него появился еще один, достаточно сильный и функциональный конкурент — Appcelerator Titanium.

Полная версия статьи специально для Developers.org.ua

Десктоп web-кодера: собираем рабочее место для AJAX и Web 2.0 кодера. Статья для журнала Хакер.

journalНиже авторский вариант статьи для журнала Xaкер, которая была опубликована в декабрьском номере журнала за 2008 год. Так как блог не так ограничен в объеме подачи материала, я предлагаю вам полную версию материала, в журнале опубликована насколько сокращенная и отредактированная версия, которую можно прочитать на сайте издания.

Введение

Между всеми этими взломами и хаками ты наверное не раз (а может и не два) задумывался над тем, чтобы самому напрограммировать какой-то из новомодных Web 2.0 стайтов. А то как же, жизнь идёт мимо нас, все делают проекты, а кое-кто даже на них зарабатывает неслабо (ага, ага, даже в условиях кризиса, кому кризис, а кому... ), так и мы не будем отставать от прогресса. Или во фриланс подадимся, там тоже сейчас (да и всегда) можно найти интересные заказы, если деньги нужны. А может ты на работу решил устроиться, и договорился с начальством, что будешь работать дома и на своём компьютере, в офисе появляясь только в день зарплаты и на дне рождения шефа? Неважно, главное - ты стёр все порно и решил превратить свой компьютер в рабочее место веб-разработчика! А мы тебе поможем выбрать нужные программы и утилиты, чтобы и работа была сделана, и напрягаться не надо было, и деньги на девчонок остались (это значит, все ПО по максимуму открытое и бесплатное).

Сначала давай уточним, что мы будем программировать, а вернее - на чем? Так как нацелились мы здесь на веб-разработку, то значит среда разработки должна поддерживать те языки и возможности, востребованные в веб-среде. Сразу скажем, что пока не будем рассматривать разработку на платформе Microsoft, ASP-страницы вероятнее всего придется писать, используя только продукты самой компании-разработчика (ага, и там даже бесплатные версии есть, Visual Studio Express), а об этом можно писать много (или ничего), поэтому мы пока обойдем вниманием продукцию MS. Читать далее...

Как это было или отчет о первой конференции ExtJS.

28 апреля 2009 2 комментария

logo1Приветствуем наших читателей. Как вам наверное известно, недавно состоялась первая конференция, организованная компанией ExtJS LLC, посвященная как новым продуктам (ExtJS 3.0, Ext Core, ExtGWT), так и практическим аспектам работы с фреймворком, проектированием приложений и работу с новыми технологиями (вроде поддержки Adobe AIR). К сожалению, мне не удалось побывать на конференции, но там был один из наших читателей - Сергей Козлов, который любезно предложил свою помощь в организации этого небольшого обзора.

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

Читать далее...

Общий взгляд на Dojo Toolkit — статья для Developers.org.ua

21 апреля 2009 1 комментарий

dojo_logoЕсли “аякс” для вас не пустой звук или отзвук эпохи веб 2.0, но и нечто большее — работа, увлечение или стиль мышления, то кроме инструментов, что у всех на слуху, jQuery или Prototype, вы заинтересованы в более мощных решениях. И, желательно, пригодных как для простого “украшательства” веб-страницы, так и для разработки серьезного корпоративного приложения. Одним из флагманов AJAX-индустрии, без сомнения, является Dojo Toolkit, несмотря на то, что в широкой ИТ-прессе о нем не говорят столько же, как о других решениях. А мы вот поговорим.

И так, Dojo Toolkit — это AJAX фреймворк, развиваемый группой Dojo Fundation (у которой есть еще немало интересных проектов) и нацеленный на нишу серьезных проектов, где вам может потребоваться все — от обычных функций манипуляций с DOM до работы с Jabber-сервером. При этом, Dojo пытается сохранить свою основу, обладая одним из самых компактных и мощных базовых наборов классов (27 Кб в сжатом варианте). Все остальные функциональности доступны опционально, поэтому не стоит пугаться дистрибутива размером больше десятка Мб. Начать использовать Dojo в своем проекте можно очень быстро, просто подключив один единственный файл, или даже не копируя ничего на сервер, ведь Dojo доступен через AOL СDN. В будущем, если где-то понадобится новая функциональность, используя встроенную модульную структуру и динамическую загрузку модулей, вы просто расширяете свое приложение шаг за шагом. Поскольку знание конкретных функций вам особой пользы не принесет, я сосредоточусь далее на описании базовой архитектуры и возможностей фреймворка.

Полная версия материала на сайте Developers.org.ua

Праздник, господа, праздник! ExtJS 3.0 RC1 доступен!

15 апреля 2009 3 комментария

ext_bld_logo1Да, на конференции буквально 10 минут назад объявили о выходе следующей версии ExtJS 3.0, обозначив, таким образом, новую веху в истории AJAX-проектов. Кстати, что интересно, это было приурочено ровно к второй годовщине компании - 15 апреля 2007 года вышла версия 1.0, а теперь мы уже видим третью.

Очень кратко список нововведений: Читать далее...

Начало нового времени или ExtJS 3.0. Первая бета Ext-Core

ext_bld_logo1Приветствуем наших читателей. Так как фреймворк ExtJS уже давно стал нашим основным и любимым инструментом, то мы очень ожидаем предстоящих анонсов на первой конференции для разработчиков и пользователей ExtJS. Пока же "екстовцы" порадовали нас, выпустив уже давно обещанный продукт, да еще и под отличной лицензией (для тех, кому это действительно было важно). И так, мы дождались Ext Core 3.0, видимо, первой ласточки из серии релизов третьей линейки, которую очень ожидаем (в первую очередь, это, конечно, релиз новой версии полного фреймворка, в частности, новые визуальные компоненты). Давайте поближе посмотрим на Ext Core 3.0.

И так, Ext Core - это попытка войти в мир простых веб-сайтов и разработок, где требуется некоторый минимум AJAX-инструментов, и где до этого времени работали такие средства как jQuery или Dojo. Если раньше разработка с использованием ExtJS требовала подключения всей библиотеки (ну или своей кастомной сборки), что для простых проектов, где использовалось всего пару процентов возможностей, было неприемлемо, теперь у нас есть полностью готовое ядро, имеющее идентичный с основной библиотекой API и возможности, достаточные для реализации множества необходимых функций. Да-да, возможно вы заметите сходство с основной библиотекой, которая также делится на ext-core, ext-adapter и основной файл. В данном случае мы имеем нечто среднее, объединение функционала из адаптеров (используете только собственный адаптер, который ext-base, использовать сторонние адаптеры в Ext Core нельзя) и базовых возможностей библиотеки, при этом все объединено в один файл, не требуя даже стилей, которых нет, так как нет возможности работать с виджетами и интерфейсными элементами. Да, Ext Core убирает из доступного нам богатства возможностей уникальную и лучшую, по моему мнению, систему визуальных компонент, оставляя только основные функции и методы, на основе которых мы можем строить все, что угодно. Читать далее...