小程序,App,H5的区别

小程序与 App 的区别

技术

微信小程序就是微信支持的一种第三方插件,微信向这种第三方插件开放了更多的功能接口,从丰富的界面控制到多种框架,特别合适提供了更多的对移动设备的访问能力。 

运行环境

原生 App 直接运行在操作系统的单独进程中(在 Android 中还可以开启多进程),而小程序只能运行在微信的进程中。

开发成本

原生 App 的开发涉及到 Android/iOS 多个平台、开发工具、开发语言、不同设备的适配等问题;而小程序只需要开发一个就可以在 Android/iOS 等不同平台不同设备上运行。

原生 App 需要在商店上架(Android 需要上架各种商店);小程序只能在微信平台发布。

系统权限

原生 App 调用的是系统资源,也就是说系统提供给开发的的 API 都可以使用;而小程序是基于微信的,小程序所有的功能都受限于微信,也就是说微信给开发者提供 API 才可以使用,不能绕过微信直接使用系统提供的 API。

原生 App 可以给用户推送消息;小程序不允许主动给用户发送消息,只能回复模版消息 。

原生 App 有独立的数据库,可以做离线存储;小程序只能存储到 LocalStorage,无法做离线存储。

原生 App 需要下载,安装包比较大;小程序无需下载,可以通过小程序码等方式通过微信直接打开。

运行流畅度

原生 App 运行在操作系统中,所有的原生组件可以直接调用 GPU 进行渲染;而小程序运行在微信的进程中,只能通过 WebView 进行渲染。

小程序与 H5 的区别

规范

H5是由W3C做的一个开放标准规范,小程序是腾讯自己的封闭规范。

运行环境
简单来说,小程序是一种应用,运行的环境是微信(App);H5 是一种技术,依附的外壳是是浏览器。

H5 的运行环境是浏览器,包括 WebView,而微信小程序的运行环境并非完整的浏览器,因为小程序的开发过程中只用到一部分H5 技术。

小程序的运行环境是微信开发团队基于浏览器内核完全重构的一个内置解析器,针对性做了优化,配合自己定义的开发语言标准,提升了小程序的性能。

小程序中无法使用浏览器中常用的 window 对象和 document 对象,H5 可以随意使用。

开发成本
H5 的开发,涉及开发工具(vscode、Atom等)、前端框架(Angular、react等)、模块管理工具(Webpack 、Browserify 等)、任务管理工具(Grunt、Gulp等),还有 UI 库选择、接口调用工具(ajax、Fetch Api等)、浏览器兼容性等等。

尽管这些工具可定制化非常高,大部分开发者也有自己的配置模板,但对于项目中各种外部库的版本迭代、版本升级,这些成本加在一起那就是个不小数目了。

而开发一个微信小程序,由于微信团队提供了开发者工具,并且规范了开发标准,则简单得多。前端常见的 HTML、CSS 变成了微信自定义的 WXML、WXSS,官方文档中都有明确的使用介绍,开发者按照说明专注写程序就可以了。

需要调用后端接口时,调用发起请求API;需要上传下载时,调用上传下载API;需要数据缓存时,调用本地存储API;引入地图、使用罗盘、调用支付、调用扫码等等功能都可以直接使用;UI 库方面,框架带有自家 weui 库加成。

并且在使用这些 API 时,不用考虑浏览器兼容性,不用担心出现 BUG,显而易见微信小程序的开发成本相对低很多。

系统权限

获取到的权限不一样,H5作为一个网页,被封闭在浏览器这个沙箱内。但是微信可以赋予微信小程序更多特殊权限,比如录音,视频,罗盘,扫一扫,模板消息,客服消息,分享等,这些都是和微信无缝衔接的。在微信里,微信小程序毫无疑问要比H5的体验好很多,除了不能支持长按识别二维码外。

而这一点恰巧是 H5 被诟病的地方,这也是 H5 的大多应用场景被定位在业务逻辑简单、功能单一的原因。

运行流畅度
这条无论对于用户还是开发者来说,都是最直观的感受。长久以来,当HTML5应用面对复杂的业务逻辑或者丰富的页面交互时,它的体验总是不尽人意,需要不断的对项目优化来提升用户体验。但是由于微信小程序运行环境独立,尽管同样用 HTML +CSS + JS 去开发,但配合微信的解析器最终渲染出来的是原生组件的效果,自然体验上将会更进一步。

H5/App/小程序之间的优劣势对比

原文地址:https://www.cnblogs.com/wazixuetang/p/11286742.html

时间: 2024-08-09 00:33:47

小程序,App,H5的区别的相关文章

小程序和H5、app、公众号、有什么区别?

小程序和H5.app.公众号.有什么区别?下面木鱼小铺就和大家分享一下四者之间的区别.一.小程序和app的不同之处 1.开发 app需要适配市场上很多款的主流手机,开发成本大. 小程序一次开发就可以自动适配所有手机. 2.开发周期 一款完善的双平台app平均的开发周期约3个月: 小程序平均开发周期约2周内,仅为app的六分之一. 3.发布 app需要向十几个应用商店提交审核,且每个应用商店要求的资料都不一样,非常繁琐:小程序只需要提交到公众平台审核. 4.下载 app从应用商店里下载. 小程序通

