Молоденков В. П. Аналіз та порівняння PHP-фреймворків для створення web-додатків // Міжнародний науковий журнал "Інтернаука". — 2017. — №11.
Технічні науки
УДК 004.4
Молоденков Вадим Петрович
студент
Національного технічного університету України
«Київський політехнічний інститут імені Ігоря Сікорського»
Молоденков Вадим Петрович
студент
Национального технического университета Украины
«Киевский политехнический институт имени Игоря Сикорского»
Molodenkov Vadim
student
of the National technical university of Ukraine
«Igor Sikorsky Kyiv Polytechnic Institute»
АНАЛІЗ ТА ПОРІВНЯННЯ PHP-ФРЕЙМВОРКІВ ДЛЯ СТВОРЕННЯ WEB-ДОДАТКІВ
АНАЛИЗ И СРАВНЕНИЕ PHP-ФРЕЙМВОРКОВ ДЛЯ СОЗДАНИЯ WEB-ПРИЛОЖЕНИЙ
ANALYSIS AND COMPARISON OF PHP-FRAMEWORK FOR THE CREATION OF WEB-BASED APPLICATIONS
Анотація. У статті стисло аналізуються та порівнюються найпопулярніші PHP-фреймворки за параметрами: безпеки, швидкодії, масштабування, наявності спільнот, зручності у використанні та ін.
Ключові слова: MVC, фреймворк, Symfony, Yii, Laravel, back-end, front-end, web-додатки, БД.
Анотация. В статье кратко анализируются и сравниваются самые популярным PHP-фреймворки по параметрам: безопасности, быстродействия, масштабирования, наличии сообществ, удобства в использовании и др.
Ключевые слова: MVC, фреймворк, Symfony, Yii, Laravel, back-end, front-end, web-приложения, БД.
Summary. The article briefly analyzes and compares the most popular PHP frameworks in terms of security, speed, scaling, community availability, ease of use, and more.
Key words: MVC, framework, Symfony, Yii, Laravel, back-end, front-end, WEB-BASED APPLICATIONS, DB.
Введення. PHP є однією з найбільш популярних мов програмування, а також недавній випуск PHP 7 зробив її краще і стабільніше, на стороні сервера, ніж будь-коли. PHP широко використовується у великих проектах. Facebook, наприклад, використовує PHP для збереження і створення своїх внутрішніх систем. WordPress використовує PHP, щоб оживити свої нутрощі, які в свою чергу надають руху більш ніж 26% мережі. Нині на PHP працюють понад 82% веб-сайтів.[1]
Проаналізуємо три найбільш популярних PHP фреймворки: Symfony, Laravel і Yii, щоб вирішити, який з них буде найкращим чином підходити для створення web-додатків.
Переваги використання PHP-фреймворків. Який сенс використовувати фреймворки замість чистого PHP для розробки програми? Кілька переваг використання фреймворків:
Вищевказані переваги є надто значними, щоб ігнорувати їх. Попри це, чистий PHP може бути використаний для створення будь-якої програми, що діють стандарти вимагають розробки інструментів і навичок тайм-менеджменту для задоволення ринкового попиту.
Як обрати PHP фреймворк? Кожен розробник перед вибором фреймворку задає собі такі питання:
Перш ніж зануриться в технічні подробиці, ось короткий огляд претендентів:[3]
Фреймворк Symfony. Даний фреймворк має велику бібліотеку класів. Архітектура має корисні компоненти та інструменти, призначені для створення складних веб-додатків. Symfony — це вільний каркас, написаний на PHP5. Він пропонує швидку розробку і керування веб-додатками, що дозволяє легко вирішувати рутинні завдання веб-програміста. Symfony безкоштовний і доступний під ліцензією MIT. Насправді, Laravel, найпопулярніший PHP фреймворк, побудований на Symfony.
Фреймворк Yii. Це універсальний фреймворк, який може бути задіяний у всіх типах веб додатків. Завдяки його компонентній структурі та відмінній підтримці кешування, фреймворк особливо підходить для розробки таких великих проектів як портали, форуми, CMS, магазини чи RESTful-додатки. Також він інтегрований з jQuery і поставляється з набором AJAX функцій. Інтеграція дозволяє front-end розробникам швидко охопити фреймворк.
Фреймворк Laravel. Даний фреймоврк має відмінне співтовариство і випереджає всіх в списку найбільш популярних фреймворків. Документація близька до досконалої, а всі можливі кейси ретельно розібрані в відео уроках Laracasts. Багато хостинг-компанії надають підтримку і пропонують хостинг рішення для додатків на Laravel. Він має безліч функцій, що забезпечують швидку розробку додатків.. Також у Laravel є локальне середовище розробки Homestead, яке по суті є надбудовою над Vagrant.
Усі три фреймворки ідеально підходять для створення веб-додатків 2.0, але кожен з них служить різним цілям. Давайте проаналізуємо їх особливості.
Шаблонізатори зводять до мінімуму зусилля розробників і забезпечують кращу функціональність.
Система шаблонів Symfony Twig. Twig - це сучасний шаблонизатор для PHP. Symfony використовує Twig в свою користь і дозволяє розробникам писати чистий, лаконічний код з можливістю зробити більше, ніж на чистому PHP. [4]
Система шаблонів Laravel Blade. На відміну від інших шаблонних систем, Blade дозволяє використовувати PHP код в уявленнях. Весь код в поданні файлів перетворюється в чистий PHP під час обробки.
Система шаблонів Yii Default. Yii не використовує будь-яких третіх систем за замовчуванням, але це не означає що йому не вистачає підтримки системи шаблонів. Вибір системи шаблонів залежить від команди розробників. Symfony використовує Twig, тому, якщо ви використовували Symfony в минулому, ви захочете використовувати Twig для вашого наступного проекту на Yii.
Усі три фреймворки використовують шаблони для поліпшення front-end розробки та технічного обслуговування, але невелика перевага Yii в тому, що фреймворк не має наперед визначену шаблонну систему.
Різниця фреймворків. Symfony працює на повторно використовуваних компонентах і забезпечує кращу модульність, він також використовує модель і контролер для розробки веб-додатків. Крім того, він є хорошим прикладом модульного фреймворку. Ви можете використовувати 30 компонентів, наданих Symfony в проекті за модульним принципом. Symfony може бути використаний для швидкої розробки та складних проектів.
Yii це MVC фреймворк, який також використовує компоненти, але не в якості модульних як Symfony. [5]
Процес встановлення. Дані фреймворки можуть бути встановлені за допомогою composer, або ви можете скористуватися простим метод архівування.
Продуктивність. Не так багато веб-додатків залежать від високої продуктивності, але продуктивність фреймворків може зіграти вирішальну роль у багатьох проектах. Вибирайте Yii, щоб підвищити продуктивність сайту. Він швидше за всіх PHP-фреймворків, через те, що використовує технологію завантаження на вимогу (lazy loading). Yii повністю об'єктно-орієнтована і заснована на принципі Don't-Repeat-Yourself ( «не повторювати»), так що основа для коду буде чиста і логічна.
Швидкість розробки. З точки зору компанії або клієнта, дуже важливо швидко отримати додаток на ринку для задоволення споживчого попиту. Symfony виділяється за те, що за ним міцна основа з сильною спільнотою. Laravel швидко зростає, але він ще не може вважатися основним PHP-фреймворком. З іншого боку, якщо у вас немає будь-яких знань про PHP-фреймворк і ви хочете почати роботу якнайшвидше, розгляньте Laravel. Laravel простий в плані навчання, ви знайдете багато підручників в інтернеті, які допоможуть вам почати роботу. У свою чергу Yii піднімає продуктивність на новий рівень. [5]
Підтримка БД. Symfony забезпечує кращу підтримку БД ніж інші фреймворки. Ви можете працювати з масивом баз даних, в тому числі NoSQL і DynamoDB. Yii і Laravel також корисні, але вони підтримують менше БД ніж Symfony. Підтримка БД кожним окремим фреймворком зображена на рис.1.
Рис. 1 - Підтримка БД
Спільнота і ресурси. Запорукою тривалого життя фреймворку з відкритим вихідним кодом є сила його спільноти. Усі три фреймворки мають сильні спільноти, хоча Symfony трохи більш зрілий в цьому плані. Передбачити динаміку розвитку спільнот в майбутньому є складним завданням.
Схожість. Ми розглянули відмінності між фреймворками. Тепер давайте розглянемо їх схожість:
Дані фреймворки є full-stack PHP-фреймворками і пропонують функціональні можливості для створення веб-додатків, від front-end до back-end. Кожен проект має відкритий вихідний код і його можна знайти на GitHub. Вони добре задокументовані і підтримуються великими спільнотами. Кожен з них підтримує ORM (Object Relationship Mapping). Вони є надійними і безпечними для створення веб-додатків 2.0 [3]
Висновки. Якщо порівнювати Symfony, Laravel і Yii, усі три PHP фреймворки є відмінними варіантами, які забезпечують full-stack розробку. Але особисто для мене, Laravel є переможцем. Проте, Symfony і Yii не є набагато гіршими варіантами. Symfony добре розроблений і має більш велике, зріле суспільство. Yii є надійним, безпечним і добре виконує свою роботу.
Література