13. Система пакетов
● пакеты работают с сервером и с клиентом
● позволяет создавать собственные пакеты
● легко расширяемая
● следит за версиями пакетов
13 /44
16. Автоматическое обновление кода
Код Meteor
Сервер
перезапуск
Клиент 1
...
Клиент 2
Метеор сам следит за актуальностью
скриптов на клиенте!
Больше никаких “нажмите Ctrl + R”!
16 /44
19. Как это работает
Связь между клиентом и сервером
осуществляется по DDP *
протоколу.
DDP отвечает за:
● синхронизацию данных между клиентом и
сервером
● RPC (вызов серверных процедур на клиенте)
* - data distributed protocol. 19 /44
21. Пример: создание проекта
> meteor create meteor_messages
> ls -la
.meteor
meteor_messages.css
meteor_messages.html
meteor_messages.js
> meteor 21 /44
22. Пример: создание проекта
> meteor create meteor_messages
> ls -la
Создаем проект
.meteor
meteor_messages.css
meteor_messages.html
meteor_messages.js
Запускаем проект
> meteor 22 /44
23. Пример: meteor_messages.js
1. var Messages = new Meteor.Collection("messages");
2. if(Meteor.isClient) {
... //клиентская логика
13. }
23 /44
24. Пример: meteor_messages.js
1. var Messages = new Meteor.Collection("messages");
2. if(Meteor.isClient) {
... //клиентская логика
13. }
24 /44
25. Пример: meteor_messages.js
1. var Messages = new Meteor.Collection("messages");
2. if(Meteor.isClient) {
... //клиентская логика
13. }
25 /44
36. Пример: результат - быстро!
Время создания проекта - 2 минуты!
В результате:
● Возможность создавать сообщения
● Мгновенная синхронизация между клиентами
36 /44
37. Обратная сторона медали
1. подходит не для всех приложений
2. управление подписками
3. управление правами
4. запуск на реальном сервере
37 /44
38. Подходит не для всех приложений
1. подходит не для всех приложений
Подходит для много-пользовательских
приложений.
Реактивность - это не всегда хорошо.
2. управление подписками
3. управление правами
4. запуск на реальном сервере
38 /44
39. Подходит не для всех приложений
1. подходит не для всех приложений
2. управление подписками
Нужно управлять подписками.
3. управление правами
4. запуск на реальном сервере
39 /44
40. Подходит не для всех приложений
1. подходит не для всех приложений
2. управление подписками
3. управление правами
Нужно управлять правами
4. запуск на реальном сервере
40 /44
41. Подходит не для всех приложений
1. подходит не для всех приложений
2. управление подписками
3. управление правами
4. запуск на реальном сервере
Потребуется NodeJs сервер
балансировщик нагрузки
кластер mongoDb
41 /44
42. Вывод: meteor идеально для
прототипа
● Быстро разрабатывать
● Удобно разрабатывать
● Легко рефакторить
42 /44