扫描查看手机站
更新时间:2017-01-09 09:58
作者:匿名
微信小程序已经上线了,很多人拿微信小程序和HTML5作对比,那么微信小程序和H5之间的区别是什么呢?下面小编就和大家分享一篇微信小程序和H5区别的文章。
作为前端工程师,从前端的视角,为大家分析下微信小程序和HTML5与之间的主要区别
第一条是运行环境的不同。
传统的HTML5的运行环境是浏览器,包括webview,而微信小程序的运行环境并非完整的浏览器,大家注意,我这里写的是“非完整的浏览器”,有以下几个原因
小程序的开发过程中会用到HTML5相关的技术(并非全部)
小程序最后的发布上线需要微信审核,微信在不更新自身软件的情况下可以将小程序更新到自身软件内,这就联想到了React Native框架,并且已经有开发者在微信小程序的开发工具源码中发现使用了React和NodeWebkit库
官方文档中着重强调了脚本内是无法使用浏览器中常用的window对象和document对象(基于这一点,像zepto/jquery这种操作dom的库就被完全抛弃了)
所以我个人认为,小程序的运行环境很有可能是微信开发团队基于浏览器内核完全重构的一个内置解析器,针对小程序专门做了优化,配合自己定义的开发语言标准,提升了小程序的性能。
不过由于微信给开发者提供了开发工具,而开发工具中也内置了编程、调试、开发环境、发布于一身,我们也不用再探讨它的最终运行环境了,只要按照官方文档进行开发就可以了。并且从微信团队给开发者提供开发工具这一举动,让我联想到了苹果给开发者提供的X-CODE开发工具,可以想象微信的“野心”可见一斑
第二条是开发成本的不同。
这里我提出了一个问题,当我们面对一个HTML5 web开发需求时,我们需要考虑什么呢?抛去开发工具(vscode、sublimtext、Atom等)不谈,大到前端框架(Angular、react、vue、backbone等)、模块管理工具(Webpack 、Browserify 等)、任务管理工具(Grunt、Gulp等),小到UI库选择、接口调用工具(ajax、Fetch Api等)、浏览器兼容性等都要我们一一考略,再不济用jqery插件写H5,也要在开发过程中去寻找合适的jquery插件来配合项目。尽管这些工具可定制化非常高,并且提高了开发者的开发效率,但我相信项目开发的配置工作已经消耗了不少精力,尽管大部分开发者都有自己的配置模板,但长久以来对于项目中使用的各种外部库的版本迭代、版本升级所产生的成本应该也不低。
而当我们面对一个微信小程序的开发需求时,我们需要考虑什么呢?微信团队提供了开发者工具,并且规范了开发标准,前端常见的HTML、CSS变成了微信自定义的WXML、WXSS,WXML中尽管全部是自定义标签,但官方文档中都有明确的使用介绍,相信上手应该是非常容易的;WXSS、JSON和JS文件中的写法稍有限制,但整体相差不多。在统一了这些标准之后,作为一个开发者,你会发现,自己只要专注写程序就可以了:
当需要调用后端接口时,调用发起请求API
当需要上传下载时,调用上传下载API
当需要数据缓存时,调用本地存储API
引入地图、使用罗盘、调用支付、调用扫码等等功能都可以直接使用
UI库方面,框架自然带有自家weui库加成
并且在使用这些API时,你不用再去顾虑浏览器兼容性,不用担心生产环境中出现不可预料的奇妙BUG,可见微信小程序的开发成本确实相比以往的web开发低很多。
第三条是获取系统级权限的不同。
微信小程序相对于HTML5 web应用能获得更多的系统权限,比如网络通信状态、数据缓存能力等,这些系统级权限都可以和微信小程序无缝衔接,也就是官方宣称的拥有Native App的流畅性能,而这一点恰巧是HTML5 web应用经常被诟病的地方,这也是HTML5的大多应用场景被定位在业务逻辑简单、功能单一的原因。
第四条便是应用在生产环境的运行流畅度。
这条无论对于用户还是开发者来说,都是最直观的感受。长久以来,当HTML5应用面对复杂的业务逻辑或者丰富的页面交互时,它的体验总是不尽人意,需要不断的对项目优化来提升用户体验。但是由于微信小程序运行环境独立,尽管同样用html+css+js去开发,但配合微信的解析器最终渲染出来的是原生组件的效果,自然体验上将会更进一步。
相关资讯
《微信》钱包密码锁设置方法
《微信》2023情人节状态设置方法
《微信》头像褪色恢复方法
《微信》聊天提示对方出现异常原因分析
《微信》自定义表情包设置方法
《微信》键盘换行设置成发送的方法
《微信》自制表情包文字添加方法
《微信》自制表情包制作设置方法
《微信》自制表情包位置分享
软件教程2022-11-22 11:24
网易暴雪游戏退款方法
软件教程2022-11-18 13:21
《微信》推荐名片方法
软件教程2022-11-01 17:23
《微信》查看朋友圈历史点赞和评论的方法
《微信》自动领取红包设置方法
软件教程2022-10-03 11:24
《微信》朋友圈被折叠解决办法
软件教程2022-10-03 11:23
《微信》朋友圈关键词搜索内容方法介绍
软件教程2022-09-10 09:15
《微信》键盘变小了恢复正常方法介绍
软件教程2022-09-05 17:00
类型 :社交聊天
大小 :195.88MB
老爹奶茶店
云逆水寒
后室公司
太空沙盒
朝圣者
晾晒时光
我是咸鱼
剑与骑士团
哈基逃亡2
愚录DEMO
冲关小队
熄灯睡觉
最新文章
《微信》单删好友功能使用方法
《微信》查单删好友功能开放条件
《百度》2024神龙红包活动金币获取方法
《百度》2024神龙红包兑换现金时间段介绍
影音播放
资讯阅读
健康医疗
网络工具
网络购物
生活服务
经营策略
动作冒险
休闲益智
体育竞速
飞行射击
CopyRight©2007-2021 WWW.973.COM All Right Reserved 晋ICP备2023022329号-1
温馨提示:抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活 游戏作品版权归原作者享有,如无意之中侵犯了您的版权,请您来信告知( 联系邮箱:lqqsgduw132@163.com),本网站将应您的要求删除。
更新时间:2017-01-09 09:58
作者:匿名
微信小程序已经上线了,很多人拿微信小程序和HTML5作对比,那么微信小程序和H5之间的区别是什么呢?下面小编就和大家分享一篇微信小程序和H5区别的文章。
作为前端工程师,从前端的视角,为大家分析下微信小程序和HTML5与之间的主要区别
第一条是运行环境的不同。
传统的HTML5的运行环境是浏览器,包括webview,而微信小程序的运行环境并非完整的浏览器,大家注意,我这里写的是“非完整的浏览器”,有以下几个原因
小程序的开发过程中会用到HTML5相关的技术(并非全部)
小程序最后的发布上线需要微信审核,微信在不更新自身软件的情况下可以将小程序更新到自身软件内,这就联想到了React Native框架,并且已经有开发者在微信小程序的开发工具源码中发现使用了React和NodeWebkit库
官方文档中着重强调了脚本内是无法使用浏览器中常用的window对象和document对象(基于这一点,像zepto/jquery这种操作dom的库就被完全抛弃了)
所以我个人认为,小程序的运行环境很有可能是微信开发团队基于浏览器内核完全重构的一个内置解析器,针对小程序专门做了优化,配合自己定义的开发语言标准,提升了小程序的性能。
不过由于微信给开发者提供了开发工具,而开发工具中也内置了编程、调试、开发环境、发布于一身,我们也不用再探讨它的最终运行环境了,只要按照官方文档进行开发就可以了。并且从微信团队给开发者提供开发工具这一举动,让我联想到了苹果给开发者提供的X-CODE开发工具,可以想象微信的“野心”可见一斑
第二条是开发成本的不同。
这里我提出了一个问题,当我们面对一个HTML5 web开发需求时,我们需要考虑什么呢?抛去开发工具(vscode、sublimtext、Atom等)不谈,大到前端框架(Angular、react、vue、backbone等)、模块管理工具(Webpack 、Browserify 等)、任务管理工具(Grunt、Gulp等),小到UI库选择、接口调用工具(ajax、Fetch Api等)、浏览器兼容性等都要我们一一考略,再不济用jqery插件写H5,也要在开发过程中去寻找合适的jquery插件来配合项目。尽管这些工具可定制化非常高,并且提高了开发者的开发效率,但我相信项目开发的配置工作已经消耗了不少精力,尽管大部分开发者都有自己的配置模板,但长久以来对于项目中使用的各种外部库的版本迭代、版本升级所产生的成本应该也不低。
而当我们面对一个微信小程序的开发需求时,我们需要考虑什么呢?微信团队提供了开发者工具,并且规范了开发标准,前端常见的HTML、CSS变成了微信自定义的WXML、WXSS,WXML中尽管全部是自定义标签,但官方文档中都有明确的使用介绍,相信上手应该是非常容易的;WXSS、JSON和JS文件中的写法稍有限制,但整体相差不多。在统一了这些标准之后,作为一个开发者,你会发现,自己只要专注写程序就可以了:
当需要调用后端接口时,调用发起请求API
当需要上传下载时,调用上传下载API
当需要数据缓存时,调用本地存储API
引入地图、使用罗盘、调用支付、调用扫码等等功能都可以直接使用
UI库方面,框架自然带有自家weui库加成
并且在使用这些API时,你不用再去顾虑浏览器兼容性,不用担心生产环境中出现不可预料的奇妙BUG,可见微信小程序的开发成本确实相比以往的web开发低很多。
第三条是获取系统级权限的不同。
微信小程序相对于HTML5 web应用能获得更多的系统权限,比如网络通信状态、数据缓存能力等,这些系统级权限都可以和微信小程序无缝衔接,也就是官方宣称的拥有Native App的流畅性能,而这一点恰巧是HTML5 web应用经常被诟病的地方,这也是HTML5的大多应用场景被定位在业务逻辑简单、功能单一的原因。
第四条便是应用在生产环境的运行流畅度。
这条无论对于用户还是开发者来说,都是最直观的感受。长久以来,当HTML5应用面对复杂的业务逻辑或者丰富的页面交互时,它的体验总是不尽人意,需要不断的对项目优化来提升用户体验。但是由于微信小程序运行环境独立,尽管同样用html+css+js去开发,但配合微信的解析器最终渲染出来的是原生组件的效果,自然体验上将会更进一步。
相关资讯
《微信》钱包密码锁设置方法
《微信》2023情人节状态设置方法
《微信》头像褪色恢复方法
《微信》聊天提示对方出现异常原因分析
《微信》自定义表情包设置方法
《微信》键盘换行设置成发送的方法
《微信》自制表情包文字添加方法
《微信》自制表情包制作设置方法
《微信》自制表情包位置分享
软件教程2022-11-22 11:24
网易暴雪游戏退款方法
软件教程2022-11-18 13:21
《微信》推荐名片方法
软件教程2022-11-01 17:23
《微信》查看朋友圈历史点赞和评论的方法
软件教程2022-11-01 17:23
《微信》自动领取红包设置方法
软件教程2022-10-03 11:24
《微信》朋友圈被折叠解决办法
软件教程2022-10-03 11:23
《微信》朋友圈关键词搜索内容方法介绍
软件教程2022-09-10 09:15
《微信》键盘变小了恢复正常方法介绍
软件教程2022-09-05 17:00
类型 :社交聊天
大小 :195.88MB
老爹奶茶店
云逆水寒
后室公司
太空沙盒
朝圣者
晾晒时光
我是咸鱼
剑与骑士团
哈基逃亡2
愚录DEMO
冲关小队
熄灯睡觉
最新文章
《微信》单删好友功能使用方法
《微信》查单删好友功能开放条件
《百度》2024神龙红包活动金币获取方法
《百度》2024神龙红包兑换现金时间段介绍
影音播放
影音播放
资讯阅读
影音播放
健康医疗
资讯阅读
影音播放
网络工具
网络购物
生活服务
经营策略
动作冒险
休闲益智
休闲益智
体育竞速
动作冒险
休闲益智
飞行射击
飞行射击
休闲益智