Статьи

Основы фронтенда

Frontend-разработка#nbsp;— это процесс создания пользовательских интерфейсов (UI) для веб-приложений или веб-сайтов. Она включает в#nbsp;себя все технологии и#nbsp;инструменты, необходимые для достижения пользовательского взаимодействия с#nbsp;приложением в#nbsp;браузере. Поэтому каждая веб-страница в#nbsp;интернете и#nbsp;все, к#nbsp;чему вы#nbsp;можете на#nbsp;ней прикоснуться,#nbsp;— результат работы фронтенд-разработчика (фронтендера).

Большинство современных сервисов и#nbsp;сайтов используют клиент-серверную архитектуру, где клиентом выступает фронтенд, а#nbsp;сервером бэкенд. Фронтенд отвечает за#nbsp;взаимодействие с#nbsp;пользователем, а#nbsp;бэкенд за#nbsp;обработку логики, при этом общаются они между собой посредством запросов.

HTML, CSS и#nbsp;JavaScript#nbsp;— три основных языка, используемых для переноса дизайнов пользовательских интерфейсов веб-сайтов и#nbsp;веб-приложений в#nbsp;код. Именно их#nbsp;умеют воспринимать браузеры, поэтому в#nbsp;конечном виде любой код фронтенд приложения должен быть приведен к#nbsp;этим трем языкам. Каждый из#nbsp;этих языков предназначен для решения своей определенной задачи, но#nbsp;использоваться они могут только вместе, если стоит задача верстки современного функционального пользовательского интерфейса:

  • HTML (HyperText Markup Language)#nbsp;— это язык разметки, который используется для создания структуры веб-страниц. Он#nbsp;позволяет создавать элементы, такие как заголовки, абзацы, изображения, ссылки и#nbsp;многое другое. HTML#nbsp;— это основа, и#nbsp;без него невозможно создать «каркас» веб-страницы.
  • CSS (Cascading Style Sheets)#nbsp;— еще один язык разметки, который используется для оформления стилей веб-страниц. Он#nbsp;позволяет определять стиль и#nbsp;внешний вид элементов, создавать различные эффекты и#nbsp;анимации. CSS делает веб-страницы более привлекательными и#nbsp;понятными для пользователей.
  • JavaScript#nbsp;— наконец уже язык программирования, который используется для создания интерактивных элементов на#nbsp;веб-страницах. Он#nbsp;позволяет создавать различные функции, обрабатывать события и#nbsp;взаимодействовать с#nbsp;пользователем. JavaScript#nbsp;— это ключевой инструмент для создания интерактивных элементов на#nbsp;веб-страницах, при этом он#nbsp;не#nbsp;занимается обработкой основной логики работы сервиса, поэтому не#nbsp;заменяет собой бэкенд.

Последние версии HTML, CSS и#nbsp;JavaScript на#nbsp;текущий момент:

HTML5#nbsp;— это последняя версия HTML, которая была выпущена в#nbsp;2014 году. Она добавила много новых элементов и#nbsp;атрибутов, таких как мультимедийные элементы и#nbsp;элементы формы.

CSS3#nbsp;— это последняя версия CSS, которая была выпущена в#nbsp;2011 году. Она добавила много новых функций, таких как анимации, градиенты и#nbsp;медиа-запросы.

ECMAScript 2023#nbsp;— это последняя версия JavaScript, которая была выпущена в#nbsp;2023 году. Она добавила несколько новых функций для работы с#nbsp;массивами, WeakMap и#nbsp;унифицированный механизм удаления шебангов. Последнее большое обновление было выпущено в#nbsp;2019 году.

