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