Небольшая предыстория
Для web-технологий и браузеров в частности, разрабатывалось множества различных стандартов. Например, в 1994 году был придуман VRML - язык "разметки" для "виртуальной реальности" (попросту 3D-"миры" в браузере). Популярности он не снискал, однако в настоящее время некоторыми браузерами поддерживается WebGL - расширение графической библиотеки OpenGL (на которой обычно и делается игровая 3D-графика) для браузеров, в том числе с поддержкой шейдеров (программ для видеокарт). Альтернативой этому было встраивание движка Unity3D в браузеры, и для своих времен это было очень красиво. Однако производители браузеров отказались от его поддержки, так как было слишком много на нем "наколенных поделок", которые портили репутацию и платформе Unity, и самим браузерам.
Еще одной популярный технологией был Adobe Flash. В настоящее время от него отказывается даже сам создатель (Adobe, производитель фотошопа и других популярных дизайнерских приложений). Сейчас векторную графику делают в браузерах с помощью SVG.
Что ж... нас ждет другое будущее.
WebAssembly
Люди хотят писать для браузеров не только на Javascript. Безотносительно того, стоит их понимать или нет :) - Mozilla разрабатывает стандарт WebAssembly, который уже экспериментально поддерживается в Firefox. В отличии от интерпретируемого Javascript, использование WebAssembly позволит запускать скомпилированные бинарные приложения, наподобие того, как это делают операционные системы. Языки, на которых можно будет писать такие приложения - могут быть самые разные, поскольку выполняться будет уже скомпилированный код (и его будет размер значительно меньше).
В настоящее время существует транслятор из LLVM-байткода в Javascript (emscripten). Это уже работающая реализация WebAssembly поверх Javascript. LLVM-байткод может быть сгенерирован любым LLVM-совместимым компилятором, например это можно сделать для кода на C++. Уже появилось множество проектов портирования (переноса) старых игр и приложений в браузер на основе старого кода.
Не веб
Уже несколько лет, этак 5, существует технология Apache Cordova (и множество её ответвлений - "форков"), позволяющая запускать HTML/JS/CSS код как мобильное приложение. Такие приложения называются "гибридными" - их интерфейс не нативен, то есть не использует встроенные в мобильную ОС элементы управления (списки, кнопки, панели и так далее), но они вполне функциональны.
Meteor, например, позволяет собрать код сайта (на Meteor, естественно!) сразу в приложение. В одной из статей мы это рассматривали. Для Meteor также существует пакет arboleya:electrify, который делает из веб-приложения на платформе Meteor... десктопное приложение! Все это происходит с помощью node.js-разработки Electron - которая позволяет создавать десктопные приложения с помощью Javascript. На ней реализовано достаточно большое количество повсеместно используемых приложений - например, Visual Studio Code (среда для разработчиков), Markdown Office (совместная работа с помощью Google Drive), Pexels (приложение поиска изображений со свободной лицензией), и много-много других - VK Messenger в частности.
О грустном :)
В настоящее время вовсю идут эксперименты по генерации сайтов с помощью нейросетей. Это когда сети говорят, что вот на этих данных с её текущими параметрами у неё получилось хорошо (обучают), а затем уже на новых данных она выдает желаемый ответ.
Я не буду показывать то, что у нейросетей получается. Получается плохо. Я думаю дизайн так и надо продолжать создавать человеком, а вот верстку уже можно доверить нейросетям: и такие пробы уже есть для iOS-приложений.
Oh my god, let's do funky ... things
Если вы еще не устали от чудес, вот десерт: PureQML. QML - язык разметки, разработанный для создания десктоп-приложений на платформе Qt от Nokia. Есть несколько вариантов реализации QML -> HTML/CSS/JS, из них PureQML не следует полностью стандарту QML - и это обоснованно. За примерами, зайдите на сайте pureqml.com в раздел уроки. Зачем это? То что вы сделаете на PureQML можно запустить не только в браузере, но и например на Android TV. Эти ребята действительно безумные, и я их знаю :)
Заключение. Теперь заключение.
Эта последняя статья из цикла "Введение во фронтенд", и в ней приведены примеры того, что грань между веб-технологиями и остальными платформами постепенно стирается, благодаря тому что технологии постоянно смешиваются и реализуются под различные варианты запуска (вы же видели видео с Doom на калькуляторах от Texas Instruments?). Ваш холодильник наверняка уже умеет ходить в интернет (а завтра он будет делать там за вас покупки).
И веб-фронтенд - далеко не единственный вариант фронтенда сервиса, однако некоторые варианты реализации веб-фронтенда могут быть запущены на других платформах.