Также, помимо использования вышеупомянутых языков «в#nbsp;чистом виде», разработчики давно прибегают к#nbsp;использованию фреймворков (и#nbsp;библиотек), которые легко интегрируются с#nbsp;HTML/CSS/JS, либо#nbsp;же основаны на#nbsp;них. Они облегчают и#nbsp;ускоряют процесс разработки, а#nbsp;также предоставляют дополнительные функции и#nbsp;возможности. Примеры:

  • React (библиотека) и#nbsp;Vue. js (фреймворк)#nbsp;— это два самых популярных решения для создания пользовательских интерфейсов (UI). Они используются для создания динамических и#nbsp;интерактивных веб-приложений.

  • Angular#nbsp;— это JavaScript-фреймворк, который используется для создания мощных и#nbsp;сложных веб-приложений. Он#nbsp;предоставляет множество инструментов для разработки, таких как инструменты для тестирования и#nbsp;управления зависимостями.

  • SASS и#nbsp;LESS#nbsp;— это препроцессоры для создания каскадных таблиц стилей (CSS). Они предоставляют дополнительные функции, такие как переменные, миксины и#nbsp;вложенные правила, которые помогают упростить и#nbsp;структурировать код CSS.

  • JSS (JavaScript Style Sheets)#nbsp;— также препроцессор, который позволяет писать CSS-стили, но#nbsp;уже в#nbsp;виде JavaScript-объектов, что обеспечивает более гибкую и#nbsp;динамичную работу с#nbsp;оформлением компонентов в#nbsp;React-приложениях.

  • Styled-components, в#nbsp;свою очередь, представляют собой библиотеку, основанную на#nbsp;идее JSS, но#nbsp;предоставляющую более высокоуровневый и#nbsp;интуитивно понятный способ описания стилей, что существенно упрощает разработку и#nbsp;поддержку#nbsp;UI в#nbsp;проектах React.

  • TypeScript#nbsp;— это язык программирования, который расширяет язык JavaScript и#nbsp;добавляет статическую типизацию. Он#nbsp;предоставляет дополнительные возможности для разработки, такие как поддержка классов и#nbsp;интерфейсов.

Вышеприведенные фреймворки и#nbsp;языки не#nbsp;заменяют HTML, CSS и#nbsp;JavaScript, так как код написанный на#nbsp;них все равно в#nbsp;конечном счете компилируется в#nbsp;эти три языка, но#nbsp;помогают улучшить и#nbsp;ускорить процесс разработки.

Ckend-разработка#nbsp;— это процесс создания и#nbsp;поддержки серверной части веб-приложений и#nbsp;программного обеспечения. Она отвечает за#nbsp;процессы и#nbsp;логику работы с#nbsp;данными, взаимодействие с#nbsp;хранилищами, обработку запросов от#nbsp;клиентских приложений и#nbsp;многое другое. По#nbsp;сути backend#nbsp;— внутренняя кухня приложения, невидимая и#nbsp;недосягаемая для обычного пользователя, без которой в#nbsp;принципе была#nbsp;бы невозможна работа сервиса.

Для тех, кто не#nbsp;читал предыдущую статью по#nbsp;фронтенду, напомним:

Большинство современных сервисов и#nbsp;сайтов используют клиент-серверную архитектуру, где клиентом выступает фронтенд, а#nbsp;сервером бэкенд. Фронтенд отвечает за#nbsp;взаимодействие с#nbsp;пользователем, а#nbsp;бэкенд за#nbsp;обработку логики, при этом общаются они между собой посредством запросов.

Самыми популярными языками для backend-разработки веб приложений являются: Python, PHP, Java, C#, Ruby и#nbsp;даже JavaScript (!), но#nbsp;обо всем по#nbsp;порядку. Как правило, порядок языков в#nbsp;топах и#nbsp;их#nbsp;набор несколько рознится от#nbsp;рейтинга к#nbsp;рейтингу, и#nbsp;от#nbsp;года к#nbsp;году, но#nbsp;это малоинтересно. Главное, что нужно понимать#nbsp;— топ бэкенд языков программирования глобально не#nbsp;менялся уже много лет, поэтому его лидеров можно выбирать смело, ориентируясь на#nbsp;специфику языка и#nbsp;личные предпочтения.

