Представляете Rails в магазине PHP? Или создать то, что мы уже используем? - PullRequest
12 голосов
/ 01 декабря 2010

Вот настройки в нашем магазине:

  • 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 и просто хотят использовать самый лучший инструмент из всех возможных. Однако нашему ведущему архитектору понадобится убедить меня, если я решу переключить фреймворки на наши небольшие проекты.

Ответы [ 3 ]

9 голосов
/ 01 декабря 2010

Я думаю, что вы можете получить много разных ответов в зависимости от того, какие мы разработчики.

Лично я думаю, что вам следует придерживаться PHP, но перейти на Kohana 3. А затем представить лучшее управление и развитиеметоды (документация, тестирование и т. д.).Просто мое мнение, не совсем решение.

6 голосов
/ 01 декабря 2010

Есть много факторов, которые будут влиять на ваше решение.

Если вы переключаетесь на рельсы, имейте в виду, что вам и вашей команде потребуется некоторое время, чтобы выучить фреймворк / язык, и вы можете легко замедлить добавление функций на некоторое время. Это зависит только от вашей команды, временных ограничений и многих других факторов.

Возможно, попробуйте один из небольших проектов с рельсами и посмотрите, действительно ли вам и вашей команде нравятся рельсы (я не знаю).

Ответ будет разным для каждой команды. Я бы провел групповое собрание и обсудил бы плюсы и минусы обоих решений. Тогда проголосуй.

5 голосов
/ 10 декабря 2010

Переход на Rails (или любой другой язык), вероятно, будет стоить вам много, по крайней мере, одним из следующих способов:

  1. Вложение времени.Вся ваша команда должна будет изучить Rails, продолжая работать с PHP.
  2. Стоимость сервера.Вам потребуется отдельный набор серверов для Rails и PHP.
  3. Затраты на персонал.Некоторые из вашей команды могут не захотеть переключаться, и вам придется нанимать новых людей.

Я рекомендую вам заглянуть в phpUnderControl и начать комментировать свой код.Вам не нужно писать кучу документации, но убедитесь, что каждый метод прокомментирован.

И, наконец, мое абсолютно предвзятое мнение заключается в том, что вы должны попробовать Kohana 3.Даже если вы не можете перенести существующие приложения, это может избавить вас от разочарований новыми приложениями.

...