Здесь настройка в нашем магазине:
- 1 ОЧЕНЬ большое приложение PHP (Kohana 2) с многие разработчики и множество инфраструктур.
- Несколько (4-5 и растущих) небольших PHP приложения с 1-2 разработчиками, работающими над этими
Вопросы:
- нет тестирования
- нет документации
- хрупкое и утомительное развертывание Процесс
Меня перетаскивают из одного большого приложения в сторону дома с помощью нескольких небольших приложений. Отсутствие тестирования и надлежащий процесс развертывания в нашем магазине заставляет меня нервничать, что я потрачу больше времени на исправление ошибок и внедрение исправлений, чем написание кода для новых функций.
Решение A:
- Ввести PHPUnit и Selenium
- Переместите нас к Phing и Dbdeploy
Проблема с A: Настройка PHPUnit была относительно простой, но функциональное тестирование с Selenium было полной болью. Наша VM отлично работает для dev, но Selenium привязывает иглу, а также несколько простых тестов навсегда. Я не сомневаюсь, что смогу использовать все эти технологии вместе, но все это похоже на беспорядок, и сложность этих совместной работы кажется хрупкой.
Решение B:
- Переключиться на Rails
- Использовать интегрированное тестирование и/или Rspec/огурец (интеграция последнее кажется простым)
- Использовать интегрированные миграции БД
- Использование Capistrano для развертывания
Основываясь на основных проблемах тестирования, я начал изучать Rails. Основываясь на характере этих других сайтов, которые мы управляем, я думаю, что Rails может быть хорошим решением. Встроенное тестирование, отличное сообщество, множество отличных инструментов и быстрая разработка.
Проблема с B: Каждое приложение, которое мы имеем сейчас, находится на Kohana 2 (фреймворк PHP), и никто в организации не знает Rails. Недостатком внедрения новой технологии было бы разрушение команд. Если я переношу сайты в Rails, то попадаю в автобус, мы как бы ввернуты.
Нижняя строка:
Основываясь на наших болевых точках (развертывания, тестирование, документация, миграции БД), стоит ли стоить переключиться на Rails? Или мы должны оставаться в Кохане и продолжать пытаться построить другие инструменты?
Любые предложения? Кто-нибудь прошел через что-то подобное? Менеджмент уже сказал мне, что они открыты для слушания о Rails и просто хотят использовать лучший инструмент - что бы это ни было. Однако нашему ведущему архитектору потребуется некоторое убеждение, если я решит переключить рамки на наши более мелкие проекты.