我会考虑的一种方法是依赖注入。
在Android上,如果您使用依赖注入工具,例如Square的Dagger,您可以简单地创建一个@Module
类,该类提供组件并将其注入到应用程序中。这样,您可以将每个白标签客户端的逻辑作为单独的组件维护,并且在编译时,将通过@Module
类中的引用来选择特定组件。
这也是测试您的应用程序的好方法,它可以避免很多样板代码。
有一个在随后举行的会谈也由广场给予了极大的信息:
Dagger: A Fast Dependency Injector for Android and Java
Engineering Elegance: The Secrets of Square's Stack
的iOS有类似的框架,一个是Objection。
外箱选项:
难道移动客户端有直接发言的白色标签的服务器的要求?如果没有,您可能需要考虑使用自己的服务器作为白标服务器的代理。这将把所有的业务逻辑转移到你的服务器上,支持你所有的客户。
我对此没有任何经验,但看似有希望的选项是J2ObjC,它正在Google开发中。
J2ObjC is an open-source command-line tool from Google that translates
Java code to Objective-C for the iOS (iPhone/iPad) platform. This tool
enables Java code to be part of an iOS application's build, as no editing
of the generated files is necessary. The goal is to write an app's non-UI
code (such as data access, or application logic) in Java, which is then
shared by web apps (using GWT), Android apps, and iOS apps.
我要去选择1。GIT分支将使维护比来自GIT子模块内的库困难得多 - 但那仅仅是因为我喜欢子模块的功能应该保持不变,并且在每个使用/需要的基础上,可以容易地更新。 – Till 2013-02-12 00:53:27
Ow,以及某种配置饲料如何在应用启动后立即设置一些动态数据。至少为资源提供最大的灵活性 - 太糟糕的苹果不允许动态库(通过下载使用)。 – Till 2013-02-12 00:55:57
@bmat您选择了哪种方法?我在这里也是一样的情况。 – Latrova 2016-05-05 20:49:49