а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы...

25
Одиннадцатая независимая научно-практическая конференция «Разработка ПО 20122 - 24 октября, Москва Суханов Сергей в руках фронтенда

Transcript of а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы...

Page 1: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Одиннадцатая независимая научно-практическая конференция «Разработка ПО 2015»

22 - 24 октября, Москва

Суханов Сергей

в руках фронтенда

Page 2: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Что такое Meteor?

Page 3: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Full-stack javascript framework…

…а точнее платформа!

Page 4: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

MongoDB, Express, Angular and Node.js

Page 5: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Почему Meteor?

Page 6: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Современные приложения должны быть быстрыми и приятными в использовании

Page 7: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Решения проверенные временем устаревают

Настало время перейти от старой архитектуры (Rails, Django, PHP, ASP.NET)

…к той, которая соответствует новому поколению мобильных и веб приложений

Page 8: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

А теперь по подробнее…

Page 9: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Принципы Meteor

Один язык

База данных везде

Реактивность

Компенсация задержек

Page 10: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

База данных везде

Page 11: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

// создаем коллекцию Posts Posts = new Mongo.Collection('posts');

Коллекция данных одной строкой

// публикуем на сервере Meteor.publish('posts', function() { return Posts.find({flagged: false}); });

// подписываемся на клиенте Meteor.subscribe('posts');

Page 12: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Публикации как механизм безопасности

Page 13: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Доступ разрешен, доступ запрещен

Page 14: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Реактивность

Page 15: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Реактивное программирование

событийно-ориентированное программирование

масштабируемость

отзывчивость

устойчивость

Page 16: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Внутри у Метеора два сервера

Page 17: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

DDP (Distributed Data Protocol)

Page 18: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

WebSockets и SockJS

банк банк Саша Паша

(pasha)

Page 19: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Компенсация задержек

Page 20: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

+0ms: вызываем метод. +200ms: ждем +500ms: обновляем интерфейс

Обычный REST

Page 21: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

+0ms: вызываем метод +0ms: обновляем локальную коллекцию и интерфейс +200ms: не ждем +500ms: обновляем локальные данные, пришедшие с сервера. Пользовательский интерфейс обновляется чтобы отразить изменения, если они есть.

Метеор не ждет

Page 22: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Шаблоны

Page 23: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

first.html second.html third.html first.css second.css third.css first.js second.js third.js

HTML

CSS

JS

Продвинутый Handlebars

Page 24: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Smart packages и компания

Page 25: а точнее платформа!2015.secrus.org/2015/files/005_sukhanov.pdfПринципы Meteor Один язык База данных везде Реактивность Компенсация

Спасибо за внимание вопросы