Преимущества и особенности фреймворка при разработке сайтов. Почему мы выбрали Yii?
При создании сайта выбор сводится к вопросу: разрабатывать сайт на готовой CMS или на PHP Framework-е.
С CMS (WordPress, OpenCart и т.д.) все ясно: широкий функционал из коробки, богатый набор как платных, так и бесплатных модулей и плагинов, быстрая установка и настройка сайта. Казалось бы, что еще нужно?
Различие начинает вырисовываться, когда возникает потребность изменить/дополнить функционал веб-проекта. Основное преимущество использования фреймворка в разработке — гибкость и широкие возможности. Использование фреймворка не накладывает на разработчика ограничений, существующих в разработке под CMS. Таким образом, веб-студия «Аксис» готова разрабатывать сайт и внедрить практически любой функционал, необходимый клиенту, и при этом нет никаких «мы не можем этого сделать из-за ограничений CMS».
Фреймворки используются при создании сайтов с нестандартной логикой и структурой.
Веб-фреймворки работают быстрее, потому что обрабатывается и выдается только информацию, которую запросил посетитель сайта, в то время как CMS делает в разы больше «холостых» обращений в базу данных и на файловый сервер.
При этом разработка дополнительных индивидуальных компонентов будет дешевле и займет меньше времени, чем аналогичная разработка под CMS.
Фреймворки интегрируются и могут использоваться вместе с бухгалтерской системой и CRM.
Немного теории
Фреймворк для разработки сайта — программный продукт, упрощающий создание и сопровождение технически сложных, масштабируемых или нагруженных проектов.
Web-framework содержит базовые программные модули, а индивидуальные компоненты реализуются в процессе создания веб-сайта. Благодаря такому походу достигается большая производительность и надежность решений.
Фреймворк — инструмент, позволяющий разрабатывать, объединять и дополнять необходимые компоненты большого программного проекта.
Преимущества фреймворка
Разработка на фреймворке позволяет добиться простоты сопровождаемости проекта. Возможна реализация любых бизнес-процессов, а не только тех, которые изначально заложены в систему. Также проекты на базе фреймворков легко масштабируемы и модернизируемы.
Сайты на фреймворках работают значительно быстрее и выдерживают большую нагрузку, чем CMS и самописные системы. Именно поэтому много популярных интернет-магазинов и порталов работают не на коробочных CMS, а на фреймворках. По уровню безопасности решения на фреймворках значительно превосходят CMS.
Особенности
Сроки разработки типового функционала на фреймворках больше, чем при использовании CMS. Фреймворки содержат только базовые компоненты бизнес-логики, поэтому многие функции реализовываются индивидуально под определенную задачу.
Для разработки на фреймворке требуется понимание логики бизнес-процессов, которые требуется реализовать. Например, если в CMS уже есть некий предустановленный процесс обработки заказов, то фреймворки такого не предоставляют.
Популярные фреймворки для веб-разработки
- Yii
- Symphony
- Laravel
- Zend
Почему Yii?
Web-студия Axis остановила выбор на фреймворке, который активно поддерживается сообществом и постоянно развивается. Yii (акроним от «Yes It Is!», произносится — [йии], [джи]) не выглядит «монстром» по сравнению с фреймворками Symfony и Zend, кодовая база которых весьма объемна. На данный момент количество скачиваний Йии приближается к 6 миллионам.
Yii достаточно прост в освоении и использовании, что способствует быстрой разработке и популярности среди программистов. Однако при выборе в качестве платформы для создания веб-проекта этого фреймворка стоит все равно учитывать тот факт, что скорость разработки на нем типовых решений всё равно будет ниже, чем разработка на CMS. Как и все фреймворки, Yii «заточен» под разработку технически сложных веб-проектов.
Известные бренды, использующие Yii:
- Amazon
- Football.ua
- Новостное агентство ТАСС
- 2ГИС
Основные преимущества и возможности фреймворка Yii:
- Обеспечивает высокую производительность относительно других php-фреймворков
- Основан на парадигме MVC (Модель-Представление-Контроллер)
- Есть интерфейсы DAO и ActiveRecord для работы с базами данных (используется PDO)
- Поддерживает интернационализацию
- Позволяет кэшировать как страницы целиком, так и отдельные фрагменты
- Осуществляет перехват и обработка ошибок
- Имеет функционал работы с формами, обеспечивает их построение и валидацию
- Реализованы аутентификация и авторизация
- Удобен для реализации AJAX-интерфейсов, интегрируется с jQuery
- В фреймворк встроены генераторы базового PHP-кода для CRUD-операций (скаф-фолдинг)
- Поддерживает темы оформления
- Имеет возможность подключения сторонних библиотек
- Работает с миграциями баз данных
- Позволяет осуществлять автоматическое тестирование и вести разработку в стиле TDD
- Поддерживает стиль REST