Технологии платформы
Платформы - это технологии, стандарты, библиотеки, фреймворки и т.д. А также, соглашения по использованию, правила организации рабочего процесса.
В основе платформы современная версия Ubuntu LTS (>=22). Изоляция достигается использованием Docker, Linux контейнеров или виртуализации серверов. Для активных окружений используются шаблоны или образы.
Стек
- Сервер
- Ubuntu LTS (>=22)
- Docker
- Linux Containers (LXD)
- Серверные приложения, библиотеки
- PHP >=8.2.x
- PostgreSQL (PostGIS) >=15
- MySQL 5.7.x, 8.x
- Системы управления, фреймворки, библиотеки
- 1C-Битрикс >=23.x
- Node.js LTS (>=18)
- Vue.js 2,3
- Nuxt 2,3
- Стиль
- Bulma
- Стандарты, соглашения
- JavaScript Standard
- ES6, ES2021
- TypeScript
Ubuntu LTS
Ubuntu один из популярных дистрибутивов Linux. Изначально основан на другом популярном дистрибутиве Debian. И наследует, совместим с его архитектурой. Ubuntu может использовать как рабочий стол для пользователя, и как чисто серверное решение. Мы используем в Ubuntu и в разработке и как операционную систему для серверов.
Каждый четвертый выпуск Ubuntu, каждые два года выходит с расширенной поддержкой от компании Canonical. Это 5 лет, в течение которых обновляются основные библиотеки и решаются задачи в области безопасности. Именно эти LTS (Long-Term Support) дистрибутивы используем для работы, сайтов и приложений.
Это дает стабильность и предсказуемость поведения, возможность планирования обновлений и миграций.
Ubuntu — древнее африканское слово, означающее «человечность по отношению к другим».
Docker
Наиболее популярное и стабильное решение для управления контейнерами. Контейнер изолирует среду выполнения кода приложения или сайта. Контейнеры ничего не знают об операционной системе, или файлах на сервере. Вся необходимая функциональность изолирована на уровне контейнера. Можно создать любые конфигурации. Это обеспечивает высокий уровень защиты сервера. Позволяет быстро распространять приложения, копировать, удалять и создавать вновь. Запускать разные версии. Комбинировать разные версии ПО. Тестировать приложение или сайт в разных окружениях.
Node.js
Асинхронный движок, среда выполнения javascript. Работает на стороне сервера. Современные среды приложений, приложения реального-времени исполнения используют Node.js. Используем Node.js как основу, сервер для приложений Nuxt, Vue. А также для разработки и компиляции.
Vue.js
Основной фреймворк для предоставления функциональности на стороне браузера. Это формы, интерактивные элементы и т.д.Используем эту библиотеку начиная с 2016 года. C 2024 основная версия 3.
Используя Vue.js можно создать небольшую форму и полностью сайт или электронный магазин.
Vue.js поддерживает все современные тренды и возможности веб разработки. Нацелен на будущее. Поддерживает возможности SSR (Server Side Rendering). Когда часть кода может выполняться на стороне сервера. Что улучшает индексацию приложений полностью написанных на JavaScript. Делает их похожими на классические серверные PHP, Ruby проекты, с точки зрения поисковых роботов.
Nuxt.js
Основанный на Vue.js фреймворк для создания приложений и сайтов любой сложности и функциональности в кратчайшие сроки. Такие решения позволяют работать максимально продуктивно. Nuxt.js основной инструменты для создания одностраничных сайтов, приложений.
Bulma
Используем этот стиль, библиотеку как основу для адаптивного дизайна. Легковесная и функциональная библиотека. Позволяет быстро создавать прототипы и легко модифицировать визуальный стиль.
Стабильное, совместимое прогрессивное решение. Выверенный стиль базовых HTML-компонентов.