【微信小程序】移动开发的一些概念


本文章完全参考 阮一峰的《H5 手机 App 开发入门:概念篇》

原生App(Native App)

专门为特定手机平台开发的应用程序,无法在其他平台运行。
一个手机软件如果要同时支持苹果手机、安卓手机,就需要为它们各写一个原生App。
原生App开发要使用与手机操作系统相同的语言。IOS的原生App使用Objective-C语言或Swift语言开发,Android的原生App则使用Java语言或Kotlin语言开发。由于跟底层操作系统的语言和技术模型一致,所以原生App的性能和用户体验都很好。

  • 较好的性能和体验
  • 可以使用系统的所有硬件和软件API,比如GPS、摄像头、麦克风、加速计、通知推送等,能充分发挥系统的潜力
  • 每个手机平台需要建立一个独立的开发团队,大公司一般都有IOS、Android两个开发团队,所以开发成本高
  • 原生App开发使用底层操作系统的语言,都是很重的编译语言,开发和调试成本相对较高,开发周期更长
  • 原生App必须下载才能使用
Web App

使用网页作应用程序,必须在浏览器中使用。

  • 不需要下载安装,打开浏览器就能使用
  • 开发者调试比较容易
  • 浏览器提供的Web API很有限,目前只有相机、GPS、电池等少数几个,大部分系统硬件都不能通过网页访问,也无法直接读取硬盘文件,所以Web App无法充分利用平台的硬件
  • 网页通过浏览器渲染,性能不如原生App
混合App(Hybrid App)

混合App,就是 原生App+Web App,以原生App为容器,里面隐藏了一个浏览器,我们看到的网页就是由这个隐藏的浏览器渲染出来。这个隐藏的浏览器通常是系统提供的网页渲染控件,即WebView控件。
JSBridge往往以JavaScript语言提供,方便调试。
JSBridge介于原生App和浏览器之间。浏览器发送请求,通过JSBridge调用原生App的API,并返回结果。
在这里插入图片描述

WebView控件

在App里显示网页,一定需要一个网页引擎去解析网页。
通常情况下,App内部会使用WebView控件作为网页引擎。这是系统自带的控件,专门用来显示网页。应用程序的界面,只要放上WebView,就好像内嵌了一个浏览器窗口,可以显示网页。
了解更多WebView,可以继续看看阮一峰的这篇文章

微信小程序

小程序本身是一个容器,也开发了自己的接口(JSBridge),该容器可以加载开发者编写的网页。
微信小程序的架构如下图所示。
在这里插入图片描述
微信小程序主要分为逻辑层、视图层,以及它们之下的原生部分。
逻辑层主要负责JS运行,视图层主要负责页面的渲染,它们之间通过EventData进行通信,同时通过JSBridge调用原生的API。
由于原生部分对开发者来说就像是一个黑盒,因此,整个架构图的原生部分可以忽略,于是可将小程序架构进行简化,见下图。
在这里插入图片描述
可见,要运行小程序,只要在视图层提供对应的模板、样式,在逻辑层调用对应的App()/Page()方法,且在方法里处理data、提供生命周期、事件函数等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值