О технологиях в веб-разработке

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

Если очень кратко, то современный сайт состоит из следующих основных компонентов:

  • Интерфейс. Это то, что видит пользователь, когда заходит на сайт. Реализуется при помощи HTML, CSS и JS.
  • Программная часть. Это алгоритмы, которые служат для обработки запросов пользователя. По сути, программная часть создает или получает из базы данных информацию, которую запрашивает пользователь, а также принимает и обрабатывает данные от пользователей. Программная часть пишется на серверных языках программирования и, как правило, на основе неких платформ для разработки.
  • База данных. Это место хранения информации, которая используется на сайте. В базе данных хранится содержание всех страниц сайта и их взаимосвязи, заказы пользователей в интернет-магазинах и многое другое. По запросу программной части база данных находит и отдаёт требуемые записи (например, информацию, отображаемую на странице) или записывает новые данные (например, содержание заказа).
  • Хостинг. Это сервер (компьютер) на котором работает программная часть сайта и хранится база данных. Хостинг бывает разный, от его вида зависит скорость и надёжность работы сайта.

Собственно требования к компонентам достаточно предсказуемы:

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

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

Cтатьи по теме:

Серверные языки программирования
Серверные языки программирования нужны для реализации бизнес-логики, то есть разработчик при помощи языка программирования описывает возможные сценарии использования сайта или приложения.
CMS — коробочные системы управления сайтами
Система управления сайтом — это программный продукт, который создан для упрощения создания основных видов сайтов. Как правило, системы управления достаточно универсальны, то есть на них можно собрать что угодно: от информационного сайта до интернет-магазина или портала.
Фреймворки в веб-разработке
Фреймворки — это программные продукты, которые упрощают создание и поддержку технически сложных или нагруженных проектов. Фреймворк, как правило, содержит только базовые программные модули, а все специфичные для проекта компоненты реализуются разработчиком на их основе. Тем самым достигается не только высокая скорость разработки, но и большая производительность и надёжность решений.
Выбор между CMS и фреймворком
​Технически любой функционал может быть реализован как на CMS, так и на фреймворке. Однако некоторые проекты проще сделать на CMS, а некоторые — на фреймворке.
Рекомендации по выбору CMS и фреймворков
При выборе конкретной платформы для разработки часто возникают сложности. Бывает непросто принять взвешенное решение, в этом случае будет полезен формализованный алгоритм выбора.
Все технологии фронтенд-разработки: язык разметки HTML, таблицы стилей CSS и язык программирования JavaScript
Содержание и внешний вид каждой страницы сайта определяется HTML-кодом и содержанием таблицы стилей CSS, а поведение интерфейса — скриптами JavaScript.
Валидность и семантичность HTML
Валидность и семантичность HTML кода определяет качество сайта с точки зрения поисковых систем.

Тематические технологии:

Язык программирования Ruby
Фреймворк Ruby on Rails
Язык разметки HTML
CSS — каскадные таблицы стилей
Язык программирования JavaScript
Библиотека React
Библиотека MobX
Библиотека MobX State Tree