将业务分割为微应用和服务后,不仅实现了不同模块之间的低耦合、高内聚,同时可以通过 mPaaS iOS 框架提供的框架上下文,进行微应用与服务的管理,包括微应用与微应用、服务与服务、微应用与服务之间的跳转和数据传递等。
管理微应用
框架上下文通过堆栈对所有微应用的跳转进行统一管理,遵循如下规则:
基于 mPaaS iOS 框架,可以根据微应用的
name
,快速查找到此微应用,并在当前微应用中启动另一个微应用:- (void)pushSubApp2
{
[DTContextGet() startApplication:@"20000002" params:@{} launchMode:kDTMicroApplicationLaunchModePushWithAnimation];
}
微应用堆栈中上层的微应用,可以快速跳转到堆栈底部的根应用:
- (void)exitToLauncher
{
// 因为 Launcher 在下层,所以再启动 Launcher 实际是退出上层所有的 App,回到 Launcher
[DTContextGet() startApplication:@"Launcher" params:nil animated:kDTMicroApplicationLaunchModePushNoAnimation];
}
快速退出当前微应用;
- (void)exitSelf
{
[[DTContextGet() currentApplication] exitAnimated:YES];
}
快速退出已启动的应用:
- (void)exitApp2
{
// 当前顶层应用是 app3,但是可以强行把 app2 和它的窗口都退出。
[[DTContextGet() findApplicationByName:@"20000002"] forceExit];
}
管理服务
基于 mPaaS iOS 框架,可以快速在当前微应用中启动另一个服务。
- (void)findService
{
id<DemoService> service = [DTContextGet() findServiceByName:@"DemoService"];
[service doTask];
}
文档内容是否对您有帮助?