Вот подумалось тут

Разбирая непрочитанные закладки в браузере, наткнулся на «заложенную» статью о Progressive Web Applications. Я некоторое время назад задумался о простеньком веб-приложении, умеющем работать в «оффлайне» — точнее, способном сохранить введенные в форму данные и затем синхронизировать их с сервером, так что краем глаза увидев «рекламу» концепции Progressive Web Application, подумал — это как раз то, что нужно! Вот сегодня наконец-то руки дошли до погуглить, что это такое и как они делаются — и если честно, я немного офигел.

Идея, если подумать — очень простая. Немалая часть «приложений» для Android или iOS — это несложные обертки над каким-нибудь API, работающим поверх обычного HTTP. Некоторые вообще не парятся и отрисовывают весь пользовательский интерфейс в WebView или как он там называется, и даже реализуют «содержательную» часть приложения на браузерном JavaScript. Так вот, зачем плодить такого рода «приложения», если можно сохранить на устройстве «главную страницу» сайта (или «приложения») вместе с необходимым JavaScript и прочими ресурсами (CSS, картинки и так далее)? PWA — это небольшой набор средств, позволяющих добавить специально оформленную веб-страничку в список «приложений» на устройстве с Android или iOS. К этому добавляется возможность зарегистрировать в системе некоторый код на JavaScript для фонового выполнения — эта штука называется ServiceWorker — и готово!

Примерно тот же набор фактов вперемешку с основными принципами разработки «прогрессивных веб-приложений» излагается обычно на паре страниц мелким текстом, засоренных «птичьим языком» про «rich mobile experience», «new level of quality» и тому подобную ерунду. В худшем случае все сводится к этой самой ерунде, а технические детали опускаются совсем.

Вот мне интересно — в других, отличных от веба разделах того, что обычно называют «информационными технологиями», отношение количества вот такого буллшита к техническим деталям обычно немного ниже. А почему?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *