logo-header.webp

+7 (900) 029-50-10 ДЮТТ
+7 (904) 808-60-10 Кванториум Челябинск
+7 (3519) 33-07-37 Кванториум Магнитогорск
+7 (351) 369-08-13 Кванториум Златоуст
+7 (35163) 2-45-85 Кванториум Троицк
+7 (351) 394-33-03 Кванториум Копейск
+7 (35160) 2-25-76 Кванториум Пласт
+7 (35134) 4-22-81 IT-Куб Южноуральск
+7 951 806 3486 IT-Куб Сатка
+7 (3519) 33-08-08 IT-Куб Магнитогорск
+7 951-787-67-82 IT-Куб Кыштым
+7 (35146) 92 716 IT-Куб Снежинск
+7 9000 670 186 IT-Куб Миасс
+7 (351) 218-11-16 IT-Куб Челябинск
+7 (919) 111-20-76 IT-Куб Трехгорный

Что такое веб-фреймворк и как его использовать? Опыт программиста

Что такое веб-фреймворк и как его использовать? Опыт программиста

Для написания рабочего веб-сайта достаточно использовать такие средства разработки, как HTML, CSS, JS. Однако чтобы наполнить сайт контентом и функциями понадобится добавить другие технологии (PHP, MySQL, C++, .NET и прочее). Чтобы было проще обращаться с большим количеством кода, написанным на разных языках программирования, и автоматизировать создание веб-приложений, были созданы конструкции — фреймворки. Что это такое, рассказывает Егор Поморцев, педагог дополнительного образования южноуральского центра цифрового образования IT-куб.

— Фреймворк — программная платформа, определяющая структуру программной системы, организует работу компонентов и облегчает разработку. Это основа, которую программист заполняет нужными компонентами. Такой принцип работы создаёт рамки, по сравнению написания кода с нуля, но при этом фреймворки дают выигрыш по времени. Фреймворки отличаются от библиотек тем, что библиотеки не создают ограничений в архитектуре программы, а только добавляют подпрограммы для расширения функционала.

Веб-фреймворки делятся на два основных типа: backend — работа на сервере и frontend — работа на клиентской стороне. Так же встречаются многофункциональные фреймворки, которые объединяют эти два типа.

Фреймворки, отвечающие за серверную часть, не обеспечивают работу над страницей, их архитектура не даёт большой вариации над работой интерфейса пользователя (позволяют создать простые страницы и формы). Но они служат для выполнения запросов к серверу, формирования выходных данных, обеспечивают безопасность в случае атак. Примеры серверных фреймворков и язык, которые они используют:

  • Django, Flask – Python;
  • Zend, Symfony, Yii – PHP;
  • Express.js – JavaScript;
  • Ruby on Rails – Ruby.

В свою очередь клиентские фреймворки работают в браузере. С их помощью улучшить новые пользовательские интерфейсы, создать анимацию и одностраничные приложения. Все эти фреймворки отличаются своей функциональностью. Пример фреймворков, которые работают с JavaScript:

  • Backbone+Marionette;
  • Angular;
  • Ember.js;
  • Vue.js.

Примером многофункционального фреймворка является 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.

Основные преимущества:

  • Подходит для широкого круга задач;
  • Обладает детальной документацией;
  • Высокая производительность, относительно других фреймворков написанных на PHP (Zend, CakePHP, Code Igniter);
  • Высокий уровень безопасности кода, а также встроенная аутентификации и авторизации;
  • Простота в интеграции других библиотек.

К недостаткам можно отнести сложность в освоении, высокое потребление памяти так же 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.

Что еще почитать

  • Агафонов А.А., Замалиев М.Р. Создание динамического веб-сайта на языке программирования Python с применением фреймворка Django. // Казанский (Приволжский) федеральный университет. – г. Казань: Изд-во Академии наук PT, 2016. – С. 117-119.
  • Наумов Р.В. Программирование Питон. Выбор веб-фреймворка. // Институт математики и информатики Северо-Восточный федеральный университет им. М.К. Аммосова. – г. Якутск: Изд-во: Олимп, 2016. –С. 25-26.
  • Романов А.К., Гришунов С.С. Обзор PHP-фреймворков. // Московский государственный технический университет им. Н.Э. Баумана. – г. Москва: Изд-во: ООО «Манускрипт», 2017. –С. 107-111.
  • Передрий О.С., Перепелица Ф.А., Сокуренко Ю.А. Методы разработки веб-приложений с помощью AngularJS. // Университет ИТМО. – г. Санкт-Петербург: Изд-во: Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, 2016. – с. 134-136.
  • Зоренко А.А., Государев И.Б. Проектирование и развитие фреймворков на платформе Node.js // Университет ИТМО. – г. Санкт-Петербург: Изд-во: Университет ИТМО, 2018. –с. 139-140.

Написать сообщение

Оцените от 1 до 5

Вам понравилось? Расскажите о своем опыте своим друзьям в социальных сетях. Пусть им понравится тоже!

Подпишитесь на нашу рассылку

Подписаться

Остались вопросы по качеству обучения?

Вы можете задать их любым удобным для вас способом:

Приемная директора

Обратиться

Позвонив по телефону +7 9000 295 020

Отправить на e-mail pismadir@robo74.ru

Анкета по оценке удовлетворенности качеством оказания образовательных услуг общеобразовательной организацией

Оценить качество

Нажимая кнопку «Подписаться», я даю согласие на обработку моих персональных данных согласно 152-ФЗ

Решаем вместе
Есть предложения по организации учебного процесса или знаете, как сделать школу лучше?