The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Сотрудники AOL представили web-фреймворк SocketStream, основанный на Node.js и WebSockets

28.06.2011 15:40

На проходящей в Лондоне встрече "Hacker News", разработчики компании AOL представили web-фреймворк SocketStream, реализующий парадигму разработки одностраничных web-приложений, в которых базовая страница представляет собой приложение на языке JavaScript, которое загружается один раз и динамически формирует содержимое экрана в процессе работы, подгружая с сервера данные и код по мере необходимости. По заявлению разработчиков, такой подход позволит значительно увеличить скорость работы и отзывчивость web-приложений, так как взаимодействие с сервером сведено к минимуму и данные могут обрабатываться в асинхронном режиме с использованием постоянно открытого двухстороннего канала связи.

SocketStream основан на сервере Node.js, использует для хранения данных пользователей NoSQL БД Redis и библиотеку Socket.io для организации двустороннего обмена данными между web-приложением и сервером при помощи механизма WebSockets, доступного в современных браузерах. SocketStream отходит от традиционного подхода к разработке web-приложений, при котором всё общение между сервером и клиентом производится с помощью протокола HTTP. Вместо этого фреймворк использует постоянный двунаправленный канал между сервером и клиентом, через который передаются все данные приложения, тогда как HTTP используется только для получения загрузчика и некоторых библиотек, которые будут использованы для создания канала, последующей загрузки самого приложения (HTML, CSS и JS-код) и обмена сообщениями. Такой подход позволяет писать клиент-серверные приложения, которые хоть и работают в браузере, но совершенно не зависят от web-сервера и медлительного HTTP.

Обмен сообщениями между приложением и сервером производится в формате JSON, однако всю низкоуровневую логику SocketStream скрывает, позволяя программисту использовать вызовы методов специального объекта SS, реализующего механизм удаленного вызова процедур (RPC). Чтобы сделать определенную функцию сервера доступной клиенту, достаточно просто добавить ее в список экспортируемых, после чего функция станет доступной через объект SS на стороне клиента (такой же подход действует и в обратном направлении). Предусмотрен механизм оповещений, приватных сообщений, а также возможность вызова функций сервера используя протокол HTTP.

Из других особенностей SocketStream можно отметить следующие:

  • Поддержка браузеров Safari (в том числе мобильной версии для iOS) и Chrome, а также Firefox и IE с помощью flashsockets (реализация WebSockets на Adobe Flash).
  • Поддержка языков CoffeeScript или JavaScript.
  • Возможность использования общего кода клиентом и сервером.
  • Встроенный упаковщик кода и ресурсов приложения.
  • Поддержка HTTPS.
  • Расширяемый механизм аутентификации.
  • Консоль для отладки/прототипирования кода клиента и сервера.
  • Интеграция с библиотеками JQuery и jQuery templates.
  • Простой механизм расширения.
  • Использование Jade и Stylus для написания HTML и CSS-кода.

Пока SocketStream находится в стадии разработки, но по заявлению разработчиков уже вполне пригоден для использования. Исходный код распространятся на условиях лицензии MIT. Видео-запись доклада, прозвучавшего на Hacker News meetup можно найти на сайте Skills Matter.

  1. Главная ссылка к новости (http://www.h-online.com/open/n...)
  2. OpenNews: Релиз серверной JavaScript-платформы node.js 0.4
  3. OpenNews: Компания Google предложила надстройку для улучшения протокола HTTP
  4. OpenNews: В Firefox 4 и Opera 11 будет заблокирована поддержка протокола WebSockets
  5. OpenNews: Представлен релиз БД Redis 2.0.0
  6. OpenNews: Релиз БД Redis 2.2
Автор новости: Evgeny Zobnin
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/31012-nodejs
Ключевые слова: nodejs, coffescript, websockets, redis, socketstream, web, javascript
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (8) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 16:16, 28/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Охохо! Таки это гуёвое клиент-серверное приложение, которое можно сверстать. ))) И выполняющееся в браузере или любом другом, кто переваривает html/js/css.
    Этакая платформонезависимая ява от мира браузеров.:)
     
     
  • 2.7, devlink (?), 16:40, 28/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Давно уж все к этому идет. Права пока разброс по поддержке стандартов не слабый. Да и node.js, jquerymobile пока не самые стабильные.
     
  • 2.11, Аноним (-), 11:02, 29/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Если уж в браузере можно запустить дум, что уж там какие-то приложения?
     

  • 1.2, xxx (??), 16:27, 28/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Поддержка браузеров Safari (в том числе мобильной версии для iOS) и Chrome, а также Firefox и IE с помощью flashsockets (реализация WebSockets на Adobe Flash).

    Так в Firefox оно работать без флеша может или нет?

     
     
  • 2.5, Толстый (ok), 16:32, 28/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Может, socket.io поддерживает множественные транспорты. Websockets в firefox отключили до 6 версии, поэтому если установлен флэш - он задействует его. Если флэша нет, он выберет из других доступных механизмов: xhr polling, jsonp polling - http://socket.io/#browser-support здесь больше информации. Выбор осуществляется в рантайме, то есть ничего самому кодить не надо, только определить список стандартных транспортов.
     
  • 2.6, user (??), 16:35, 28/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Может.
     

  • 1.3, Толстый (ok), 16:29, 28/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    К этому все и шло, NodeJS+socket.io и coffeescript набирают популярность.
     
  • 1.12, Jay (??), 01:39, 30/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    html поверх веб-сокетов поверх html поверх http поверх tcp поверх ip для рисования пользовательского интерфейса по сути.. Мне одному кажется, что здесь что-то в корне неверно? :)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру