Архив

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

Веб-приложения реального времени: jSocket,Node.JS, Redis, MQ. Часть 2.

27 Июнь 2010 aleks_raiden Comments off

Приветствую своих читателей. Сегодня мы продолжим начатую ранее тему о веб-приложениях реального времени и поговорим о серверной части. Буквально на днях по аське у меня состоялся разговор по теме онлайн игр и архитектуры движка для реалтайм игры. Оказалось, мы оба думали про одно и то же, а именно, использование NodeJS как сервера для ядра системы, обслуживающего клиентские подключения. Конечно, построить весь технологический стек современной браузерной игры полностью на NodeJS все ещё затруднительно, да и сам процесс написания масштабных приложений на серверном JS еще не изучен. А вот держать комет-подсистему, которая отвечает за мгновенную доставку нужных данных клиентам - для этого Node  подходит идеально. Но давайте отложим рассмотрение этой части, здесь тема не на одну статью, а поговорим про создание распределенной системы обмена данными для серверной платформы. Читать далее...

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

31 Май 2010 aleks_raiden Comments off

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

Comet… чё за …?

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

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

Веб-приложения реального времени: jSocket,Node.JS, Redis, MQ. Часть 1.

3 Май 2010 aleks_raiden 7 comments

Приветствую свои читателей. Да, у меня снова выдался сложный период и обновлений в блоге не было долгое время, хотя в твиттере я продолжал писать, пусть и не каждый день. Но сейчас праздники, все сервисы, над которыми я работаю, вроде более менее работают, поэтому можно, вместе с отдыхом, подумать при новую статью. Буквально неделю назад я наконец добрался до новой потрясающей штуки - серверного JavaScript и его платформы - Node.JS. Реально, это очень и очень мощная и приятная штука. За последнее время это первый раз когда от программирования получаешь просто удовольствие. Тем более, что писать различные асинхронные штуки на этом движке очень и очень легко.

Для тех, кто не в курсе - Node.JS это серверный интерпретатор JavaScript построенный на базе V8 от Google, дополненный системными библиотеками, неблокирующим асинхронным I/O и прочими вкусностями. И очень, очень быстрый. Несмотря на текущую версию 0.1.93, он уже вполне пригоден для промышленного использования, хоть и со многими оговорками, в первую очередь связанных с отсутствием или сыростью дополнительных библиотек. Также, поскольку развитие идет полным ходом, часть API не стандартизированная и поэтому вы можете запросто потратить полдня на то, что в этой версии часть функций перенесена в другой модуль или изменились параметры функции. Однако это просто детские болезни роста и при должном старании из этого даже получаешь удовольствие. Читать далее...

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

3 Август 2009 aleks_raiden 16 comments

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

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

3 Июнь 2009 aleks_raiden 4 comments

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

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

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

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

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

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

28 Апрель 2009 aleks_raiden 2 comments

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

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

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

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

21 Апрель 2009 aleks_raiden 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 aleks_raiden 3 comments

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

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

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

6 Апрель 2009 aleks_raiden 10 comments

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

ExtJS Tips&Hacks или броня для веб проекта – сплав Zend Framework, ExtJS и reCaptcha

13 Март 2009 aleks_raiden 7 comments

logoПриветствуем наших читателей. Сегодня мы снова опишем небольшое решение для ExtJS, которое возникло в ходе нашей работы над новыми проектами (раскрою только, что это он-лайн браузерные игры). На этот раз мы используем не только сам ExtJS, но и дополнительные средства, в частности, серверный РНР фреймворк Zend Framework и сервис reCaptcha.

Если вы строите веб-приложение, вместо обычного сайта (хотя, что сейчас этот "обычный сайт"?), то скорее всего, вам понадобится защита от автоматических регистраций или хоть бы попыток обхода, ведь нам интересны  посетители и пользователи люди, верно? Для этого существует механизм CAPTCHA, а данном примере мы используем тест, генерируемый сервисом reCaptcha, который мы считаем на сегодняшний момент самым продвинутым и удобным. Хотя в дистрибутиве Zend Framework есть и собственная реализация, однако вариант от reCaptcha мне кажется более удобным, так как там есть и вариант аудио-каптчи. Читать далее...

  Developers.org.ua | BlogMemes.ru | | |   |     |