Express
Что такое Express
Express – фреймворк, написанный на языке JavaScript, который применяют в разработке бизнес-логики мобильных приложений и сайтов. Express работает в Node.js – среде выполнения кода для языка JavaScript. Express относится к микрофреймворкам, отличается гибкостью кастомизации и не диктует шаблонов проектирования бизнес-логики. Тем не менее, разработка на Express чаще подразумевает использование архитектуры MVC (Model-View-Controller) – Модель-Представление-Контроллер.
Поскольку пользовательская часть сайтов работает исключительно на JavaScript, использование Express в качестве фреймворка позволяет задействовать JavaScript в пользовательской и серверной части веб-приложения. Благодаря фулстек-разработке на JavaScript, можно переиспользовать часть кода во фронтенде и бекэнде.
Express является одним из первых бекэнд-фреймворков на JavaScript. По данным BuiltWith, Express используется в разработке в разы больше, чем его основные конкуренты – бекэнд-фреймворки Meteor и Sails.js.
Express является частью популярного стека программирования MEAN. Технологии, которые входят в стек MEAN:
- M – NoSQL-база данных Mongo.DB;
- E – бэкенд-фреймворк Express;
- A – фронтенд-фреймворк Angular;
- N – среда выполнения JavaScript-кода Node.js.
Также Express используется в стеках MERN и MEVN, где в качестве фронтенд-фреймворков выступают React и Vue.js.
Где применяют Express
Чаще всего Express применяют в разработке бизнес-логики сайтов, реже – в разработке мобильных и десктопных приложений.
Преимущества разработки на Express
- популярность фреймворка среди русскоязычного сегмента;
- возможность разработки как маленьких, так и больших проектов;
- переиспользование одного и того же кода на JavaScript в пользовательской и серверной части приложения;
- скорость работы приложения за счет использования технологии неблокирующего ввода/вывода в среде Node.js;
- фреймворк не навязывает архитектуру бизнес-логики приложения, обеспечивая более широкие возможности кастомизации;
- регулярные обновления фреймворка.
Недостатки разработки на Express
- из-за свободы в работе с фреймворком, новые разработчики могут дольше погружаться в действующий проект с неочевидной архитектурой;
- разработчики Express усиленно продвигают Koa.js, который является обновленной версией Express.
Примеры готовых работ на Express
- Конструктор интернет-магазинов Shopify – shopify.com;
- Фотосток Shutterstock – shutterstock.com;
- Разработчики ПО IBM – ibm.com;
- Онлайн-медиа Inverse – inverse.com;
- Сеть пиццерий с онлайн-доставкой – slicelife.com.