09.11.2021
Для написания рабочего веб-сайта достаточно использовать такие средства разработки, как HTML, CSS, JS. Однако чтобы наполнить сайт контентом и функциями понадобится добавить другие технологии (PHP, MySQL, C++, .NET и прочее). Чтобы было проще обращаться с большим количеством кода, написанным на разных языках программирования, и автоматизировать создание веб-приложений, были созданы конструкции — фреймворки. Что это такое, рассказывает Егор Поморцев, педагог дополнительного образования южноуральского центра цифрового образования IT-куб.
— Фреймворк — программная платформа, определяющая структуру программной системы, организует работу компонентов и облегчает разработку. Это основа, которую программист заполняет нужными компонентами. Такой принцип работы создаёт рамки, по сравнению написания кода с нуля, но при этом фреймворки дают выигрыш по времени. Фреймворки отличаются от библиотек тем, что библиотеки не создают ограничений в архитектуре программы, а только добавляют подпрограммы для расширения функционала.
Веб-фреймворки делятся на два основных типа: backend — работа на сервере и frontend — работа на клиентской стороне. Так же встречаются многофункциональные фреймворки, которые объединяют эти два типа.
Фреймворки, отвечающие за серверную часть, не обеспечивают работу над страницей, их архитектура не даёт большой вариации над работой интерфейса пользователя (позволяют создать простые страницы и формы). Но они служат для выполнения запросов к серверу, формирования выходных данных, обеспечивают безопасность в случае атак. Примеры серверных фреймворков и язык, которые они используют:
В свою очередь клиентские фреймворки работают в браузере. С их помощью улучшить новые пользовательские интерфейсы, создать анимацию и одностраничные приложения. Все эти фреймворки отличаются своей функциональностью. Пример фреймворков, которые работают с JavaScript:
Примером многофункционального фреймворка является Meteor. Он удовлетворяет потребности с клиентской и серверной части, что делает его популярным. Обе стороны (серверная и клиентская) работают на JavaScript, поэтому можно использовать один и тот же код. Особенность фреймворка — «режим реального времени». Если что-то меняется в одном интерфейсе, изменения происходят и в остальных.
Иногда, сделать выбор на конкретном фреймворке не просто, так как они имеют свои плюсы и минусы. Но архитектура у них общая, они работают по парадигме MVC. MVC — паттерн проектирования, подразумевающий под собой разделение приложения на три связанные друг с другом части, выполняющие разные функции, а именно: Model (модель — отвечает за описание сущностей, которыми будет оперировать приложение), Controller (контроллер — определяет поведение приложения, связывает модель и представление), View (представление — создаёт конечный результат, который увидит пользователь после своего запроса).
Рассмотрим некоторые фреймворки подробнее.
Django
Язык Python набирает популярность среди разработчиков, так как он пригоден для решения разнообразных задач и предлагает возможности, что и другие языки программирования, но при этом сложные идеи проще реализуются, за счёт простых языковых конструкций. На основе этого языка написаны такие фреймворки, как Flask, Pylons, Zope, Web2py, Webware, Twisted, но самым известным является Django.
Django — это высокоуровневый веб-фреймворк. Мощный инструмент для веб-разработчика, но в изучении и разработке она труднее, по сравнению с микрофреймворком Flask. Поэтому использовать Django лучше в больших проектах, для которых выделяется достаточно времени. В паре с этим фреймворком рекомендуют использовать bootstrap, как удобный инструмент верстки html.
Плюсы использования Django[2]:
При помощи Django созданы такие популярные веб-сайты, как Instagram, Washington Times, Mozila, Discovery, Яндекс Афиша[1].
Yii Framework
Yii Framework – это php-framework, воплощающий парадигму MVC, предназначенный для создания веб-приложения разного масштаба. Он полностью поддерживает ООП и разные базы данных. Позволяет максимально применить концепцию повторного использования кода, что позволяет существенно ускорить процесс веб-разработки. Программисты отмечают эффективность Yii.
Основные преимущества:
К недостаткам можно отнести сложность в освоении, высокое потребление памяти так же Yii обладает сильной зависимостью классов. Несмотря на это, данный фреймворк хорошо подходит для крупных веб-проектов с большим объемом кода[3].
На этом фреймворке реализованы такие крупные проекты, как: 2gis, РосЯма, Stay.com.
AngularJS
Angular — фреймворк с открытым исходным кодом, написанным на JavaScript. Позволяет реализовывать динамические одностраничные приложения.
Этот фреймворк автоматические берёт на себя задачи по установке наблюдателей и обработчиков, по оценке соответствующих данных. Для разметки страницы используется понятие «шаблон», который описывается на языках HTML и CSS. В этой связи у разработчика появляется больше времени уделить логике приложения. Хотя AngularJS служит для упрощения разработки веб-приложения, он оперирует сложными технологиями на стороне клиента, из них отделение данных от логики приложения и представления, привязка данных к представлению, внедрение зависимости с сервисами[4].
Однако Angular имеет не лучшую гибкость, по сравнению с Backbone.js, и обладает меньшими возможностями интеграции специализированных плагинов и библиотек с фреймворком.
Meteor.js
Представляет собой веб-фреймворк, написанный на Node.js. Имеет большое количество функций для backend-разработки и frontend-отрисовки, управления базами данных и бизнес-логикой. Эта fullstack-платформа позволяет быстро разрабатывать веб и мобильные(android, iOS) приложения, так как имеет кроссплатформенный код. Использует протокол распределенных данных и шаблон публикации-подписки для автоматического распространения изменений данных среди клиентов, не требуя от разработчика написания какого-либо кода синхронизации[5].
Преимущества:
Недостатки:
Проекты, написанные с помощью Meteor.js: Dispatch, Rocket Chat, CodeFights, MixMax, Mazda car configurator.
Что еще почитать
Вам понравилось? Расскажите о своем опыте своим друзьям в социальных сетях. Пусть им понравится тоже!
Подпишитесь на нашу рассылку
Остались вопросы по качеству обучения?
Вы можете задать их любым удобным для вас способом:
Анкета по оценке удовлетворенности качеством оказания образовательных услуг общеобразовательной организацией
Оценить качествоНажимая кнопку «Подписаться», я даю согласие на обработку моих персональных данных согласно 152-ФЗ