Донецкий техникум промышленной автоматики

Чому ми вибрали Laravel?

  1. Трохи передісторії. Йшов 2014 рік. Кількість і складність наших проектів росла і наша стара самописна...
  2. Чому не Symfony і Yii?
  3. Чому ж Laravel?

Трохи передісторії.

Йшов 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 у нас у вигляді пакету, яку можна однією командою оновити в разі виходу нових оновлень. Також існують сотні, а може й тисячі, готових пакетів розробників усього світу, тому нам вже не потрібно винаходити велосипед кожен раз, коли приходить нестандартна завдання. З великою часткою ймовірності пакет вже хтось написав.
  • Наявність інтегрованої системи модульного тестування phpunit, що робить наші сайти більш надійними.
  • Відмінна документація, а також https://laracasts.com/ відмінний сайт для навчання, буде корисний як новачкам так і просунутим програмістам.
  • Безпека. Можливість отримати несанкціонований доступ до бази даних вкрай складно. Високий рівень безпеки гарантує надійний захист від SQL- injection, атак типу XSS, CSRF.
  • Завжди в тренді. Використовує новітні можливості PHP (функції замикання, простору імен і ін.), Що гарантує кращу продуктивність. У версії 5.5 за замовчуванням вже PHP7.
  • Eloquent ORM. Дуже простий і функціональний ORM заснована на паттерне ActiveRecord.
  • Велике співтовариство. Рішення будь-якої проблеми можна легко знайти в гуглі.

Статтю підготував PHP-розробник Діджитал агентства VIS-A-VIS - Артур Щаблевскій.

Чому не Symfony і Yii?
Чому ж Laravel?
Які завдання повинен був вирішувати фреймворк?
Чому не Symfony і Yii?