Фреймворк
Фреймворк (англ. framework, «каркас, структура») — это программная оболочка, которая позволяет упростить и ускорить решение типовых задач, свойственных для конкретного языка программирования.
Фреймворк используют, так как это удобно. Намного проще создавать проект, поскольку у него уже есть своя структура.
Главная цель фреймворка, дать разработчику комфортную среду для проекта с большим и масштабируемым функционалом.
Framework использует паттерн проектирования MVC (англ. model-view-controller – «Модель-представление-контроллер»). MVC – это обязательное условие для организации кода или компонентов. Задача MVC – решить проблему проектирования, возникшую в рабочем решении.
Виды фреймворков
На основе MVC созданы разные виды фреймворков.
Бэкенд-фреймворки
Функционируют на серверной стороне и отвечают за работоспособность приложения или сайта. Правила и архитектура дают возможность создавать страницы и формы, составлять выходные данные и защищать от хакерских атак.
Примеры популярных бэкенд-фреймворков:
- Laravel. Популярный php-фреймворк. Прост в освоении и годится для средних и небольших проектов, особенно, когда нужно быстро написать код.
- Django. Популярный framework на Python. Дает возможность масштабировать любой проект во время работы. Придерживается принципа DRY (Don’t repeat yourself), отличается типовой структурой и применяет наследование шаблонов.
- Symfony. Php-фреймворк. В основном используется для разработки больших порталов. Очень гибкий и масштабируемый, но считается сложным.
- Ruby on Rails. Фреймворк на Ruby. Годится для разработки быстрых, отказоустойчивых и высоконагруженных сайтов и приложений с динамичными веб-интерфейсами и сложной бизнес-логикой.
- Codeigniter. Php-фреймворк. Не нагружает сервер, сайты быстрые с высокой производительностью.
- Express.js. Популярный framework для создания Node.js приложений. Используют при создании приложений и API.
Фронтенд-фреймворки
Отвечают за внешний вид проекта и не связаны с логикой работы. Дают возможность улучшать и добавлять новые оригинальные интерфейсы, строить одностраничные приложения, анимации и другое.
Примеры популярных фронтенд-фреймворков:
- Vue.js. Популярный JavaScript-фреймворк. Позволяет создавать креативные интерфейсы, встроена понятная командная строка, которая позволяет ускорить разработку за счет внушительной библиотеки плагинов и пресетов.
- Angular. JavaScript-фреймворк с открытым исходным кодом от Google написанный на языке TypeScript. Используют при разработке веб-приложений. Считается сложным.
- Bootstrap. CSS-, HTML— и JavaScript-фреймворк с открытым исходным кодом. Дает возможность создавать проекты с отзывчивым и современным дизайном. Главные преимущества: наличие большого количества шаблонов, стилей, постраничный дизайн, высокачественная адаптивная верстка, низкий порог вхождения.
Фуллстек-фреймворки
Этот вид фреймворков решают задачи на обеих сторонах: на клиентской и на серверной.
Примеры популярных фуллстек-фреймворков:
- Meteor. Backend и Frontend работает на JavaScript. Позволяет использовать для них одинаковый код. Функционирует в режиме реального времени: при каких-либо изменениях в одном интерфейсе следуют изменения и в других.
- Next.js. JavaScript-фреймворк, создан поверх React.js.
- Nuxt. JavaScript-фреймворк, разработан для создания многоцелевых приложений на Vue.js используя Node.js.