Python#nbsp;— удобный, высокоуровневый язык программирования с#nbsp;простым синтаксисом, который широко используется для разработки backend-части веб приложений. Его сильная сторона#nbsp;— возможность быстрого прототипирования и#nbsp;разработки, что делает его популярным выбором для стартапов и#nbsp;проектов с#nbsp;ограниченными сроками. Для него существует множество веб фреймворков, таких как Django, Flask, FastAPI, и#nbsp;других.

PHP#nbsp;— скриптовый язык, созданный исключительно для веб-разработки. Он#nbsp;используется для создания динамических веб-страниц и#nbsp;интегрируется непосредственно в#nbsp;HTML. PHP часто применяется для разработки блогов, социальных сетей, CMS и#nbsp;других веб-приложений. Его встроенные инструменты для работы с#nbsp;базами данных и#nbsp;обработки форм делают его удобным выбором для создания интерактивных веб-сайтов. Однако, хейтеров у#nbsp;языка и#nbsp;его эко-системы предостаточно.

Java#nbsp;— универсальный объектно-ориентированный язык программирования, который позволяет создавать приложения для самых разных платформ. В#nbsp;backend-разработке Java часто используется в#nbsp;связке с#nbsp;фреймворком Spring для создания надежных и#nbsp;масштабируемых приложений. Его главные особенности: высокая скорость и#nbsp;безопасность сделали язык популярным выбором для крупных корпоративных проектов и#nbsp;банковских сервисов.

C##nbsp;— тоже объектно-ориентированный язык программирования, разработанный компанией Microsoft. Он#nbsp;часто используется для создания Windows-приложений и#nbsp;игр, но#nbsp;также нашел применение в#nbsp;веб-разработке, в#nbsp;особенности с#nbsp;использованием платформы ASP.NET. C# в#nbsp;целом тесно связан с#nbsp;платформой .NET и#nbsp;имеет полную поддержку инструментов и#nbsp;библиотек, разработанных Microsoft.

Ruby#nbsp;— динамический, объектно-ориентированный язык с#nbsp;простым синтаксисом. Он#nbsp;прославился благодаря фреймворку Ruby on#nbsp;Rails, который был разработан для создания веб-приложений с#nbsp;минимальными усилиями. Язык выделяется своей философией «Convention over Configuration», что способствует быстрому прототипированию и#nbsp;уменьшению необходимости в#nbsp;дополнительной настройке. Кроме того, фреймворк Ruby on#nbsp;Rails предлагает готовые решения для многих задач.

И#nbsp;в#nbsp;заключение:

JavaScript, изначально являвшийся языком для frontend-разработки, с#nbsp;появлением Node. js#nbsp;стал применяться и#nbsp;на#nbsp;серверной стороне. Node. js#nbsp;позволяет запускать JavaScript приложения на#nbsp;сервере, обеспечивая хорошую производительность и#nbsp;эффективное взаимодействие с#nbsp;другими ресурсами. Стоит сказать, что применение JavaScript на#nbsp;бэкенде хоть и#nbsp;выглядит изначально специфически, тем не#nbsp;менее свою аудиторию и#nbsp;круг задач нашло.

Вообще backend-разработка включает в#nbsp;себя не#nbsp;только работу с#nbsp;языками программирования: это и#nbsp;фреймворки, и#nbsp;базы данных, различные хранилища, инструменты обеспечения безопасности, сервисы аутентификации и#nbsp;авторизации, межсервисное взаимодействие и#nbsp;много-много всего другого.

Специфика работы может сильно отличаться в#nbsp;зависимости от#nbsp;выбранного вами языка и#nbsp;направления в#nbsp;вебе, но#nbsp;основная концепция остается неизменной backend#nbsp;— логическое ядро любого сервиса.
2024-01-10 12:31 Старт в IT и фишки