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