Чому ми вибрали php фреймворк Laravel?
5 Вересня 2017
Трохи передісторії.
Ішов 2014 рік. Кількість і складність наших проєктів зростала і наша стара самописна CMS вже не дозволяла справлятися з потоком і рівнем сайтів необхідних нашим клієнтам.
Ми набирали нових програмістів у команду, на деякий час це вирішувало проблеми, але глобально ні, не думаю що нам довірили б розробляти свої сайти: http://www.president.gov.ua/, http://atl.ua/, https://credit-agricole.ua/, http://mafia.ua/ та інші, якби у нас була стара система.
Потрібна була нова CMS на базі сучасного PHP фреймворку!
Які завдання мав вирішувати фреймворк?
- Простота у вивченні. Потрібно було, щоб кожен розробник міг за мінімально витрачене. кількість часу освоїти фреймворк та писати якісний код.
- Простота написання коду. Код має бути інтуїтивно зрозумілим і простим, щоб будь-який розробник міг підтримувати проєкт.
- Швидкість роботи. Ми розуміли, що на фреймворку швидкість завантаження сторінок сайтів буде нижчою, ніж на старій CMS, де тільки чистий PHP, але вона має бути в межах 0.2 – 0,3 сек. Ніхто не любить довго чекати.
- Швидкість написання коду. Проєктів багато і терміни завжди на вчора, тому потрібна швидка розробка сайтів.
- Безпека. Серед наших клієнтів багато банків, а для них безпека найголовніше.
- Масштабованість. Щоб легко можна було писати як не великі корпоративні сайти, так і великі інтернет-магазини та портали.
- Функціональність. З коробки мають бути доступні рішення багатьох типових завдань.
Вибір між фреймворками
Вибір стояв між фреймворками: Laravel, Yii, Symfony. Не до фреймворку як Codeigniter і Kohana відразу відпали, складно їх взагалі називати фреймворками.
Динозавра, як Zend, теж відкинули відразу. На ньому пишуть лише ті, хто почав на ньому писати проєкт 15 років тому і не можуть тепер з нього зістрибнути.
Чому не Symfony та Yii?
Symfony все ж таки розрахований на великі проєкти, дрібні та середні проєкти на ньому робити, це як екскаватором картоплю викопувати :). Можна, але не дуже зручно, а нам потрібен був фреймворк на всі випадки.
Yii хороший фреймворк і розробники, які мають достатній досвід з ним скажуть, що він кращий за Laravel. Те саме тільки у зворотний бік скажуть ларавельники.
Але на той момент у нас не було досвіду ні в Yii, ні в Laravel, тому відкривши документацію на Laravel та Yii, і витративши день на її вивчення, ми зрозуміли, що філософія Laravel нам ближче. Вирізка із документації.
«Laravel – фреймворк для побудови веб-додатків із виразним та елегантним синтаксисом. Ми вважаємо, що процес розробки лише тоді найпродуктивніший, коли робота з фреймворком приносить радість та задоволення. Щасливі розробники пишуть найкращий код.
Чому ж Laravel?
Починаючи з 2013 року Laravel визнаний найкращим і найпопулярнішим фреймворком у світі.
- Синтаксис легший та елегантніший, ніж у конкурентів.
- Taylor Otwell (творець Laravel), дай Боже йому здоров'я за його розробку, взяв найкраще з наявних PHP фреймворків, а також Ruby on Rails, ASP.NET MVC, Sinatra і створив фреймворк, який максимально просто вирішує рутині завдання програмістів.
- Laravel – це full stack рішення як для back-end, так і для front-end розробників. Для фронтенду є з коробки система збирання laravel Mix, яка побудована на Webpack, а також js фреймворк – Vue.
- Пакети (розширення), що дало можливість створювати пакети для своїх потреб. Нині маємо близько 15 пакетів, які вирішують типові завдання. Та сама CMS у нас у вигляді пакета, яку можна однією командою оновити у разі виходу нових оновлень. Також існують сотні, а може й тисячі, nbsp; готових пакетів розробників всього світу, тому нам уже не потрібно винаходити велосипед щоразу, коли приходить нестандартне завдання. З великою ймовірністю пакет вже хтось написав.
- Наявність інтегрованої системи модульного тестування phpunit, що робить наші сайти більш надійними.
- Відмінна документація, а також https://laracasts.com/ чудовий сайт для навчання, буде корисний як новачкам, так і просунутим програмістам.
- Безпека. Можливість отримати несанкціонований доступ до бази даних є вкрай складною. Високий рівень безпеки гарантує надійний захист від SQL-injection, атак типу XSS, CSRF.
- Завжди у тренді. Використовує нові можливості PHP (функції замикання, простору імен та ін.), що гарантує кращу продуктивність. У версії 5.5 за замовченням вже є PHP7.
- Eloquent ORM. Дуже проста і функціонал ORM заснована на патерні ActiveRecord.
- Велика спільнота. Вирішення будь-якої проблеми можна легко знайти у гуглі.
Статтю підготував PHP-розробник діджитал агентства VIS-A-VIS – Артур Щаблевський.
Сподобалася стаття ? - Поділіться посиланням ::