Единая платформа для сайта и приложений Медузы /...

Post on 12-Apr-2017

584 Views

Category:

Engineering

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

План• Самат Галимов, техдир — разогрев — 10 минут

• Ярослав Кравченко, фронтенд — спецпроекты без боли — 30 минут

7

8

desktop vs mobile

8млн vs 2млн сессий в месяц

10

11

12

сложности в мобилах• нет возможности откатиться

• креши видны явно

• апдейты с рекламой = не круто

• ревью 2 недели в iOS13

14

ops problem now

15

скрудж

итого

• нет быстрым спецпроектам (реклама!)

• нет экспериментам

18

Что же делать?

20

21

22

кто сталкивался с webview в

iOS/Android?

23

24

1 <html> 2 <head> 3 JS 4 CSS 5 </head> 6 <body> 7 %%json>body%% 8 </body> 9 </html>

25

26

1 { 2 meta: { 3 published_at: 4 ... 5 }, 6 content: { 7 body: "<div>text</div>", 8 layout_url: "layouts/19" 9 } 10 }

mdza.io/json

27

native+web profit• native feel

• новые фичи в обход обновления приложения

• веб-инфраструктура: деплой, ролбек, поддержка

28

Ярослав Кравченко

29

Решения

• inline • iframe

30

31

• CORS в iOS ⟶ JSONP

• Дублирующиеся элементы из-за SEO ⟶ удалили SEO из материала с игрой

• Правки стилей / JS кода ⟶ исправить материал, опубликовать, обновить лэйаут

Проблемы и решения

32

33

34

35

duckling• Gulp + Webpack • Node.js + Express • React • LESS • MongoDB

36

Проблемы и решения• CORS ⟶ duckling на том же домене

• Респонсив по высоте ⟶ postMessage

• Коммуникация эмбеда с вебом ⟶ postMessage

• Коммуникация эмбеда с приложением ⟶ postMessage + bridge

37

Профит от подхода с эмбедами

• Модный стэк технологий - быстрая и простая разработка

• Можно выпилить множеством способов не ломая сам материал

• API медузы доступно без магии

• Минимальные изменения в коде вэба/лэйаутов38

39

40

Нерешенные проблемы

• Из-за сложной архитектуры сложно запускать локально

• Отладка Webview

41

Какие вопросы у вас возникли?

Ярослав Кравченко @sowingthewounds

Самат Галимов @samat

Meduza Dev @mdzdev

top related