第一章: 起步 1.1移动开发技术简介

2021-12-16  本文已影响0人  QYCD

跟随《Flutter实战·第二版》学习,建议直接看原书

原生开发

原生应用程序是指某一个移动平台所特有的应用,使用相应平台支持的开发工具和语言,并直接调用系统提供的SDK API。比如,Android原生应用: Java或Kotlin;iOS原生应用: Objective-C或Swift。

原生开发优势:

缺点:

跨平台技术
H5 + 原生

部分内容通过H5方式实现,原生通过WebView来加载;
一般称这种H5 + 原生的开发模式为混合开发,采用混合模式开发的App我们称之为混合应用,如果一个应用的大多数功能都是H5实现的话称之为Web App。

混合框架一般都需要在原生代码中预先实现一些访问系统能力的API,然后暴露给WebView以供JavaScript调用。

JavaScript开发 + 原生渲染

React Native(RN)是2015年由Facebook开源的跨平台移动应用开发框架
RN中将虚拟DOM映射为原生控件的过程主要分两步:

优点:

不足:

JIT: 即Just In Time,指在执行时实时生成机器码
AOT: 编译类语言的执行方式为AOT,即Ahead Of Time,指在代码执行前已经将源码进行了预处理,这种预处理通常情况下是将源码编译为机器码或某种中间码

自绘UI + 原生

思路: 通过在不同平台实现一个统一接口的渲染引擎来绘制UI,而不依赖系统原生控件,所以可以做到不同平台UI的一致性。

PS: 自绘引擎解决的是UI的跨平台问题,如果设计其他系统能力调用,依然要涉及原生开发。

优点:

不足:

Flutter

Flutter是Google发布的一个用于创建跨平台、高性能移动应用的框架。其实现了一个自绘引擎,使用自身的布局、绘制系统。
2017年 Google首次发布Flutter。

上一篇 下一篇

猜你喜欢

热点阅读