Thursday, 15 September 2011

android - How to handle deployment of white-labeled platform mobile apps? -



android - How to handle deployment of white-labeled platform mobile apps? -

i'm working on product deployed many different organizations (ideal scenario, dozens). each deployment of scheme (composed of native apps ios , android) involve following:

branding specific organization (i.e. new skin) integration organization's authentication scheme , user database some custom features depending on organization's needs

in other words, core functionality remain same across deployments, each instance different, hook different authentication systems, , have features enabled/disabled.

my question: best strategy managing our 2 mobile codebases (ios & android) in order minimize duplication , simplify deployment process?

the 3 solutions we're debating are:

create core library shared across instances (as sub-project/library project, or git submodule), , add together lean layer on top branding , configuration details.

maintain git branch core functionality, , create new branch each deployment contains additional code.

do totally different smarter person on stackoverflow suggests.

which sounds best you? in advance feedback!!

an approach consider dependency injection.

on android, if utilize dependency injection tool such square's dagger can create @module class provides , injects components application. way, maintain each white-label client's logic separate components, , @ compile time, specific component selected via reference in @module class.

this great way test applications , can avoid lot of boilerplate code.

there's great info in next talks given square:

dagger: fast dependency injector android , java

engineering elegance: secrets of square's stack

ios has similar frameworks, 1 beingness objection.

outside box options:

is requirement mobile client has speak straight white-label's servers? if not, may want consider using own servers proxy white-label's servers. move of business logic server, supporting of clients.

i don't have experience seemingly promising alternative j2objc in development @ google.

j2objc open-source command-line tool google translates java code objective-c ios (iphone/ipad) platform. tool enables java code part of ios application's build, no editing of generated files necessary. goal write app's non-ui code (such info access, or application logic) in java, shared web apps (using gwt), android apps, , ios apps.

android ios deployment maintenance

No comments:

Post a Comment