В этом уроке мы коротко разберем языки программирования, разметки и стилей.
Это отрывок из курса – "База IT для бизнеса за час"
Frontend отвечает за разработку пользовательского интерфейса и его функций. По сути, за все те элементы, с которыми взаимодействует пользователь. Frontend: HTML, CSS, JS
Backend реализует логику работы сайта, невидимую для глаз пользователя. Backend: PHP, Node js, GO, Java, Python, C#, C++, C
HTML
Язык разметки HTML-документов. Это скелет каждой веб-страницы. Основной элемент этого языка — теги. Из них, как из кирпичиков, создают страницу.
Конструкция тега проста: название тега помещают в угловые скобки. Есть открывающий тег и закрывающий тег. В закрывающий тег добавляют «/». Между тегами записывается контент — это может быть текст или другой тег.
Общая конструкция: <открывающий тег>Контент</закрывающий тег>
CSS
Это язык описания внешнего вида HTML-документа. CSS-стили описывают вид тега. Можно перекрашивать элементы, изменять отступы, менять расположение. При помощи CSS-стиля можно изменить объект как угодно.
Каждому тегу можно присвоить класс, по которому CSS-стиль будет применять свои правила внешнего вида.
Адаптивность
Ваши Web-страницы обязаны подстраиваться под разные экраны — мобильные, планшетные, десктопные. Это все делается при помощи CSS и Медиазапросов.
Планшетные пользователи составляют 1 % пользователей, по этой причине специально для них ничего не делается и им отдается мобильная версия сайта. Создавать отдельный мобильный сайт — это ошибка прошлого.
JavaScript
JavaScript (сокращено называют JS) наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. Любая логика на странице работает благодаря ему. HTML и CSS определяют внешний вид страниц, в то время как JS — все остальное. При помощи этого языка происходит общение между Frontend и Backend. Код, написанный на JS, может обращаться посредством API к Backend и после получения ответа изменять содержимое страниц.
PHP
Скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В 1995–2010 годах не имел достойных аналогов для простых сайтов, из-за этого 90% сайтов были написаны на нем. Благодаря широкому применению ранее используется до сих пор, так как созданные сайты нужно поддерживать. Имеет очень много недостатков, низкую производительность и на данный момент устарел. Все крупные проекты, которые в 2000-е были написаны на PHP, в 2010-е годы были переписаны.
Мы настоятельно рекомендуем не связываться c данным языком. Ниже доводы из разных источников.
Node.js
Node.js — программная платформа, которая переводит JS в машинный код и превращает его в язык общего назначения. До появления этой платформы JS мог исполняться только в браузерах. А теперь везде. Год создания — 2009. Набирает стремительную популярность из-за того, что разработчику нужно знать один язык. Очень удобно, когда у тебя Frontend и Backend написаны на одном языке. Имеет высокую производительность, развитую экосистему, высокую масштабируемость, асинхронность.
Асинхронность и производительность
Если на сервер поступает несколько запросов одновременно, то асинхронный код может обработать их вместе, в то время как синхронный код будет выполнять их последовательно. Это одна из причин, почему PHP медленный.
Масштабируемость
Это возможность расширять производительность вашей системы. Данная тема довольно большая и сложная, явно не подходит для этого курса. Если вам интересно, то вот ключевые слова, при помощи которых можно начать ее изучать: Микросервисы, Кубернетес.
На определенном этапе развития вашего проекта это может стать очень критичным вопросом. Такой момент происходит тогда, когда одна самая сильная машина на сервере не справляется со своими задачами и нужно заводить вторую.
Экосистема
Это сообщество вокруг инструмента. Данный пункт легко проверяется на сайте gitНub. Любой публичный репозиторий можно изучить: количество звезд, количество обсуждений, дату обновления и т. д.
Ниже скриншот страницы Node.js на gitHub:
Модули
Модули Node.js представляют несколько функций, сгруппированных в один или несколько файлов JS. Все эти функции имеют уникальный контекст и не мешают работе других модулей. Данная технология позволяет повторно использовать код и повышает удобство использования.
Есть веселый рассказ про платформу тут:
Python
Язык общего назначения, направленный на облегчение работы разработчика. Имеет самый лучший синтаксис, подходит для решения любых задач. Его недостаток — скорость работы, но зато скорость разработки очень высокая. Он идеально подходит для стартапов, которым нужно быстро разрабатывать новые решения и изменять их. Лидирует в направлениях анализа данных и машинного обучения.
Важный момент про скорость. Во всех алгоритмах обучения Python выступает как менеджер библиотек, которые, в свою очередь, могут быть написаны на очень производительных языках, например C++. Поэтому это утверждение может быть не всегда справедливо.
На данный момент самый популярный язык. С него легко начинать изучать программирование.
JAVA
Один из самых популярных языков. Имеет одну из самых широких сфер применения: Backend для Web, мобильные приложения, анализ данных, программирование физических вещей и т. д. Чаще всего применяется в крупных проектах, так как этот язык сложнее, чем Python, JS, PHP.
Golang
Golang — язык, написанный в компании Google на замену Java, C, C++. Основное предназначение — Backend высоконагруженных программ. Используется в сервисах Google, а также в проектах с большим количеством пользователей.
C
Язык программирования Си оказал существенное влияние на развитие индустрии программного обеспечения. В каком-то смысле его можно назвать отцом всех предыдущих языков. Основное применение: операционные системы, утилиты, компиляторы и, реже, прикладные программы. Поэтому Cи называют системным языком программирования. Скорее всего, вы не встретитесь с ним на своих проектах. Хотя он есть в каждом вашем устройстве.
C++
C++ используется во всех сферах деятельности программирования: от высоконагруженных систем до программирования микроконтроллеров. На С++ можно написать как веб-сервер, так и игры, любые компьютерные программы, компоненты и т. д. На данный момент это один из самых производительных и сложных языков. Конкуренцию ему составляет более молодой Rust.
C#
C# — язык программирования, который компания Microsoft изначально делала для своих проектов. Особенно хорошо он сочетается с экосистемой Microsoft. Область применения: игры, Backend, машинное обучение. Но это все должно быть на Windows. Сервера на Windows стоят дороже. Да и в целом же Web — это про Open Source.
Другие интересные наши работы
Узнайте, на жителя какой страны вы похожи
Исследование 4000 вакансий и резюме директоров по маркетингу. Требования и компетенции