Архив

Архив раздела ‘web2.0’

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

31 мая 2010 Comments off

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

Comet… чё за …?

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

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

Получить RSS-ленты из страницы? Так точно!

2 января 2010 Comments off

Billboard_Feed_256x256Приветствую своих читателей! С Новым Годом! Первой темой, который мы откроем этот год жизни блога, будет следующая задача. Дано - система, схожая с Google Readers, которая принимает от пользователя некоторый адрес и должна обеспечить просмотр (а позже, и подписку) доступных там RSS-фидов. Задача осложняется тем, что от пользователя нельзя требовать ввода именно полного адреса ленты, да и даже просто адреса сайта или произвольной страницы - он может быть введен в совершенно разных вариантах, полностью или частично и т.п. Самих лент на странице также может быть более одно, часто нескольких форматов сразу (а то и не быть вовсе). Поэтому нам надо выбрать из всех доступных лент последние сообщения и отобразить пользователю, чтобы именно он выбрал в конечном итоге одну ленту, которая его интересует. Открою секрет - да, это только начало и в последующих статьях мы вместе постоим несколько уменьшенную версию системы агрегации и чтениях новостей. Но сегодня попробуем решить первую задачу, без которой наша "читалка" просто не сможет работать, какие бы дальше технологии не применялись.

Основой будет мой любимый инструмент  - Zend Framework (используем последнюю, trunk версию). Если вы знакомы с его возможностями, что сходу предложите компонент Zend_Feed, который имеет встроенные возможности по извлечению из страницы лент. Однако не спешите, на практике задача не так и проста. Поэтому будем решать ее постепенно.

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

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

Анонс: Signalsy Platform Framework (open source)… coming soon!

14 августа 2009 6 комментариев

1250198491_signalПриветствую читателей моего блога. Позволю себе сделать небольшой анонс. В последнее время я работаю над достаточно большим проектом, игровой он-лайн платформой для разработчиков браузерных игр AGPsource Game Platform (кстати, проект открытый, присоединяйтесь, уже вышла версия 3.1). Разработка достаточно интересная и нетривиальная в архитектурном плане. Попробовав ее в реальных условиях, в том числе и под достаточной нагрузкой (например, мы сделали на нем одно приложение для сети вКонтакте, пока там 20 тыс. пользователей, но их количество увеличивается постоянно), мы поняли, что архитектура достаточно хорошая. Но движок, конечно, проект большой и сложный, попробовав применить его в других проектах, не очень игровых, стало ясно, что требуется все то же, но более легкое, простое и быстрое. Да и хотелось внести кое-какие изменения в основу проекта, переделать узкие места.

Так родился наш второй проект - Signalsy Platform Framework. Вкратце - это небольшая и гибкая платформа для разработки и поддержки веб-проектов, основанная на сигнальной (Signal/Slot, но, конечно, модифицированной, о реализации в библиотеке ezComponents мы уже писали) архитектуре. Похоже, мы первые в мире, кто сделал подобное для веб-а! Внутри, кроме нашего небольшого набора базовых компонент, лежит Zend Framework, так что разрабатывать можно с учетом всех его возможностей. По сути, это замена традиционной модели MVC (как ее понимают в ZF), но внутри, в компонентах и логике конкретного приложения, конечно, можно придерживаться любых паттернов и приемов построения архитектуры. Signalsy лишь заменяет слой обработки URL  и добавляет возможности Signal/Slot-архитектуры в ваше веб-приложение.

Вам интересно? Следите за анонсами, читатели блога первыми узнают все подробности проекта. Мы также открыты для заинтересованых разработчиков - для сообщества вместе с анонсом будет открыт специальный портал для взаимодействия. Подробности будут в течении нескольких дней...

Шесть миллионов твиттеров. Статья для журнала Хакер.

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

Вместо газет, вместно мобильного и SMS, вместо RSS, новостей и вКонтакте... нафиг все, теперь есть Twitter! Не веришь? Факт: первым о катастрофе самолета в Амстердаме сообщил в твиттере простой парень nipp, чем мгновенно прославился, опередив всех матерых журналистов!

Че это такое?

Посмотрев на Twitter первый раз, ты уже думаешь, что все понял? Нет, пока даже сами основатели этого замечательного, просто взрывного проекта не особо знают, что с ним делать. Но простым парням вроде нас это не так и важно - Твиттер, это наше все! Сама по себе идея банально простая - это сервис микроблоггинга, то есть ты вводишь свое сообщение, которое должно быть не длинее 140 символов и постишь его в свою ленту. Все друзья, которые читают тебя (твои фолловеры) могут сразу же почитать это сообщение, ответить, скопировать в свою ленту (ре-твит, но самое интересное, когда твой же текст снова приходит к тебе от десятка друзей) или написать, какой ты козел напрямую. Вот и вся суть! Ты просто пишешь все, что попадает под руку (или на глаза), стараясь уместить это в заветные 140 символов, и медитируешь на число твоих читателей. А почему именно 140? Просто первоначально думалось, что сервис будет доступен с мобильных телефонов, а это как раз длина сообщения без служебной информации. SMS-сервис работает, похоже, пока только в штатах, а нам это не так и важно. Более того, твитером мало кто, скажу по секрету, даже через веб-интерфейс пользуется! Большинство людей предпочитают писать и читать других, используя удобные десктопные клиенты, которых уже развелось просто тьма (о лучших читай чуть ниже), но а если ты ведешь мобильный образ жизни, поставь себе на iPhone или любой другой фон одну из программ и оставайся всегда на связи.

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

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

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

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

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

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

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

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

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

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

DEMOfall09 — а стартапы то не перевелись!

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

demo_logoПриветствуем читателей. Как то в этой суете и проблемах забылось, что традиционная конференция стартапов DEMO, несмотря на кризис (и просто страхи, не столько кризиса, сколько муть в умах), прошла по расписанию в начале этого года, и, более того, нельзя сказать, что безуспешно. Конечно, проектов было немного меньше, но это вполне объясняется различными факторами. Но пусть меньше, да лучше - думаю, вы согласитесь. Далее я кратко расскажу, какие проекты были представлены и в чем их основная суть. Более детально вы сможете посмотреть на официальном сайте, благо все выступления доступны для просмотра онлайн. Кстати, жизнь то продолжается, и уже идет подготовка к весенней конференции, которая пройдет 21 - 23 сентября в Сан Диего (США), возможно, ваш стартап как раз заслуживает, чтобы туда поехать?

А теперь детальнее о проектах. Читать далее...

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

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

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

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

Developers.org.ua