Диаграмма классов совместного использования приложений для Android и iOS - PullRequest
1 голос
/ 28 марта 2012

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

Я нахожусь в группе, и человек, занимающийся приложением для iOS, и я, работающий над приложением для Android, отвечают за создание диаграмм классов для этого приложения и тем лучшеДизайн будет выбран и использован на обоих.

Однако из моего исследования кажется, что может быть лучше иметь нетривиальные различия в классах приложений из-за различий в двух платформах ( mvp кажется лучше в Andorid , mvc для iOS; различия в том, как приложения обрабатывают отправку в фоновом режиме или уничтожение и т. д.)

Так как близко могут быть диаграммы классов?Могут ли диаграммы быть одинаковыми только на более высоком уровне, или они могут быть одинаковыми с разностями, маскированными в реализации?

Ответы [ 2 ]

0 голосов
/ 28 марта 2012

Что касается дизайна класса, вы можете поделиться практически чем угодно.

Но для совместного использования реального кода у вас есть несовместимость языка и API: контроллеры и представления будут в ObjC ++ для iOS и Java для Android. Модель может быть опубликована и написана на C ++, но для ее работы на Android потребуется полный JNI (нативный интерфейс Java).

Для типичных контроллеров у каждого API есть свои начальные точки, для очень пользовательских контроллеров (например, для игры) вы также можете рассмотреть c ++ с JNI.

0 голосов
/ 28 марта 2012

Я думаю, что лучший подход - разбить ваше приложение на функциональные части или экраны. Например, «Экран входа в систему», «Экран профиля», «Фид активности»

Реализации пользовательского интерфейса будут совсем другими - я не думаю, что там будет много общего ... но я думаю, что некоторые из ваших классов хранения данных и классов моделей могут быть похожими .. Так что у вас может быть концепция Users «Предметы деятельности» и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...