Архив

Публикации с меткой ‘AJAX’

Технология Comet для построения быстрых веб-приложений. Статья в журнал Хакер

31 мая 2010 Comments off

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

Comet… чё за …?

Сегодня все в Интернете хочет быть быстрым, очень быстрыми. Ты даже не успел загрузить страничку в Facebook или вКонтакте, а твои друзья уже узнают, что ты онлайн и пытаются вызвать в чат. На других сайтах ты можешь видеть уже не просто ники пользователей, а сразу начать с ними общаться – и это не просто личные сообщения, как было в форумах в лихих 90-х, а полноценные чаты типа аське. Добавил Вася новую статью в блог, ленту новостей которого ты читаешь? Она должна сразу появиться у тебя в ридере, если, конечно, ты сейчас его читаешь. Задержка, любое промедление сразу ставит крест на любом ресурсе, нацеленном на общение. Посмотри на всякие конференции стартапов и первые страницы популярных ресурсов  - везде умные слова вроде real-time, collaborative и communication. Что за …?

Отвечаю! Если раньше веб-приложения были, как и обычные сайты – просто страницы и ты должен был ходить по ссылкам, чтобы обновить информацию, разве что по таймеру обновлялись фреймы, то теперь все иначе. Все хотят, чтобы информация приходила к нам сама в момент появления, а не ждать и тыкать сто раз в рефреш, ожидая, когда же твой друг наконец появиться в сети. Такие требования поставили перед разработчиками новые задачи, существенно усложнив жизнь, но, а что делать? Так и родилась технология Comet или, по простому, набор приёмов и средств для обновления данных (страниц или их элементов) в браузере без твоего участия. От тебя надо только залогиниться и зайти на сайт – в социальную сеть, онлайн игру или другой ресурс. От этого момента, если какая-то новая информация появляется, сервер сам отправит твоему браузеру новые данные. Читать далее...

Adobe AIR 2.0 — свежий глоток нового воздуха!

18 октября 2009 Comments off

sidebar-logo2Приветствую наших читателей. Предыдущий месяц совпал со множеством кардинальных событий, поэтому блог временно не обновлялся, теперь буду стараться писать регулярнее. Если кратко подытожить события, то я переехал жить и работать в Киев, по причине того, что перешел в один стартап, в котором мне "сделали предложение, от которого невозможно отказаться" и мы сейчас, вместе с небольшой но отличной командой создаем очень интересное (с технической точки зрения) приложение, или скорее, SaaS-платформу для... а здесь уже нельзя пока рассказывать, мы пока публично не анонсировали проект. Конечно, это никак не означает, что я забыл о своих игровых интересах, наша компания все еще работает, и, судя по всему, достаточно хорошо. Параллельно мы проектируем несколько игровых проектов, поэтому ждите анонсов. Также не забыт собственный сигнал-ориентированных фреймворк, он сейчас как раз проходит боевую обкатку в стартапе и будет выложен (в open source, конечно) немного позже. Вот такие новости, но если не хотите ожидать очередной статьи в блоге, чтобы узнать о мире новых технологий, следите за нашим твиттером, там я публикую почти ежедневно.

А теперь поговорим о наиболее интересном событии за прошедшее время. На мой взгляд, это Adobe MAX 2009, самая большая конференция, где Adobe представила множество интересных проектов и заявила о выходе в следующем году линейки CS 5 своих продуктов (а там много интересного уже сейчас, например, Flash CS 5 обещают доступную бету уже к концу года). Но для веб-разработчиков наиболее ожидаемым является достаточно небольшой проект (по сравнению с другими) - Adobe AIR 2.0. Я уже неоднократно заявлял, что AIR это пока лучшая платформа для RAI-приложений, при этом без каких-либо отклонений от слова "приложений". Текущая версия 1.5.х обладает мощной поддержкой индустрии и разработчиков, в том числе и потому, что использует всем привычные технологии для разработки - JavaScript/HTML и Flash. Приложения для AIR выпускают многие компании, в том числе гиганты индустрии вроде eBay, NASDAQ, FedEx, медиагигант Fox и другие, сама Adobe создала несколько мультимедийных проектов для распространения своей платформы.
Читать далее...

ExtJS Tips: делаем красивый список групп.

grid_iconПриветствуем наших читателей. Сегодня мы поговорим, как сделать на базе ExtJS красивый (и функциональный) список каких-либо данных, например, список пользователей или групп. Я применяю такой список в одном из текущих проектов (правда, там уже не настолько красивый и удобный)  Такой виджет можно использовать при выводе любых данных, которые характеризуются не только тестовой строкой, но и расширенными данными, а также необходимо сопоставить какие-то действия каждому набору. Допускается динамическое обновление данных (через Store), а также сортировка и группирование - в общем, все возможности, предоставляемые компонентом Grid из ExtJS. Сразу скажу, что я буду использовать версию ExtJS 3.0, но и в предыдущем релизе, 2.3.х пример также должен быть работоспособным. Приведенный компонент является примером и никак не готовым для использование кодом, а лишь демонстрацией возможностей, вы в своих проектах можете как угодно менять и дорабатывать под свои возможности. По этой же причине к статье намеренно нет исходного кода. Читать далее...

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-запросов на обновление данных. Хотя для такого случая есть варианты и вызова нескольких обработчиков на стороне сервера одним запросом от клиента. Читать далее...

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

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

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

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

Как это было или отчет о первой конференции 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 убирает из доступного нам богатства возможностей уникальную и лучшую, по моему мнению, систему визуальных компонент, оставляя только основные функции и методы, на основе которых мы можем строить все, что угодно. Читать далее...