Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CodeFest 2012. Лихтер К, Таратухин И. — Коктейль «Skydive» или как мы делали 2ГИС-Онлайн

946 views

Published on

  • Be the first to comment

  • Be the first to like this

CodeFest 2012. Лихтер К, Таратухин И. — Коктейль «Skydive» или как мы делали 2ГИС-Онлайн

  1. 1. Коктейль Skydive или как мы делали 2ГИС-ОнлайнКонстантин Лихтер Илья Таратухин2ГИС 2ГИС
  2. 2. Что такое Skydive?
  3. 3. Что такое 2ГИС-Онлайн?
  4. 4. Что такое 2ГИС-Онлайн?
  5. 5. Что такое 2ГИС-Онлайн?
  6. 6. Что такое 2ГИС-Онлайн?... миллионы пользователей в месяц
  7. 7. Что такое 2ГИС-Онлайн?— ... миллионы пользователей в месяц... сотни тысяч пользователей в день
  8. 8. Что такое 2ГИС-Онлайн? — ... миллионы пользователей в месяц — ... сотни тысяч пользователей в день... миллионы поисковых запросов в день
  9. 9. Что такое 2ГИС-Онлайн?— ... миллионы пользователей в месяц— ... сотни тысяч пользоваталей в день— ... миллионы поисковых запросов в день
  10. 10. Что такое 2ГИС-Онлайн?— ... миллионы пользователей в месяц— ... сотни тысяч пользоваталей в день— ... миллионы поисковых запросов в день
  11. 11. Как выглядел 2ГИС Онлайн раньше ...монолитное приложение
  12. 12. Как выглядел 2ГИС Онлайн раньше— монолитное приложение ...проксирование запросов к API
  13. 13. Как выглядел 2ГИС Онлайн раньше— монолитное приложение— проксирование запросов к API ...рендеринг шаблонов на сервере
  14. 14. Как выглядел 2ГИС Онлайн раньше— монолитное приложение— проксирование запросов к API— рендеринг шаблонов на сервере ...никакой масштабируемости
  15. 15. Как выглядел 2ГИС Онлайн раньше— монолитное приложение— проксирование запросов к API— рендеринг шаблонов на сервере— никакой масштабируемости
  16. 16. Что такое 2ГИС-Онлайн? client-side
  17. 17. Что такое 2ГИС-Онлайн?— client-side 3 API
  18. 18. Что такое 2ГИС-Онлайн?— client-side— 3 API видимый результат на лету
  19. 19. Что такое 2ГИС-Онлайн?— client-side— 3 API— видимый результат на летуплощадка для исследований API 2ГИС
  20. 20. Что такое 2ГИС-Онлайн?— client-side— 3 API— видимый результат на лету— площадка для исследований API 2ГИС low end server
  21. 21. Что такое 2ГИС-Онлайн?— client-side— 3 API— видимый результат на лету— площадка для исследований API 2ГИС— low end server горизонтальное масштабирование
  22. 22. Как выглядит 2ГИС Онлайн сегодня
  23. 23. Ингридиенты: слой данных API 2ГИС Слой пробок
  24. 24. Ингридиенты: front-end API карт
  25. 25. Ингридиенты: front-end API карт 150+ городов России
  26. 26. Ингридиенты: front-end API карт — 150+ городов России тысячи маркеров на карте
  27. 27. Ингридиенты: front-end API карт — 150+ городов России — тысячи маркеров на карте простой и понятный интерфейс
  28. 28. Ингридиенты: front-end API карт — 150+ городов России — тысячи маркеров на карте — простой и понятный интерфейсинициализация карты в три строчки
  29. 29. Ингридиенты: front-end API карт — 150+ городов России — тысячи маркеров на карте — простой и понятный интерфейс — инициализация карты в три строчки модульная система
  30. 30. Ингридиенты: front-end API карт knockout.js
  31. 31. Ингридиенты: front-end: knockout.js MVVM
  32. 32. Ингридиенты: front-end: knockout.js— MVVM автоматическое обновление представления при обновлении данных
  33. 33. Ингридиенты: front-end: knockout.js— MVVM— автоматическое обновлениепредставления при обновлении данных— декларативные биндинги: <div id=”firmsList” data-bind=” visible: firmsLoaded, foreach: { data: loadedFirms, template: ‘firmCard’ } ”> </div>
  34. 34. Ингридиенты: front-end: knockout.js— MVVM— автоматическое обновлениепредставления при обновлении данных— декларативные биндинги— разделение представления и логики:
  35. 35. Ингридиенты: front-end: knockout.js— MVVM— автоматическое обновлениепредставления при обновлении данных— декларативные биндинги— разделение представления и логики поддержка jQuery шаблонов
  36. 36. Ингридиенты: front-end: knockout.js— MVVM— автоматическое обновлениепредставления при обновлении данных— декларативные биндинги— разделение представления и логики— поддержка jQuery шаблонов низкий уровень вхождения
  37. 37. Ингридиенты: front-end: knockout.js— MVVM— автоматическое обновлениепредставления при обновлении данных— декларативные биндинги— разделение представления и логики— поддержка jQuery шаблонов— низкий уровень вхождения активное интернет-сообщество
  38. 38. Ингридиенты: back-end nginx memcached
  39. 39. Инструменты phing — YUI Compressor — Google CС Yii
  40. 40. Инструменты phing — YUI Compressor — Google CС — CSS: в 2 раза — JS: в 1.5 раза
  41. 41. Инструменты phing - YUI Compressor - Google Closure Compiler Yii
  42. 42. Инструменты: локализация gettext великое множество инструментов для работы с .po
  43. 43. Инструменты: локализация gettext — великое множество инструментов для работы с .po нативная реализация для PHP
  44. 44. Инструменты: локализация gettext — великое множество инструментов для работы с .po — нативная реализация для PHP собственная реализация для JS
  45. 45. Процесс разработки: git flow g 1.0 g 1.1 g 2.0 master Ta Ta Ta develop
  46. 46. Процесс разработки: git flow g 1.0 g 1.1 g 2.0 master Ta Ta Ta develop feature*
  47. 47. Процесс разработки: git flow g 1.0 g 1.1 g 2.0 master Ta Ta Ta release* develop
  48. 48. Процесс разработки: git flow g 1.0 g 2.0 master Ta Ta hotfix* develop
  49. 49. Команда разработки
  50. 50. Планы поиск проезда общественного транспорта
  51. 51. Планы— поиск проезда общественного транспорта переход к глобальной карте
  52. 52. Планы— поиск проезда общественного транспорта— переход к глобальной карте совершенствование и совершествование поиска :)
  53. 53. Заключение — client-side приложения — да! — экспериментируйте! — вы знаете, где взять свежие данные. — ходить на — круто! :)
  54. 54. Вопросы? Константин Лихтер Илья Таратухин k.likhter@2gis.ru i.taratuhin@2gis.ruИзображения алкогольной продукции и прочих штук — www.inshaker.ru

×