app脚手架概述
一个完整的app需要的能力和一些通用的解决方案(三方库)。
主流的app都将不同业务(增长、交易、短视频、直播、社区等等不同业务)做成独立的组件,以及支持app运行的基础代码都封装成独立的模块,不仅能提高编译速度,也解除了各个业务的耦合,下面是组件化app的各种基础库。
app容器能力
组件通信
各个组件之间啊采用何种方式通信的中间件
比如url-block方式,蘑菇街的方案
核心在于这种硬编码
#include <dlfcn.h>
#include <mach-o/getsect.h>
@implementation Person
- (instancetype)init
{
self = [super init];
if (self) {
[self readDataFromMachO];
}
return self;
}
- (void)readDataFromMachO {
//1.根据符号找到所在的mach-o文件信息
Dl_info info;
dladdr((__bridge void *)[self class], &info);
//2.读取__DATA中自定义的ProtocolInfoDataz数据
#ifndef __LP64__
const struct mach_header *mhp = (struct mach_header*)info.dli_fbase;
unsigned long schemeSize = 0;
uint32_t *schemeMemory = (uint32_t*)getsectionda