Что такое стек технологий. Объясняем простыми словами
Стек технологий (от англ. stack — «стопка») — это набор технологий, на основе которых разрабатывается сайт или приложение. Стек включает в себя языки программирования, фреймворки (программная среда для разработки), системы управления базами данных, компиляторы (переводят текст, написанный на языке программирования, в набор машинных кодов) и так далее. Выбор конкретного стека зависит от архитектуры проекта, сложности и функциональности сайта, системных требований — какую выбрать операционную систему и систему управления базами данных, какой использовать веб-сервер и язык программирования. Например, для веб-разработки стек технологий может выглядеть так: операционная система Ubuntu Server; веб-сервер Apache; система управления базами данных Oracle или MySQL; язык программирования PHP; фреймворк Yii. Примеры употребления на «Секрете» «ИТ-специалисты должны чётко представлять, что ключевое в EdTech — открытость API, возможность интегрироваться с другими платформами, а также использование современного стека технологий». (Основательница Smart School Pro Елена Игнатьева — о типичных ошибках образовательных стартапов.) «Если применить подход в лоб и ориентироваться только на цену, то вы рискуете получить команду, которая не даст вам искомых показателей эффективности. К примеру, при выборе рекламного агентства следует обратить внимание на размер и опыт команды, стек используемых технологий, клиентский портфель и отзывы». (CEO Realweb Partners Эмин Аветисян — об ошибках офлайновых компаний при выходе в онлайн.) Нюансы Любое веб-приложение состоит из двух частей — клиентской и серверной. Клиентская сторона охватывает всё, что пользователи могут видеть на экране. Важнейшие элементы технологического стека в клиентской части: - язык разметки веб-страниц HTML, который отвечает за отображение содержимого в браузере; - язык описания внешнего вида документа CSS, который стилизует контент; - язык для доступа к объектам приложений Javascript — отвечает за интерактивную часть веб-приложения. Серверная часть приложения готовит данные для клиентской части. Здесь придётся выбрать: - язык бэкенд -программирования (отвечает за функционирование внутренней части сервиса), такой как PHP, Java или C++; - фреймворки, например, Spring или .NET; - система управления базами данных — PostgreSQL или MongoDB; - веб-сервер, к примеру, Apache или Nginx. Факт Выбранные технологии будут определять функционал продукта и то, можно ли будет его масштабировать в будущем. Также от выбранного стека будут зависеть оплата специалистов и время на разработку. Если клиент планирует продавать одежду через небольшой онлайн-магазин, ему не понадобятся параллельная обработка больших объёмов данных (noSQL) и механизм распределения нагрузки (load balancing), заточенный на одновременную поддержку 1 млн пользователей. В то же время клиенту, который планирует продавать тысячи товаров в день, не подойдёт решение на базе бесплатного движка сайта (CMS) с дешёвым хостингом . Статью проверила: