Жизненный цикл программного обеспечения включает в себя ряд этапов от сбора и анализа требований до запуска в эксплуатацию и технической поддержки. Веб-разработка стоит дорого, поэтому важно не ошибиться на этапе планирования и подготовки технического решения, когда исполнитель определяет, какие технологии лучше задействовать. В этом материале мы подробно рассмотрим одну из них.
Slim в программировании
Это открытый микрофреймворк для создания простых бэкенд-приложений. Технология создана на базе полнофункциональной платформы Symfony и, следовательно, написана на языке программирования PHP. Slim впервые представили в 2011 году и за 10 лет существования этот инструмент пережил четыре глобальных обновления и продолжает поддерживаться создателями.
Slim или Lumen, что лучше?
Прежде чем ответить на этот вопрос разберем разницу между полнофункциональными фреймворками и микро-фреймворками. И те и другие относятся к инструментам веб-разработки, которые позволяют сосредоточиться на важном, и меньше отвлекаться на рутинные операции. Они упрощают создание веб-приложений и помогают обеспечить безопасность и соблюдение стандартов написания кода.
Полнофункциональные фреймворки часто «раздуваются» множеством библиотек, которые не задействуются, но при этом включены в состав по умолчанию. Это видно на примере поддержки баз данных — фреймворк может поддерживать MySQL и MsSQL но на конкретном проекте понадобится только одна БД, а остальные окажутся ненужными.
По этой причине есть микрофреймворки. Они содержат библиотеки с базовыми функциями, и при необходимости позволяют добавить модули, но изначально не содержат в себе лишнего кода, из-за чего легче и быстрее тестируются и развертываются.
Название и логотип Slim удачно обыгрывают эту мысль делая официального маскота PHP слона «стройным».
Существует ряд PHP-микрофреймворков — Silex, Swoft, Bullet и т.д. К самым популярным принято относить Lumen и Slim. Про первый мы уже рассказывали, поэтому далее подробно рассмотрим последний.
Общий недостаток микро фреймворков связан с тем, что проекты могут развиваться, становиться крупнее и требовать новых функций для поддержки этого роста. При продуманной архитектуре такой проблемы возникнуть не должно, однако проблема распространенная.
С Lumen можно относительно безболезненно масштабировать проект, если такая необходимость возникнет — для это потребуется скопировать все маршруты и классы на свежеустановленный Laravel. Однако, чтобы обеспечить такую возможность Lumen унаследовал от базового фреймворка много зависимостей и компонентов.
Slim напротив имеет меньше зависимостей, что дает ему гибкость, в которой многие разработчики видят главное достоинство.
Платформа построена на основе компонентов, соответствующих стандартам PHP-FIG, и её легко интегрировать с другими современными компонентами и библиотеками, из-за чего проще управлять файлами и классами. Можно даже интегрировать компоненты Laravel с приложением на Slim. Например компонент Illuminate или полноценную ORM, вроде Doctrine, так как Slim не содержит встроенного решения для взаимодействия с базами данных.
Еще одна интересная концепция Slim— это промежуточное ПО, которое позволяет управлять запросами и ответами по определенному маршруту, например для аутентификации пользователя, без необходимости проверять все приложение.
Таким образом Slim меньше и более гибок в сравнении с Lumen. С ним легче начинать проекты, выбирать инструменты и организацию кода. Он открывает больше возможностей и почти не накладывает ограничений, как и положено микро-фреймворку.
Хорошая ли идея отдать разработку на Slim на аутсорс?
Итак, мы разобрались в основных различиях между PHP-платформами.
Полнофункциональный фреймворк следует рассматривать если вы создаете веб-сайт с широким охватом. Микрофреймворки напротив лучше задействовать для реализации ограниченного набора функций, чтобы не увеличивать объем кодовой базы.
Решение о том, какую из технологий выбрать следует доверить разработчику.
В полнофункциональных фреймворках есть все, что нужно, однако это является причиной ограничений, которые заставляет определенным образом структурировать проекты. Микрофреймворки оставляют больше решений на усмотрение программиста.
Аутсорсинг разработки на Slim — разумное решение для ситуации, когда есть штатная команда, которая занята созданием основного веб-приложения и не хватает ресурсов на создание REST API или небольшого отдельного микросервиса.
Если нет своего IT-отдела, то следует рассмотреть заказную разработку на Slim или другой технологии. Проанализировав ваши требования, исполнитель предложит решение вашей задачи и за вас выберет нужные инструменты.
Наши специалисты по Slim
Наемные специалисты часто ограничены в своих навыках и опыте и выбирают технологии, исходя из субъективных предпочтений, а не поставленных целей.
При работе с аутсорсинговой компанией такого ограничения нет — для проекта подберут людей с нужной квалификацией, а техническое решение будет сформировано исходя из задач бизнеса.
Наши бэкенд-разработчики владеют PHP-фреймворками и активно применяют их в разработке. Они проанализируют требования и подготовят техническое решение, которое даст необходимую ценность.
Почему мы
Slim и Lumen решают схожие проблемы, но разными способами и чтобы видеть отличия между ними нужно обладать многолетним опытом разработки.
За 11 лет мы создали проекты разной сложности в том числе социальные сети и даже конструкторы сайтов. С нами не придется переживать о правильности выбранного технологического стека и тратить дополнительные усилия на то, чтобы разобраться во всех тонкостях процесса создания информационной системы.
В Work Solutions можно обратиться без подробного технического задания. Наши специалисты помогут составить представление о цене разработки и подготовить предварительное техническое решение еще до этапа этапа аналитики.