HTML5负责前端展示,Weex负责前端与设备之间的沟通(获取设备信息),Vue.JS负责执行数据渲染
APP开发使用当前流行的WebApp技术
App云平台使用语言
App开发框架
App缓存框架
App通信
App传输
Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,
该模 式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
即原生开发模式,开发出来的是原生程序,不同平台上,Android和iOS的开发方法不同,开发出来的是一个独立的APP,能发布应用商店,
有如下优点和缺点:
直接依托于操作系统,交互性雄厚, 性能知名 相比于其它模式的交互,原生APP体验是优的。
功能为强大,特别是在与系统交互中,
几乎所有功能都能实现得益于原生是直接依托于系统的,
所以可以直接调用官方提供的api,功能为全面(比如本地资源操作,通知,动画等)。
开发成本高,无法跨平台,
不同平台Android和iOS上都要各自独立开发Android上基于Java开发,
iOS上基于ObjectC或Swift开发,相互之间独立,必须要有各自的开发人员
门槛较高,原生人员有一定的入门门槛,
相比广大的前端人员而言较少02原生的一个很大特点就是独立,
所以不太容易入门,不像web前端一样那么广泛,而且Android,iOS都需要独立学习
维护成本高,同开发一样,项目上线后,维护起来也很为麻烦
Web App开发即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,
该模式通常由“云服务器端+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
weex是阿里开源出来的一套APP开发方案,底层原理是通过核心引擎将代码编译成原生组件。达到原生APP的体验效果。
开发成本小于原生模式,大部分代码可复用
相比于其它模式的交互,原生APP体验是优的
相比于原生模式,这种模式是统一用JS写代码,所以往往只需要一名成员投入学习,即可完成跨平台app的开发,而且后续代码封装的好,很多功能可复用
性能体验高于Hybrid,不逊色与原生
这种模式的view层是虚拟dom,所以性能距离原生差距不大
这种模式可以认为是用JS原生,即页面用JS写,然后原生通过Bridge技术分析JS,
将JS内容单独渲染成原生Android和iOS,所以性能不逊色原生
开发人员单一技术栈,一次学习,跨平台开发
这种模式是统一由JS编写,有着独特的语法,
所以只需要学习一次,即可同时开发Android和iOS
一套代码跨平台,只要遵循特定的语法规则,完全可以达到一套代码多个平台运行
o核心就是在web环境下,将源码编译成web中显示的Html dom对象等,
在原生环境下编译成原生组件。o而React-Native中,它是JS写原生代码,
不同平台代码是不一样的,虽然有大部分可以复用,但并不是完全一套代码多个平台。
功能受限于WebView(但是目前WebVApp发展势头迅猛,
除非是对于动画要求非常高的游戏类应用之外,完全可以满足日常平台开发)
对开发人员学习有一定要求 , 才能写出一套源码两端兼容
从原理上来讲 , NativeApp模式可以直接调用OS底层API(例如设备信息,屏幕旋转等) , 而WebApp则需要通过js bridge调用OS底层API
得益于现在WebAPP的发展 , 目前WebApp开发已经成为一种趋势 , 而js bridge 随着技术的更新已经变得非常强大,
几乎可以做到和NativeAPP同样的事情 , 效率和体验也与NativeApp无异。