Представляем Rails в магазин PHP? Или создать то, что мы уже используем?
Здесь настройка в нашем магазине:
- 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 и просто хотят использовать лучший инструмент - что бы это ни было. Однако нашему ведущему архитектору потребуется некоторое убеждение, если я решит переключить рамки на наши более мелкие проекты.
Ответы
Ответ 1
На ваше решение может повлиять множество факторов.
Если вы переключитесь на рельсы, имейте в виду, что вам и вашей команде потребуется некоторое время, чтобы изучить фреймворк/язык и легко замедлить добавление функций на некоторое время. Это действительно зависит от вашей команды, временных ограничений и многих других факторов.
Возможно, попробуйте 1 из небольших проектов с рельсами и посмотрите, действительно ли вы и ваша команда похожи на рельсы (я не знаю).
Ответ будет разным для каждой команды. У меня была бы групповая встреча и обсуждение плюсов и минусов обоих решений. Затем проголосуйте.
Ответ 2
Я думаю, вы можете получить много разных ответов в зависимости от того, какой тип разработчиков мы.
Лично я думаю, что вы должны придерживаться PHP, но перейдите в Kohana 3. И затем внедрите лучшие методы управления и разработки (документация, тестирование и т.д.). Просто мое мнение, на самом деле не решение.
Ответ 3
Переход на Rails (или любой другой язык), вероятно, будет стоить вам много по крайней мере одним из следующих способов:
- Временные инвестиции. Вся ваша команда должна будет изучить Rails, продолжая работать с PHP.
- Стоимость сервера. У вас должен быть отдельный набор серверов для Rails и PHP.
- Человеческие затраты. Некоторые из ваших команд могут не захотеть переключаться, и вам придется нанимать новых людей.
Моя рекомендация заключается в том, что вы смотрите в phpUnderControl и начинаете комментировать код. Вам не нужно писать груды документации, но убедитесь, что каждый метод прокомментирован.
И, наконец, мое совершенно предвзятое мнение заключается в том, что вы должны дать Kohana 3 попробовать. Даже если вы не можете перенести существующие приложения, это может сэкономить вам разочарование в новых приложениях.