Я разрабатываю приложение для мобильных телефонов, которое предназначено для множества мобильных устройств на основе возможностей, которые они предлагают. Был бы базовый набор функций, который все телефоны должны поддерживать, а затем будут дополнительные функции, которые будут зависеть от определенного набора телефонов.Лучшая система управления версиями для приложения для мобильных телефонов?
Как управлять такой базой кода с точки зрения системы управления версиями?
У меня есть опыт работы с CVS и VSS, но оба они не вписываются в мои потребности в этом виде приложения. Последнее, что я хотел бы сделать, это разделить код для каждого из этих наборов устройств.
Позвольте мне сделать это более понятным с помощью примера. Допустим, я разрабатываю приложение J2ME с помощью MIDP 2.0. Это базовый набор функций, который я ожидал бы от всех телефонов, поддерживающих MIDP 2.0. В дополнение к этому я бы распространил это приложение на конкретные наборы телефонов, используя их SDK. Напр. Nokia S40, Nokia S60, Sony Ericsson, Blackberry и т. Д. Все это обеспечивает дополнительные функциональные возможности, которые позволяют вам строить больше на основе базового приложения, и в большинстве случаев это повлияет на всю вашу базу кода от пользовательского интерфейса к основной логике.
Одним из способов достижения этой цели является использование комбинации системы сборки с флагами препроцессора и попытки разделить различия, чтобы не иметь слишком много зависимостей. Иногда это может быть довольно сложно. Мне интересно, есть ли более простой способ справиться с этим, используя интеллектуальную систему управления источниками ....
Спасибо за указатель, это может быть очень полезно для приложения, в котором мы работаем, у которого есть несколько входных библиотек и суп разных проверок, чтобы вытащить исходный код для некоторых сборок. –
Спасибо за этот отзыв. Возможно, это сработает. Im в настоящее время находится в процессе рефакторинга кода, чтобы разбить его на основные библиотеки и специфические для телефона. Попробуем это после этого. – Prashast
Приветствую вас, ребята, я не был уверен в том, насколько вы изощренны; Если каждый телефон имеет определенный набор функций, и вы вручную объявляете их в коде, тогда svn: externals должны работать нормально самостоятельно, но если вы хотите создать автоматизированный процесс сборки для каждого телефона, то есть не нужно объявлять (в коде) каждую функцию , тогда вам все равно придется искать некоторые задачи сборки для совместной работы с svn: externals. например Вы просто определяете функции во внешнем виде, а скрипт сборки разрабатывает, что включать/link/компилировать. – si618