2. Я расскажу про PJAX
‣ PJAX = pushState + AJAX
‣ существует с 2011 года
‣ Есть Turbolinks для Rails и аналоги для
Express, Django, Laravel и других
‣ Активно используется GitHub и Basecamp
‣ Незаслуженно забыта
2
9. PJAX крут
‣ Экономия: нет загрузки и парсинга CSS/JS
‣ Визуально быстрее
‣ Ссылки не ломаются!
• Подменяем URL через HTML5 History API,
• Для старых браузеров – обычный переход по ссылке
‣ Progressive enhancement в чистом виде
9
10. Традиционные веб-приложения
‣ "честный" GET / POST с перезагрузкой страницы
‣ шаблонизацию и логику отображения делает сервер
‣ JavaScript только для улучшения интерфейсов
‣ таких приложений большинство
10
11. Только SPA
‣ быстрый отзывчивый интерфейс
‣ работа со сложными моделями на клиенте
‣ offline
11
12. Только SPA
‣ онлайн-редакторы: Google Docs, редакторы UI
‣ мессенджеры: Gmail, Slack, FB messenger
‣ offline: Gmail, Google Calendar, Pocket, Google Keep
12
13. SPA для техдира
‣ 2 приложения вместо 1
‣ +1 язык разработки
‣ +1 фреймворк: для приложения
‣ +N библиотек: роутинг, тестирование, деплой, etc
‣ backend нужно переписывать
‣ выделить команду
13
14. SPA для техдира
В итоге:
‣ работы прибавится
‣ риски возрастут
‣ ресурсы прежние
!
Прагматичное решение – разрабатывать по-старинке
14