Разработка интернет-приложений. Лекция 8.

Разработка интернет-приложений. Лекция 8.
Разработка интернет-приложений. Лекция 8.

Технологии гибридных веб-приложений

На страницу урока →

AJAX

 

AJAX (Asynchronous Javascript And XML) — технология обращения к серверу без перезагрузки страницы.

Уменьшение времени отклика, создание интерактивных веб-интерфейсов.

 

Формат пересылаемых данных

  • JSON — простой и «легкий» формат, хорошо подходит для обработки в JavaScript
  • XML — универсальный язык разметки документов
  • HTML/текст
  • двоичные данные

 

Реализация AJAX

 

XMLHttpRequest — объект JavaScript, предоставляющий API для реализации AJAX

 

var xhr = new XMLHttpRequest();

xhr.open('GET', 'http://localhost/ajax.php', false);

xhr.send();

if (xhr.status == 200) {
    alert( xhr.responseText );
} else {
    alert( 'Ошибка ' + xhr.status + ' - ' + xhr.statusText );
}

 

var xhr = new XMLHttpRequest();

xhr.open('GET', 'http://localhost/ajax.php', true);

xhr.send();

xhr.onreadystatechange = function() {

    if (this.readyState != 4) return;

    if (this.status != 200) {
        alert( 'Ошибка ' + this.status + ' - ' + this.statusText );
        return;
    }

    alert( xhr.responseText );

}

Подробнее  — http://learn.javascript.ru/ajax-intro

WebSocket

Режим двусторонней связи между браузером и веб-сервером в режиме реального времени.

Технология (кратко):

1. Клиент (браузер) обращается к серверу, устанавливает долговременное WebSocket-соединение
2. Сервер по своей инициативе по установленному соединению может отправлять клиенту сообщения
3. Клиент, получая сообщение, обрабатывает его по событию

Где применяется — всплывающие сообщения в социальных сетях, системы мгновенных сообщений, совместное редактирование документов и др.

Node.js

Node.js — программная платформа, позволяющая создавать гибридные веб-приложения полностью на JavaScript.

Node.js не требует специального программного обеспечения веб-сервера. Эту роль выполняют сами приложения Node.js.

const http = require('http');

const server = http.createServer((req, res) => {

  res.writeHead(200, {
    'Content-Type': 'text/plain; charset=UTF-8'
  });

  res.end('Hello world!');

});

server.listen(8000, 'localhost');

Подробнее — http://learn.javascript.ru/nodejs-screencast

 

Опубликовано: 23.12.2015 г.