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

Понравилась статья? – Поделитесь ссылкой::