微信小程序是支持 typescript 的,官网提供了类型库,可以通过开发者工具直接创建 ts 项目。百度小程序目前是不支持的,效率就要低很多。
微信小程序的数据绑定之前一直是单向的,这个很多时候不太方便,要多写很多代码,好在从 2.9.3 开始可以双向绑定了,效率上也提升了不少。百度小程序目前还不支持,其它的平台了解的不多。
由于小程序都不支持 dom *** 作,而是内部提供了一套类 dom 的查询api,所以有一定的学习成本,也不能轻易的将 html5 程序转换到小程序。同时,各种涉及 dom *** 作的 js 库也无法使用,canvas 库也不行,仅有少数的库专门做了小程序版本,如 echarts。从这一点来看,效率的影响还是很大的,毕竟项目开发是需要借助于很多开源库的,改造成支持小程序的版本是很耗费时间和精力的。
总体上来说,微信小程序的开发效率还行,但是很多现有的 js 库不能利用,开发效率肯定比不上使用 vue 全家桶开发 web 应用。
硬件调用和系统原生特性
这个确实是小程序的优势,微信的小程序有丰富的设备接口,可以调用蓝牙、nfc和感应器等,浏览器中仅个别浏览器可以调用蓝牙。如果有硬件调用方便的需求,就只能放弃纯 html5 了。
统计分析
微信小程序有个数据助手,其它平台的基本上都有,在数据助手中可以查看使用情况,对用户和页面的信息进行统计。
对于 web 站点,要做这么一套东西,还是有不少的工作量的,数据库的成本也要增加,可以借助于第三方平台,像百度统计之类的。如果是前后端分离,前端 spa 模式纯静态,可以将前端程序放在 cdn 中,cdn 服务一般都会提供统计信息,但是会弱一些。
小程序的云开发功能
微信小程序提供了云开发功能,可以在小程序中使用文件存储、数据库和云函数,现在还提供了云托管和静态网站,百度小程序也有提供支持。相当于后端开发需要用到的技术都给你集成好了,并且还有免费额度,大大降低了成本,你甚至可以零硬件成本起步,非常适合小项目。
性能
小程序性能会更好吗?这个可不一定,就我的经验来看,微信小程序流畅度还可以,没有详细测试过,但是百度小程序就比较的拉跨了,明显的卡,页面上的图片资源加载很慢。我之前使用百度官方的工具移植微信小程序到百度,结果百度app中小程序的运行效果非常差,卡顿明显。
但是小程序确实比普通的 web 应用更快,这主要是因为运行小程序的 app 中自带了运行环境,集成了框架和一些 ui 库,这样小程序本身就可以很小。因此,加载小程序的速度是可以比网页快很多的。但是,web 有 pwa 技术啊,并且主流浏览器都支持了。win10 自带浏览器 edge 支持将支持 pwa 的站点添加到桌面,直接独立窗口启动,ios 和安卓也都是支持的,可以让支持 pwa 的站点像原生应用一样直接从桌面启动,脱机运行,不需要先启动微信这样的小程序容器程序。
不仅如此,微软官方还支持将 pwa 直接发布到应用商店:将渐进式 Web 应用发布到Microsoft Store 。
相比 html5 ,小程序是没有性能优势的,html5 如果想进一步提升性能,还可以使用 WebAssembly 技术。
总结
小程序最大的价值应该就是其平台本身的生态了,微信小程序就提供了很多便利:
便捷接入微信登录和微信支付,与视频号,消息等对接
提供文本和图片内容安全检查功能,这些功能要自己做成本非常高
提供ai功能,提供视觉算法,支持人脸识别
有丰富的设备接口,支持对蓝牙、nfc和各种感应器等进行控制
自带统计分析功能
提供云开发服务,前期甚至可以零硬件成本,个人觉得云开发不适合大型项目
内置广告组件,提供了流量变现功能
虽然小程序提供了很多便利,但是个人觉得还是要慎重选择,小程序是需要与平台绑定的,各个平台推出自己的小程序就是要将软件商拉到自己的生态中去。如果你需要小程序给你提供的这些便利,团队没有预算开发各个平台的不同版本 app,那还是可以考虑的,使用小程序能降低不少成本,甚至还可以省去域名费用。
如果你喜欢自由,不愿受制于平台,还是 html5 吧。真有接入微信的需求,还可以考虑在 html5 的基础上使用 wx-sdk 接入公共号网页开发,可以做一个兼容层,在非微信内置浏览器内使用或微信调用失败的情况下回退到纯 html5。
个人认为,还是 html5 优先,html5 满足不了需求再考虑小程序和 app,毕竟 html5 是国际标准,几乎被所有 *** 作系统原生支持,真正的跨平台一码多端,这才是未来。
一、功能更强大
从以上定义中可以看出,原生APP是系统性的应用程序,可以地用手机终端的硬件设备,比如语音、短信、GPS、蓝牙、重力感应和摄像头等,但是webAPP是不可以做到这些的。所以如果你想做一个可扩展性强,而且后期功能不断完善的APP,一定要考虑原生的。 二、 加载速度更快
刚我们有提到原生APP是由 “云服务器数据+APP应用客户端” ”两部分构成,APP应有所有的UI元素、数据内容、逻辑框架都是安装在手机里的。所以用户在使用APP的时候,不需要重新加载数据,因为这些内容都安装在手机中了,虽然第一次安装的时候有点复杂,但是在实际使用会方便很多。
济南APP开发定制
但是web APP打开每一个页面,都需要重新加载,虽然现在网络情况很好了,但是在实际中可能会有各种问题,比如流量用完了、所在区域网络不好或出了问题,就很大可能出现加载慢或者加载不出来的问题,加载多了很容易出现卡死错乱的情况,用户的体验就会很差。因此考虑到用户体验和加载速度方面,原生APP的性能要远远优于web。
第三:稳定性更好
目前市场的web版的APP多为模板,这种模板价格便宜,但是功能无法拓展,而且随着市场上浏览器、技术的进步,会逐步出现各种问题,稳定性根本无法保证。相比而言原生的APP技术更加成熟,而且功能可以拓展性更强。做个简单的比喻,我们有一套房子,这个房子可以考虑自己建设,这个过程中我可以决定建几层、建成什么样的户型等等,但如果其买别人做好的,那就只能从已经有的中选择。如果遇到网络不好的情况可能就像等期房一样,只大体知道是啥样的,但具体的得等网络好了才能看到。
1、离线缓存。可以在关闭浏览器后再次打开时恢复数据,以减少网络流量。
2、音频视频自由嵌入,多媒体形式更为灵活。
3、地理定位。地理位置定位,让定位和导航不再专属导航软件,地图也不用下载非常大的地图包,可以通过缓存来解决,到哪儿下哪儿,更灵活。
4、Canvas绘图,提升移动平台的绘图能力。使用CanvasAPI可以简单绘制热点图收集用户体验资料,支持图片的移动、旋转、缩放等常规编辑。
5、丰富的交互方式。提升互动能力:拖拽、撤销历史 *** 作、文本选择等。
6、开发及维护成本低,这个相对于原生APP开发来说。更低的开发及维护成本?使页面变得更小,减少了用户不必要的支出而且,性能更好使耗电量更低。
7、CSS3视觉设计师的辅助利器的支持。CSS3支持了字体的嵌入、版面的排版,以及最令人印象深刻的动画功能。
8、html5调用手机摄像头和手机相册、通讯录等功能。
html5是指万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改(这是一项推荐标准、外语原文:W3CRecommendation、见本处参考资料原文内容:)2014年10月29日,万维网联盟宣布,经过接近8年的艰苦努力,该标准规范终于制定完成。HTML5的设计目的是为了在移动设备上支持多媒体。新的语法特征被引进以支持这一点,如video、audio和canvas标记。HTML5还引进了新的功能,可以真正改变用户与文档的交互方式,包括新的解析规则增强了灵活性、新属性、淘汰过时的或冗余的属性等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)