L4QQ/J
УДК 004.432.2
ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ ПРИЛОЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ ФРЕЙМВОРКА SYMFONY
А. В. Сеничев
Донской государственный технический университет, Ростов-на-Дону, Российская Федерация
alexandr.senichev@gmail .com
Рассмотрен вопрос использования фреймворков веб-разработчиками.
Сформулировано понятие фреймворк. Проведен сравнительный анализ
существующих на рынке продуктов. Выполнен детальный анализ наиболее популярных решений, сделан вывод о перспективах их использования в веб-разработке
Ключевые слова: PHP, Framework, Symfony, YII, Laravel, Web-development
UDC 004.432.2
APPLICATIONS DEVELOPMENT PECULIARITIES USING SYMFONY FRAMEWORK
A.V. Senichev
Don State Technical University, Rostov-on-Don, Russian Federation
alexandr. senchev@gmail. com
The article considers the issue of using frameworks by web-developers. The paper provides the definition of the framework concept, results of the comparative study of existing on the market products, results of the detailed analysis of the most popular decisions, the conclusion on frameworks usage in the modern world.
Keywords: PHP, Framework, Symfony, YII, Laravel, Web-development
Введение. С развитием интернет-ресурсов, растёт и спрос на их пользование, следовательно серверы должны обрабатывать большое количество информации, начиная от клиентских запросов, заканчивая межплатформенным взаимодействием, которое требует помимо быстродействия со стороны серверов, так же высокого уровня защиты, как зарегистрированных пользователей, так и безопасности баз данных. В большинстве случаев, когда проект начинает разрабатываться «с нуля», без использования дополнительных технологий, то есть на «чистом» языке программирования, шанс допущения ошибки в коде возрастает многократно — для предотвращения большего числа ошибок используются фреймворки, которые позволяют разработчикам сконцентрироваться на более конкретных целях, вопросом безопасности занимаются фреймворки.
Фреймворк (framework — каркас, структура) — программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта [1].
На сегодняшний день разработчикам необходимо проектировать многосоставные веб-сайты и веб-приложения со сложной архитектурой, процесс разработки которых «с нуля» занимает очень много времени, возникает большое количество ошибок, которые замедляют процесс
i4&/£
разработки. Следовательно, разработка приложений должна иметь структурированный вид. PHP-фреймворки предоставляет разработчикам возможность адекватного решения этих проблем. Выделим главные причины использования разработчиками PHP-фреймворков:
- возможность скоростной разработки приложений; обеспечение хорошо организованного, повторяемого и масштабируемого кода; обеспечение низкоуровневой безопасности сайта;
следование MVC (Model-View-Controller) паттерна, который гарантирует разделение приложения на представительный (.html) и логический (.php) уровень;
- пропагандирование объектно-ориентированной веб-разработки
Рис. 1. Сравнение существующих PHP-фреймворков
Голосование, проведённое разработчиками веб-ресурса SitePoint (рисунок 1), отражает наиболее популярные PHP-фреймворки. Более детально проанализируем первые три PHP-фреймворка (Laravel, Symfony, Yii2) [2].
Laravel — самый популярный фреймворк среди разработчиков. Laravel обладает большим количеством различных функций, которые обеспечивают скоростную разработку приложений. Одной из главных отличительных особенностей является наличие мощного шаблонного движка — blade, простой и понятный синтаксис облегчает многие задачи веб-разработчика: авторизация, сессия, запросы и RESTful-маршрутизация. В фреймворк Laravel так же включается локальная среда разработки (lde), называемая Homestead.
Symfony. Вторым по популярности фреймворком является Symfony. Компоненты фреймворка symfony используются множеством проектов, таких как системы управления
Молодой исследователь Дона (ШЩ!) №1(1) 2016
i4&/£
содержимым Drupal, или программным обеспечением phpBB. Symfony обладает широкой аудиторией, со стороны разработчиков. Компоненты Symfony используют различные PHP-библиотеки, которые позволяют решать большое количество различных задач: маршрутизация, авторизация, конфигурирование, шаблонизация. PHP Composer позволяет упростить установку компонентов.
Yii. PHP-фреймворк, который обеспечивает максимальную производительность по сравнению с другими фреймворками. Yii полностью объектно-ориентированный, основывается на DRY (Don't Repeat Yourself) концепции, что позволяет создавать логичный и структурированный код. Фреймворк взаимосвязан с библиотекой Jquery, и следовательно при его использовании в дополнении предоставляется набор AJAX-функций. Yii обладает мощным генератором кода Gii
[3].
Результатом использования фреймворков может стать качественный и дорогостоящий проект, поэтому правильный выбор технологии очень важен, ещё на первых этапах ЖЦ проекта, в данном случае, особенного внимания заслуживает Symfony.
Проанализировав вышеописанную информацию и опираясь на внешние источники приведём ряд причины, почему в своём проекте веб-разработчик должен использовать PHP-фреймворк Symfony [4].
- На сегодняшний день Symfony одна из первых и самых устойчивых сред разработки, первая версия которой была разработана в 2005 году.
- Профессиональная команда разработчиков SensioLabs, компании с 12 летним стажем, которая поддерживает его в настоящий момент.
- Большое число ресурсов разработанное на Symfony (Yahoo!, Dailymotion, Opynsky.com, Exercise.com).
- Инновации. Symfony обеспечивает всем, что нужно веб-разработчику: скорость работы, гибкость, многоповторяемость компонентов и т.д. Так же стоит отменить стремление компании SensioLabs постоянно развивать и улучшать Symfony.
Symfony не самая быстрая технология, но его архитектура более прозрачна, чем у других фреймворков, что очень важно при создании больших и надёжных приложений [5]. С технической точки зрения, можно выделить такие свойства, как: быстродействие и низкая ресурсопотребляемость;
неограниченная гибкость в использовании Symfony, за счёт его прозрачной архитектуры; расширяемость; стабильность и устойчивость; простота в использовании.
Грамотно составленная документация, постоянная поддержка со стороны разработчиков позволяют начинающему программисту легко приступить к работе.
Вследствие того, что рост интернет-ресурсов подчиняется экспоненциальному закону, каждый веб-разработчик должен обладать набором специальных навыков, которые помогут ему ускорить разработку и повысить качество создаваемых продуктов. В данный момент на ИТ-рынке предоставлен широкий спектр сервисов, который в значительной мере упрощает процесс проектирования приложений, позволяя акцентировать внимания разработчика на узконаправленных задачах, если программист хочет пользоваться качественным продуктом, он должен обратить своё внимание на такой фреймворк, как Symfony, который в силу своей прозрачной архитектуры и функциональности, способен предоставить все необходимые ресурсы для разработки различных приложений.
Библиографический список.
1. Фреймворк [Электронный ресурс] / wikipedia.org. — Режим доступа : https://ru.wikipedia.org/wiki/ Фреймворк (дата обращения: 9.05.2016).
2. The Best PHP Framework for 2015: SitePoint Survey Results [Электронный ресурс] / sitepoint. — Режим доступа: http://www.sitepoint.com/best-php-framework-2015-sitepoint-survey-results/ (дата обращения: 9.05.2016).
3. 10 PHP Frameworks For Developers — Best Of [Электорнный ресурс] / hongkiat.com. — Режим доступа : http://www.hongkiat.com/blog/best-php-frameworks/ (дата обращения: 9.05.2016).
4. Why should I use a framework? [Электронный ресурс]/ symfony.com. — Режим доступа : http://symfony.com/why-use-a-framework (дата обращения: 09.05.2016).
5. The technological benefits of Symfony in 6 easy lessons [Электронный ресурс]/symfony.com. — Режим доступа : http://symfony.com/six-good-technical-reasons (дата обращения: 09.05.2016).