微信小程序简介

2022/2/6 小程序

小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。

🌙 发展由来

  • 1.微信最初也是通过webview作为web的主要入口,通过js-sdk实现web端的api交互,比如:图片预览等需要依赖原生功能实现一些web无法实现的功能。
  • 2.js-sdk解决了移动web能力不足的问题,但是移动web的体验依然依然糟糕。比如:受限于设备性能和网络速度出现的白屏问题。
  • 3.为了解决诸如此类的问题,出现了增强版本的JS-SDK,其中有一个重要功能,称之为【“微信web资源离线存储”】
  • 4.复杂的页面场景下,依然会出现白屏问题,原因表现为页面切换的生硬感以及点击的迟滞感。
  • 5.于是,微信小程序应运而生,一个可解决js-sdk无法解决的问题以及给开发者及用户一个很好体验感的系统

🌙 小程序优势

  • 1.快速的加载 —— 白屏时间几乎可以忽略
  • 2.更强大的功能 —— 微信api更多,抢原生饭碗
  • 3.原生的体验 —— 体验更好,产品大卖
  • 4.易用且安全的微信数据开放 —— 站在巨人的肩膀上
  • 5.高效和简单的开发 —— 开发效率更高

也就是说,通过微信小程序能力,弥补了移动web的缺陷,同时有更多微信的api可调用,功能大大的增强了,它拥有web开发的效率还有原生的体验。简直就是坐上了✈️✈️

🌙 小程序与web

小程序和普通web开发有很大的相似性,小程序主要的开发语言是js,但是二者是有区别的

  • 1.api差异:普通web开发依赖于浏览器,可以使用浏览器中的DOM、BOM的api。小程序的逻辑层和渲染层是分开的,逻辑层运行在JSCore中,并没有完整的浏览器对象,所以缺少相关的Dom Bom的api
  • 2.线程不同:普通网页开发的逻辑层和渲染层是互斥的,可以说明的是长时间的脚本运行会导致页面无响应;而小程序的逻辑层和渲染层是分开的,分别运行在不同的线程中。
  • 3.宿主环境差异:网页开发时可以依赖各种浏览器,搭配一些辅助工具和编辑器即可。而小程序开发则需要申请小程序账号并安装开发者工具、配置项目等过程来完成。
  • 4.小程序的运行环境 (opens new window):微信小程序运行在多种平台上:iOS/iPadOS 微信客户端、Android 微信客户端、Windows PC 微信客户端、Mac 微信客户端、小程序硬件框架和用于调试的微信开发者工具等。

不同运行环境下,脚本执行环境以及用于组件渲染的环境是不同的,性能表现也存在差异:

运行环境 逻辑层 视图层
ISO JavaScriptCore WKWebView
Android V8 XWeb 引擎
Windows Chromium内核 Chromium内核
小程序开发者工具 NW.js (opens new window) Chrome Webview

🌙 小程序和 APP

  • 从企业应用开发实践来讲,微信小程序和 APP 二者各有千秋。毋庸置疑,技术永远只是一个折中的解决方案,我们需要多维度权衡的角度很多,比如:「团队学习门槛」、「开发实施成本」、「开发周期管理」、「用户获客成本」、「流量传播推广」、「数据挖掘分析」、「品牌效应管理」等,所以,最终咱们还是要结合企业的实际需求来做决策。

  • 用户:减轻内存,用完即可关闭,不占用空间

  • 商户:线上线下结合,实现互联网的转型

  • 创业者:创业简单,应用广泛,尤其是公众号创业者,直接小程序+公众号,打造微信生态圈,小程序依托庞大的生态圈天生拥有庞大的自然流量,同时小程序也拥有众多线上营销功能,前途还是很光明的!

  • 小程序流量入口:微信搜索、附近小程序、线下小程序、小程序二维码、公众号内链、转发小程序、公众号关联小程序、商家公众号平台自定义菜单、绑定关联通知、微信发现入口

🌙 小程序特点

  • 对于普通用户,可以通过二维码扫描、搜索或者朋友分享可以直接打开,加上优秀的体验,小程序使得服务提供者的触达能力变得更强。
  • 对于开发者,小程序具有快速加载和渲染的能力,加之配套的与能力、运维能力和数据汇总能力,使得开发者不需要处理琐碎的工作,精力放于具体的业务逻辑的开发上。
  • 小程序的模式使得微信可以开放更多的数据,开发者可以获得用户的一些基本信息,甚至可以获取微信群的基本信息,使得小程序的开放能力变得更强。

体验小程序