Мой внештатный бизнес вырос и достиг критической точки принятия решений для моего будущего развития. Я некоторое время ломал над этим голову – почему бы не разгадать это публично!?
Мне нужно выбрать фреймворк PHP. Или, может быть, не выбирать ни одного. Но моя дилемма довольно необычна. Мне бы хотелось услышать мнение других опытных разработчиков PHP!
Бесполезные показатели
Обширные исследования дали мне бесконечные сравнения Laravel с Symfony и другими, используя совершенно бесполезные (для меня) показатели, такие как:
- Количество звезд GitHub.
- Популярность поиска в Google.
- Объявления о вакансиях.
- Количество вопросов о стековом потоке.
- Миллисекундная разница в скорости.
- И т.д.
Эти сравнения бесполезны. Позвольте мне объяснить, почему.
Моя Ситуация
Я создаю веб-сайты и веб-приложения для малого и среднего бизнеса. Большинство из них начинаются как базовый веб-сайт с контактной формой, картой Google, и все. Многие никогда не перерастают это. Некоторые в конечном итоге добавляют пользовательские динамические элементы. Скажем, страница статуса рабочего заказа. Каталог с возможностью поиска и т. Д. Некоторые из них стали больше.
Но, и это главное … Я также предоставляю хостинг, поэтому текущее обслуживание лежит на мне. Я не выполняю проект и не умываю от него руки. Я вношу будущие изменения в текст, исправляю ошибки, добавляю что-то и поддерживаю его в рабочем состоянии – иногда много-много лет. Моему самому старому PHP-проекту в производстве уже более 10 лет!
Со временем у меня будет ДЕСЯТКИ таких проектов, о которых нужно позаботиться.
У меня нет такой роскоши, как одно красивое приложение, которое можно было бы держать в голове.
И поэтому стабильность во времени является ключевым фактором. Простые обновления являются ключевыми. Вот почему WordPress заменил мою внутреннюю CMS для клиентов, которые подходят для этого варианта использования: обновление в один клик, детка! Это золото.
До недавнего времени я использовал простой пользовательский фреймворк MVC, который я создал. Большинство моих существующих проектов посвящены этому. Но ему больше 8 лет, он еще не композитор, и пришло время для нового направления. Однако следует отдать должное этой старой рабочей лошадке – за это время ей потребовалось почти нулевое обновление (вероятно, из-за застоя на PHP v 5.6).
У меня есть несколько месяцев опыта и обучения в Laravel, это приятно. Но постоянные обновления вызывают беспокойство. Обратная совместимость не является приоритетом для Laravel. И это перебор для 90% того, что я делаю.
Я создал несколько вещей с помощью Slim PHP.
Я заинтригован Symfony, потому что он начинается как микро-фреймворк и растет вместе с вами. Классно!
Я также подумываю о том, чтобы объединить несколько стабильных пакетов Composer для облегченной версии “фреймворка”, которая будет охватывать все, кроме моих нескольких крупных проектов. Может быть, Слим – это именно то, что нужно?
Может быть, 90% того, что я делаю, вообще не нуждается в рамках.
Все это сводится к тому, что я не хочу сожалеть о своем выборе через 10 лет. Мой младший ребенок пойдет в школу в следующем году, и когда это произойдет, я полностью посвящу себя своему бизнесу. Между этим моментом и потом я хочу, чтобы мои утки выстроились в ряд и прошли необходимое обучение.
TL;DR – Мои приоритеты
- Основанный на PHP.
- Стабильность с течением времени.
- Хорошо документированный и четкий процесс обновления.
- Растет вместе с моими потребностями с течением времени.
- Не нарушает обратную совместимость по прихоти.
- Хорошо иметь один вариант для небольших вещей и один для больших проектов.
Мысли?
Есть ли у вас опыт ведения нескольких проектов на основе фреймворка с течением времени? Чем вы пользуетесь? Это больно?
Неужели я сошел с ума, думая, что всему вообще нужны рамки?
Как ваша компания справляется со временем, затрачиваемым на поддержание и модернизацию проекта клиента? Выставляете ли вы им счет за потраченное время? Предлагать лицензию на поддержку с ежемесячной платой, которая покрывает этот вид работы? Включить это в плату за хостинг?
Спасибо всем!
— Первоначально опубликовано в блоге.SyntaxSeed.com
Оригинал: “https://dev.to/syntaxseed/decision-time-php-framework-dilemma-4fl4”