仿抖音上下滑动播放视频(兼容安卓,ios,小程序,h5)

仿抖音上下滑动播放视频(兼容安卓,ios,小程序,h5) 运行条件 HBuilder X 2.2.2 安装后,从插件市场导入,即可真机运行 vue 项目地址 github https://github.com/15157757001/scroll-video uniapp插件市场 https://ext.dcloud.net.cn/plugin?id=664 说明 插件分别用swiper实现(多端兼容)和css3动画实现(暂时只支持app),可自行切换. 插件在uni-app编译模式下编写(已切

小程序app.js小结

小程序app.js //app.js import { ApiUrl } from 'utils/apiurl.js'; import { httpReq } from 'utils/http.js'; //以上两个文件为封装的请求数据的接口,文件内容我会放在最后,不用这俩文件的可以安装wx.request(微信开发文档提供方法来请求),这两个文件也是在原方法上做了改动但效果一样的. App({ onLaunch: function () { var logs = wx.getStorageSy

Taro适配小程序和h5的话题发布小案例

内容:完成在小程序和h5的话题发布小案例,主要功能话题发布,按点赞数排序. 框架:taro 遇到的问题: 最好在小程序端开发 把需要的组件都得用import { View, Text, Button } from '@tarojs/components'引进来,否则不能适配h5端 事件的参数名必须以on开头,是为了适配小程序 尽量避免相同的命名,在小程序端因为组件的样式只对本身起作用,外界的样式对自定义组件时不起作用的,h5外界样式会对自定义组件起作用 源码地址:https://github.c

区块链红包小程序APP开发、红包系统开发、红包系统开发、红包系统开发。

红包系统开发,红包系统开发[蔡经理 136-1236-3414 微|电] .区块链红包小程序APP开发.红包系统开发.红包系统开发.红包系统开发. 本公司是专业软件开发公司,玩家勿扰喔谢谢!~ 企业如何利用微信红包玩出营销新花样? 1.用微信红包作为见面礼: 在中国这个人情社会中,从陌生到熟悉其实往往只要一个小小的馈赠,就好像两个不认识的男人碰在一起第一个动作肯定是掏烟,有事没事先点一根.那接下去的交流就变得非常顺畅. “微信红包”充当的角色就相当于你给刚认识的朋友的那一根烟.先通过一个事物进行

微信小程序APP生命周期

小程序APP生命周期需要先从app.js这个文件开始,App() 必须在 app.js 中调用,必须调用且只能调用一次,app.js中定义了一些应用的生命周期函数 onLaunch----当小程序初始化完成时,会触发 onLaunch(全局只触发一次) onShow ----当小程序启动,或从后台进入前台显示,会触发 onShow onHide ----当小程序从前台进入后台,会触发 onHide onError ----当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并

微信小程序 app注册小程序+page注册页面代码一

注册小程序代码:app.js //app.js App({ onLaunch: function(){ var log = wx.getStorageSync("logs") || [] log.unshift(Date.now()) wx.setStorageSync("logs", log) wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId } })

微信小程序app配置指南

//app.json页面 { //页面注册,有几个页面都要在pages里面注册 "pages":[ "pages/index/index", "pages/logs/logs", "pages/main/main", "pages/main1/main1", "pages/main2/main2", "pages/main3/main3", ], //上导航配置及ap

共享链模式开发小程序app系统详解

使用会员卡进行促销方法来说是现代商家最为常见的促销手段,很多都使用返利的信息或是换购的措施来刺激消费,作为商业财务来说,用会员卡积分购物后如何记入账务? 我们所说的会员卡的积分通常来说是一种收入的确认方法,比如:会员购买了1000元左右的东西,那么这个消费者的积分就可以领取50元,实际上来看,这个会员消费者实际上就是给商家950元钱就可以进行消费支出了,而商场在开出发票时,不能够按1000元来开,而是按照950元来进行开取发票,也就是商业折扣的费用是50元,这样企业能够少交纳50元的税款,实际上

点餐小程序APP开发

随着移动互联网时代的来临,百度.腾讯.阿里.小米等企业正以迅雷不及掩耳之势的速度在跨界经营,利用互联网思维在改变整个世界和生活消费习惯.而传统企业生出了浓浓的危机感. 每到饭点时间,店里定会坐满人.顾客多,服务员人手不够,呼唤N遍服务员,也不见有人来,于是就引发了店顾客的各种抱怨.作为餐企经营者,你一定深有体会.面对上述餐企经营者的痛点,赢在移动推出了基于微信的小程序,即点餐微信小程序,桌台扫码点餐,免去顾客排队等待的烦恼.开发点餐小程序:136.0000.5242微电都可. 一.,赢在移动小程