面试官:说说你对微信小程序的理解?优缺点?

开发 开发工具
2017年,微信正式推出了小程序,允许外部开发者在微信内部运行自己的代码,开展业务,截至目前,小程序已经成为国内前端的一个重要业务,跟 Web 和手机 App 有着同等的重要性。

[[429713]]

本文转载自微信公众号「JS每日一题」,作者灰灰。转载本文请联系JS每日一题公众号。

一、是什么

2017年,微信正式推出了小程序,允许外部开发者在微信内部运行自己的代码,开展业务

截至目前,小程序已经成为国内前端的一个重要业务,跟 Web 和手机 App 有着同等的重要性

小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用

也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载

注意的是,除了微信小程序,还有百度小程序、微信小程序、支付宝小程序、抖音小程序,都是每个平台自己开发的,都是有针对性平台的应用程序

二、背景

程序并凭空冒出来的?个概念,当微信中的 WebView 逐渐成为移动 Web的?个重要??时,微信就有相关的 JS-SDK

JS-SDK 解决了移动??能?不?的问题,通过暴露微信的接?使得 Web 开发者能够拥有更多的能?,然?在更多的能?之外,JS-SDK的模式并没有解决使?移动??遇到的体验不良的问题

因此需要设计?个?较好的系统,使得所有开发者在微信中都能获得?较好的体验:

  • 快速的加载
  • 更强?的能?
  • 原?的体验
  • 易?且安全的微信数据开放
  • 效简单的开发

这些是JS-SDK做不到的,需要设计一个全新的小程序系统

对于小程序的开发,提供一个简单、高效的应用开发框架和丰富的组件及API,帮助开发者开发出具有原生体验的服务

其中相比H5,小程序与其的区别有如下:

  • 运?环境:?程序基于浏览器内核重构的内置解析器
  • 系统权限:?程序能获得更多的系统权限,如?络通信状态、数据缓存能?等
  • 渲染机制:?程序的逻辑层和渲染层是分开的

小程序可以视为只能用微信打开和浏览的H5,小程序和网页的技术模型是一样的,用到的 JavaScript 语言和 CSS 样式也是一样的,只是网页的 HTML 标签被稍微修改成了 WXML 标签

因此可以说,小程序页面本质上就是网页

其中关于微信小程序的实现原理,我们在后面的文章讲到

三、优缺点

优点:

  • 随搜随用,用完即走:使得小程序可以代替许多APP,或是做APP的整体嫁接,或是作为阉割版功能的承载体
  • 流量大,易接受:小程序借助自身平台更加容易引入更多的流量
  • 安全
  • 开发门槛低
  • 降低兼容性限制

缺点:

  • 用户留存:及相关数据显示,小程序的平均次日留存在13%左右,但是双周留存骤降到仅有1%
  • 体积限制:微信小程序只有2M的大小,这样导致无法开发大型一些的小程序
  • 受控微信:比起APP,尤其是安卓版的高自由度,小程序要面对很多来自微信的限制,从功能接口,甚至到类别内容,都要接受微信的管控

参考文献

https://developers.weixin.qq.com/miniprogram/dev/framework/

 

https://www.zhihu.com/question/263816362

 

责任编辑:武晓燕 来源: JS每日一题
相关推荐

2021-06-01 08:25:06

Node.jsJavaScript运行

2021-10-27 10:27:36

微信小程序流程

2021-10-26 00:25:14

程序登录流程

2021-10-28 19:32:16

微信原理程序

2021-10-26 11:53:50

微信面试支付

2021-08-09 07:47:40

Git面试版本

2021-11-25 10:18:42

RESTfulJava互联网

2020-12-01 08:47:36

Java异常开发

2020-06-12 15:50:56

options前端服务器

2021-09-16 07:52:18

算法应用场景

2019-05-10 10:50:04

Spring AOPJDK动态代理CGLIB动态代理

2021-11-02 22:04:58

模式

2021-11-10 07:47:49

组合模式场景

2022-02-21 17:24:18

序列化对象存储

2021-08-16 08:33:26

git

2021-11-03 14:10:28

工厂模式场景

2020-12-04 06:27:04

序列化面试官Java

2021-11-05 07:47:56

代理模式对象

2021-11-09 08:51:13

模式命令面试

2021-10-20 07:18:51

微信小程序函数
点赞
收藏

51CTO技术栈公众号