Чому ми вибрали 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 – Артур Щаблевський.

Сподобалася стаття ? - Поділіться посиланням ::