- Трохи передісторії. Йшов 2014 рік. Кількість і складність наших проектів росла і наша стара самописна...
- Чому не Symfony і Yii?
- Чому ж 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?