hybird技术

##什么是 hybrid

广义上指:非 Native技术与 Native 技术的混合

###WebView: web 技术与 Native 技术混合

- 纯内容展示

```oc

// 1.创建webview,并设置大小

WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 64, ScreenWidth, ScreenHeight - 64)];

// 2.创建请求

NSMutableURLRequest *request =[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.jianshu.com/p/449f35cd935c"]];

// 3.加载网页

[webView loadRequest:request];

// 最后将webView添加到界面

[self.view addSubview:webView];

```

- 与 Native 交互

- 优势:热更新、可以结合 Web 与 Native两者优势

- 劣势:web 技术与 Native 技术在体验上比较难保持一致

- Native 扩展

- WKWebView: 使用 WKUserScript 以及 Script Messages 进行双向交互。

- ~~UIWebView~~ :

- 在 Native 方,使用 stringByEvaluationgJavaScriptFromString 调用 JavaScript 代码。

- 在 JavaScript方,需要使用 Hack URL 的技术才能调用到 Native方的代码。

##数据驱动

- 传统的服务器下发 JSON数据,客户端展示内容。

- 可进一步扩展为使用 JSON数据来驱动程序行为。

最大劣势:难以表达复杂的程序逻辑

##脚本驱动 (ios8)

###使用 JavaScript 来驱动应用程序行为

- React Native

- JSPatch

- 微信小程序

你可能感兴趣的:(hybird技术)