前言:hybrid混合开发方案不在本篇讨论范围。本篇分析的是以原生代码运行在设备上跨平台方案。
1.什么是移动跨平台
写一套代码可以分别编译出apk和ipa在Android和iOS上运行。learn once ,write once run android&ios
2.为什么要用移动跨平台
开发一款Android APP需要学哪些知识?需要学习JAVA,需要学习Android框架,需要学习Android上的四大组件等等。
开发一款IOS APP需要学习哪些知识?需要学习OC或者swift,需要学习iOS的各种API
当一款APP需要在两个平台开发的时候,财大气粗的就是招两拨人,一拨人Android开发,一拨iOS开发,人力成本很高。节约成本呢就是让Android 开发去学习IOS开发,或者让IOS开发去学习Android开发,这样是节省了人力但是学习的时间成本呢?
有了跨平台方案,我们只需要学习一套框架,一种语言,写一套代码(理想情况)。
3.两大移动跨平台方案
-
React Native
设计理念:
Facebook对ReactNative的定义是Learn once, write anywhere 意思就是学习一种语言和框架可以做任何项目(Android、IOS、web),RN用的是React设计模式,UI的渲染是通过原生代码实现,JS代码编写的控件通过
ReactNative框架内的中间件转化为原生代码运行。
如下图所示,react native 的跨平台是实现主要由三层构成,