我从前端的视角,为大家分析下微信小程序和HTML5之间的主要区别
第一条是运行环境的不同。
传统的HTML5的运行环境是浏览器,包括webview,而微信小程序的运行环境并非完整的浏览器,大家注意,我这里写的是“非完整的浏览器”,有以下几个原因
小程序的开发过程中会用到HTML5相关的技术(并非全部)
小程序最后的发布上线需要微信审核,微信在不更新自身软件的情况下可以将小程序更新到自身软件内,这就联想到了ReactNative框架,并且已经有开发者在微信小程序的开发工具源码中发现使用了React和NodeWebkit库
官方文档中着重强调了脚本内是无法使用浏览器中常用的window对象和document对象(基于这一点,像zepto/jquery这种 *** 作dom的库就被完全抛弃了)
所以我个人认为,小程序的运行环境很有可能是微信开发团队基于浏览器内核完全重构的一个内置解析器,针对小程序专门做了优化,配合自己定义的开发语言标准,提升了小程序的性能。
不过由于微信给开发者提供了开发工具,而开发工具中也内置了编程、调试、开发环境、发布于一身,我们也不用再探讨它的最终运行环境了,只要按照官方文档进行开发就可以了。并且从微信团队给开发者提供开发工具这一举动,让我联想到了苹果给开发者提供的X-CODE开发工具,可以想象微信的“野心”可见一斑
第二条是开发成本的不同。
这里我提出了一个问题,当我们面对一个HTML5web开发需求时,我们需要考虑什么呢?抛去开发工具(vscode、sublimtext、Atom等)不谈,大到前端框架(Angular、react、vue、backbone等)、模块管理工具(Webpack、Browserify等)、任务管理工具(Grunt、Gulp等),小到UI库选择、接口调用工具(ajax、FetchApi等)、浏览器兼容性等都要我们一一考略,再不济用jqery插件写H5,也要在开发过程中去寻找合适的jquery插件来配合项目。尽管这些工具可定制化非常高,并且提高了开发者的开发效率,但我相信项目开发的配置工作已经消耗了不少精力,尽管大部分开发者都有自己的配置模板,但长久以来对于项目中使用的各种外部库的版本迭代、版本升级所产生的成本应该也不低。
而当我们面对一个微信小程序的开发需求时,我们需要考虑什么呢?微信团队提供了开发者工具,并且规范了开发标准,前端常见的HTML、CSS变成了微信自定义的WXML、WXSS,WXML中尽管全部是自定义标签,但官方文档中都有明确的使用介绍,相信上手应该是非常容易的;WXSS、JSON和JS文件中的写法稍有限制,但整体相差不多。在统一了这些标准之后,作为一个开发者,你会发现,自己只要专注写程序就可以了:
当需要调用后端接口时,调用发起请求API
当需要上传下载时,调用上传下载API
当需要数据缓存时,调用本地存储API
引入地图、使用罗盘、调用支付、调用扫码等等功能都可以直接使用
UI库方面,框架自然带有自家weui库加成
并且在使用这些API时,你不用再去顾虑浏览器兼容性,不用担心生产环境中出现不可预料的奇妙BUG,可见微信小程序的开发成本确实相比以往的web开发低很多。
第三条是获取系统级权限的不同。
微信小程序相对于HTML5web应用能获得更多的系统权限,比如网络通信状态、数据缓存能力等,这些系统级权限都可以和微信小程序无缝衔接,也就是官方宣称的拥有NativeApp的流畅性能,而这一点恰巧是HTML5web应用经常被诟病的地方,这也是HTML5的大多应用场景被定位在业务逻辑简单、功能单一的原因。
第四条便是应用在生产环境的运行流畅度。
这条无论对于用户还是开发者来说,都是最直观的感受。长久以来,当HTML5应用面对复杂的业务逻辑或者丰富的页面交互时,它的体验总是不尽人意,需要不断的对项目优化来提升用户体验。但是由于微信小程序运行环境独立,尽管同样用htmlcssjs去开发,但配合微信的解析器最终渲染出来的是原生组件的效果,自然体验上将会更进一步。
直到前天的正式上线,微信小程序迅速火爆朋友圈~我也来凑个热闹,随便说说自己对小程序的小小见解~
作为一个有着三年多iOS开发经验的程序媛和一个微信公众号的运营者,在微信小程序之火刚刚燎原之际,我就产生了浓厚的兴趣并关注着动向。不过直到上个周末我才安装小程序的开发工具,而对于它的用户体验,更是迟在公测之日使用到第一个小程序——微信自己开发的“小程序示例”,才真的体会到小程序到底是个啥(在此也深深地鄙视一下自己的执行力)。
到目前为止,我一共添加并使用过5个小程序(排除小程序示例),它们的体验好坏不同。总结一下就是——app为主,小程序为辅。小程序现在还无法撼动原生app的地位~
经常使用微信看公众号文章的童鞋应该有一个很不好的体验:在关注地看某篇文章时,经常错过朋友发的微信消息(因为iOS系统的局限性,app在前台时不会发出通知),或者因为要看朋友发的消息,而不得不退出目前正在看的文章,要么把链接转发到自己微信账号/文件助手里,要么收藏该文章留着之后再看。这样导致的结果是:①被迫暂停了阅读的快感,之后忘记继续阅读②没有及时回复重要的消息。我觉得这是目前微信最需要改善的一个缺点~
那么小程序的出现,还是会面临上述问题:因为如果我们沉浸在一个小程序里,还是会漏掉微信消息。说严重点,小程序和公众号文章类似,它们和微信最原始的功能“聊天”是冲突的!这也导致了小程序具有局限性,只能做的比较“浅”,设计者在设计小程序时应尽量避免让用户停留太久的时间。
嗯~相信对于好多童鞋来说,很多原生app的存在只是对于某些特定的场合:比如我只在不知道中午吃什么的时候用大众点评、只在晚上订饭的时候用美团外卖,所以这两个app我可以毫不犹豫地从手机里删掉,改为使用微信小程序,这样也完美地解决了①好多童鞋手机内存低的问题,②像我这样不定时会清理掉多余的app的奇葩捂脸(连自己手里里的文件夹也是按照图标颜色分类的 = =)不过对于大多数app,尤其是功能比较复杂、或用户信息安全性需要得到保障的,我想大多数用户不会舍原生app而去选择小程序。
说完用户体验,再说说它的开发吧~微信的开发文档写的比较全面,还有作为示例的小程序展现了各种控件的展现方式,相信对于做前端和后端的资深开发者来说,开发小程序的难度比较低,容易上手。因为我一直在做iOS开发,偏离html语言太久的时间,因此对于我来说有些学习成本。
总之,我很佩服微信的团队,他们总是在不断地创新,研发了很多NB的产品。对于小程序,昨天的公测只是一个开始,微信小程序团队还有很长的时间去发展,我也同样期待着,微信小程序会给大家带来更出色的体验~我也不担心自己的移动开发前程因为我已经开始学习win10开发了哇卡卡卡卡卡嘿哈(请大家脑补微信同款小表情)
converter。sh技术。
简而言之就是个脚本,目前采用thinkPHP 5作为服务端系统,在小程序端把音频文件上传到后台,TP5已有文件上传功能的封装,具体上传代码不细说;我们只需要读取上传的文件,通过shell命令进行转码,然后把转码后的文件发送给语音接口即可得到语音识别结果。
关键字:微信小程序、Mini Program、技术栈、框架、WePy、MPVue
整体小程序开发类似Web App开发,尤其是使用了Vue或React框架的Web App开发。
小程序原生技术栈与框架WePY、MPVue之间的比较,参考 博客
小程序开发与APP开发优劣及复杂程度对比
一、开发周期对比
小程序开发周期相对于APP开发周期要短,因为小程序是基于微信平台、百度平台、支付宝平台等APP应用里的轻量级应用,有自身的开发规范要求,所以在周期上与原生APP开发要短得许多。
APP开发的周期因为要兼顾到iOS(苹果系统)及Android(安卓系统)的双系统版本,所以APP开发等于开发了两套系统的周期,所以在开发周期上,小程序开发要占优。
二、开发价格对比
在上述第一点有说到,小程序开发与APP开发的周期不一致,那么其实影响软件开发的价格因素除了周期就还有重要一点就是开发所需工种,而小程序开发可能在软件开发上用到的前端工种为一般的前端开发工程师即可,但是在APP开发上,因双版本的限制,所以必须要双系统的前端开发工程师。
譬如iOS的前端开发工程师与Android的前端开发工程师属于两种不同开发语言的工种,所在价格上,小程序的开发价格是要比APP开发价格要低的,这个小程序开发也占了一定的优势。
三、开发功能对比
虽说小程序开发为新型轻量级应用,但是它的功能实现其实与APP开发相差无几,但唯一受限的是它并不是一个独立的应用,所以在小程序开发上,它的功能为受限于第三方平台,比如微信小程序,它的部分功能会受限于微信平台。
譬如,在微信小程序实现支付时,必须要调用微信的支付接口,并不能使用支付宝的支付接口。反之,APP开发在开发功能上,是没有任何的限制因素存在,只存在上架商店的审核
当然除了以上这三点因素外,其实还有许多不同的优劣对比,这里就没有一一例举出来了,但是企业在选择开发时,可以根据自身公司企业的项目预算及功能需求来对开发类型进行对比选择,只有适合自身企业项目的开发类型,其实才是最优的选择。
如果是定制开发需要几万到十几万不等,APP和小程序区别如下:
1、下载、安装、占用空间不同
大家都知道APP都需要在应用商店(APP store)中进行下载,下载安装之后才能使用。而且还会占用空间。经常会出现安装APP过多导致内存不足。
小程序只需搜索你想要的小程序,就可以立即使用,无需下载安装,召之即来用完拜拜,占用空间可以忽略不计。
2、开发成本不同
APP开发成本比较高,它需要开发安卓版和IOS版,两种版本所用到开发语言不同。开发成本自然会高很多。
微信小程序是基于腾讯的小程序开发框架进行开发,开发技术类似HTML。一次开发就可以自动适配所有手机,_开发成本相对低些。
3、开发功能
APP可以实现完整功能;小程序仅限微信提供的接口功能(就微信小程序而言)。
小程序在功能上不如APP全面,但是却更为简洁和方便。
4、用户群体不同
APP面对的是全网用户,数量较为众多;小程序面对的是微信用户(就微信小程序而言)。
当然,随着各大巨大在小程序上的发力,小程序未来的用户群体会越来越大,从而渐渐接近APP。
5、推广难度
APP同类的应用商城很多,而且安装包也比较大,想要做推广,需要巨额的推广费用。小程序基于微信10亿用户在加上微信朋友圈,微信公众号引流,需要下载安装,推广难度会小很多。
凡科轻站小程序,打造服务预约系统,在线预约,引流拓客,打通线上线下;多种样式效果可选,展示界面效果佳。
400+精美小程序模板,点击这里马上获取:凡科轻站小程序
以上就是关于微信小程序和HTML5之间的联系与区别全部的内容,包括:微信小程序和HTML5之间的联系与区别、浅谈微信小程序的利与弊、微信小程序中文字语音搜索用到什么技术等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)