Современный фронтенд сложен и интересен

Небольшая интроспекция, может быть интересно как студентам, джунам, так и людям думающим: а не попробовать ли во фронтенд ?

Начнёмс…

Когда-то JS был очень примитивным скриптовым языком, сайты были максимально простыми, html, web технологии, браузеры были на заре становления и развития, а борьба с надоедающим Internet Explorer… многое изменилось радикально за годы, опустим детали и перейдём к нынешним реалиям.

А что же такое фронтенд сейчас ?

На веб технологиях можно делать не только лендосы но и сложные приложения: онлайн ide, аналитика и графика, видео, игры и куча всего.

Можно работать с графикой: canvas и 2d, привет красивые диаграммы, графики и двумерные игрушки. Также для 3d - WebGL, а еще и новый WebGPU, нужно сделать превью для интерьера комнаты, пожалуйста, твори и воплощай. Конечно есть высокоуровневые либы чтобы упростить себе работу.

Браузеры и web api стали очень богатыми: можно работать с аудио, кешировать данные на клиенте, хранить инфу для сайта прямо на клиенте и уйма чего еще. Браузеры по сложности своей и функционалу напоминают операционную систему чем то.

Писать мобилку ?

- Привет, React native (инстаграм написан на нем).

Хочу делать десктоп ?

- Привет, Electron (яркий пример VS Code и на самом деле много другого софта на нём)

Хочу в бэкенд ?

- Привет, node.js (runtime на хромовском движке v8), deno (новый проект от разработчика node.js), bun (насколько помню там движок от сафари в качестве runtime). Куча либ для серверной разработки, всё цветёт и пахнет.

И можно найти другие, но более редкие места применения.

Помимо JavaScript, который сохраняет обратную совместимость но и обрел новые возможности есть и Typescript (преобразуется в JS, позволяет добавить типизации, новых конструкций и сделать JS похожим на современный удобный язык, сам TS берет истоки от C#)

На CSS вообще можно творить визуальные чудеса и придавать своим приложениям невообразимо красивый внешний вид и анимации.

Web Assembly - низкоуровневый ассемблеро-подобный язык, который позволяет исполнять код, написанный на других языках (Rust, Dart к примеру) в браузере.

В целом, много могу рассказать по этой теме, но не хочу раздувать этот обзор слишком сильно, фронты: можете присоединяться и накидать еще всякого интересного на эту тему 🙂

И само собой: фронт актуален, конечно двигать кнопки влево-вправо, обмазавшись кучей фреймворков и тулов много где требуется и это большинство работ и на мой взгляд полное уныние, но есть и реально интересные, крутые проекты.

Современный фронтенд сложен и интересен | Сетка — социальная сеть от hh.ru