Почему мы выбрали 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 у нас в виде пакета, которую можно одной командой обновить в случае выхода новых обновлений. Также существуют сотни, а может и тысячи, готовых пакетов разработчиков всего мира, поэтому нам уже не нужно изобретать велосипед каждый раз, когда приходит нестандартная задача. С большой долей вероятности пакет уже кто-то написал.
- Наличие интегрированной системы модульного тестирования phpunit, что делает наши сайты более надежными.
- Отличная документация, а также https://laracasts.com/ отличный сайт для обучения, будет полезен как новичкам так и продвинутым программистам.
- Безопасность. Возможность получить несанкционированный доступ к базе данных крайне сложно. Высокий уровень безопасности гарантирует надежную защиту от SQL- injection, атак типа XSS, CSRF.
- Всегда в тренде. Использует новейшие возможности PHP (функции замыкания, пространства имен и др.), что гарантирует лучшую производительность. В версии 5.5 по умолчанию уже PHP7.
- Eloquent ORM. Очень простая и функциональя ORM основанная на паттерне ActiveRecord.
- Большое сообщество. Решение любой проблемы можно легко найти в гугле.
Статью подготовил PHP-разработчик диджитал агентства VIS-A-VIS – Артур Щаблевский.
Понравилась статья? – Поделитесь ссылкой::