Support us

Meteor — реактивный JS фреймворк

Оставить комментарий
Meteor — реактивный JS фреймворк

Метеор – это довольно молодая платформа с открытым кодом, существенно облегчающая разработку веб-приложений реального времени. Код этого фреймворка работает поверх Node.js, и для связи с браузерами использует Distributed Data Protocol.

У этого фреймворка есть несколько очевидных плюсов для любителей JS.

Чистый-чистый JS

Вы можете писать свои приложения на чистом JS, при этом использовать одни и те же куски кода как на сервере, так и на клиенте. Включая API  и работу с базами данных (предлагают к использованию MongoDB). Разделение зон ответственности кода радует своей простотой:

Шаблоны, реактивность, клиент-серверный протокол и не только прототипирование

if (Meteor.isServer)
{
//ваш код
}

if (Meteor.isClient)
{
//ваш код
}

 

Свои шаблоны

Создание шаблонов для вашего приложения – очень простое и приятное занятие. Время подготовки, например, вашей верстки зависит только от сложности самой верстки. Приложение практически не вносит существенных корректив. Одно из самых приятных натягиваний шаблона на логику, которое я встречал.

Более того, как только меняется информация в базе данных или шаблоне, изменения произойдут и на странице вашего приложения, причем без перезагрузки страницы. Вы можете просто писать свой код, и изменения будут применяться автоматически незаметно для пользователей. В идеальном мире пользователь вообще не заметит, что приложение обросло новым функционалом или пропала досадная ошибка в поведении приложения.

Index.html

<head>
<title>Realtime </title>
</head>

<body>
  {{> header }}
</body>

header.html

<template name="header">
<h1>Hello!</h1>

<p>Hello, {{username}}.</p>

</template>


К слову, вы довольно легко можете поменять шаблонизатор – заявлена поддержка всего и вся. Выкатили эту возможность буквально пару месяцев назад, но жалоб в Сети практически нет.

Реактивное приложение

Когда пользователь вводит какие-то данные в ваше приложение, он получает обратную связь мгновенно, без необходимости ждать ответа сервера (привет любителям реактивного программирования!).

Например, при редактировании своего профиля на сайте пользователь меняет содержимое какого-нибудь поля и, после нажатия кнопки «сохранить», получает результат сразу в браузере. Измененные данные сохраняются в локальной базе данных (по факту фреймворк использует две БД: одну на стороне сервера, вторую на стороне клиента – прямо в браузере), и обмен данными с сервером идет уже в фоновом режиме. Однако если сервер все-таки отклонит запрос или возникнет ошибка – пользователь узнает об этом максимально быстро и просто.

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

Distributed Data Protocol

Это клиент-серверный протокол для запросов и обновления базы данных на стороне сервера и для актуализации приложения на стороне клиента. Для своей работы использует паттерн «издатель-подписчик», который максимально подходит под парадигму фреймворка. Он определяет зависимость типа «один ко многим» между объектами таким образом, что при изменении состояния одного объекта все зависящие от него прочие объекты оповещаются об этом и автоматически обновляются.

Сам протокол был создан непосредственно для использования в Метеоре. Его силами обычно передаются данные, а не готовый HTML-код.

Не только прототипирование

Если раньше подобные фреймворки нередко использовали только для быстрого прототипирования (показать, как работает интерфейс – быстро и с нормальной логикой поведения приложения – дорогого стоит), то сейчас Метеор используют на вполне серьезных проектах. В Сети есть довольно большое количество материала по масштабированию проектов, использующих эту платформу.

Отрадно видеть, что недавняя «игрушка», приятное дополнение к более традиционным подходам к программированию вырастает в нечто самостоятельное. При этом оставаясь простым, как три копейки. Установить Метеор, развернуть его и опубликовать тестовое приложение в Сети можно буквально в несколько команд в терминале.

Просто попробуйте на этой странице: https://www.meteor.com/examples.

А пользователи Windows могут сделать это еще проще: http://win.meteor.com.

Простота равна производительности

Платформа изначально разрабатывалась с учетом простоты обучения. Для начала разработки достаточно установить Метеор, многие вещи он делает на фоне, самостоятельно. Например, Метеор автоматически синхронизирует данные между всеми вашими пользователями в реальном времени: вы не будете думать об этом, пока не появится необходимость добавить какие-нибудь правила, например, касающиеся ролей пользователей в приложении.

Немаловажную роль в простоте обучения Метеору играет и понятное прозрачное API.

Увидеть простоту реализации небольшого приложения на Метеоре можно на сайте IBM (русская версия). 

«Толстые» клиенты – будущее Сети

Реальность такова, что задачи для разработчика движутся вперед семимильными шагами, и «толстые» клиенты – логичное решение для их выполнения. Пользователи привыкли к реактивным твиттеру или фейсбуку и хотят видеть подобное поведение приложений и на других сайтах. Они хотят получить информацию немедленно, ожидание загрузки страницы стало раздражающим фактором.

Судя по всему, нужно становится более гибкими в разработке и привыкать к новым реалиям, возможно, и с помощью Метеора. Я не призываю взять и бросить все классические подходы к программированию (в настоящее время это весьма сложно), но комбинировать старое и новое и уделять внимание желанием пользователя вашего приложения  просто необходимо.

Метеор – это одна из первых ласточек будущего интернета, ведь востребованность возможности взаимодействия с пользователями в реальном времени будет только расти.

16 лет dev.by — «дефолтный» источник информации о беларусском ИТ

Вы можете...

Читайте также
10 популярных курсов по изучению JavaScript для крутой веб-разработки
10 популярных курсов по изучению JavaScript для крутой веб-разработки
10 популярных курсов по изучению JavaScript для крутой веб-разработки
JavaScript остается одним из самых популярных языков программирования в мире. Мы собрали список курсов и сертификаций по Javascript от основ до необычных особенностей. В листинге как платные, так и бесплатные онлайн-курсы. Погнали за новыми знаниями!
2 комментария
Как оплачиваются самые популярные языки GitHub и какой прогноз
Как оплачиваются самые популярные языки GitHub и какой прогноз
Как оплачиваются самые популярные языки GitHub и какой прогноз
Rust стал самым быстрорастущим языком по числу разработчиков
Rust стал самым быстрорастущим языком по числу разработчиков
Rust стал самым быстрорастущим языком по числу разработчиков
ИТ-преподаватель не смог войти в айти. Пробовал самообучение, бесплатные и платные курсы
ИТ-преподаватель не смог войти в айти. Пробовал самообучение, бесплатные и платные курсы
ИТ-преподаватель не смог войти в айти. Пробовал самообучение, бесплатные и платные курсы
113 комментариев

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.