赞
踩
钉钉小程序开发的应用分布很广泛,下面列举了四个常用的钉钉小程序:钉钉投票、传图识字,以及集成在钉钉客户端中的自定义平台和考勤打卡。
通过对比桌面设备,移动Web的特点体现在以下三个方面: 小屏幕 桌面设备:使用大尺寸屏幕,14寸~27寸以上,可一次性展示大量内容; 移动设备:可视区域较PC设备小很多,可展示内容有限; 轻场景 桌面设备:得利于大屏幕、高性能的特点,可进行复杂的渲染、交互; 移动设备:受限于屏幕大小、电池容量,凸显移动、便携; 低性能 桌面设备:外部电源供能,不受能耗限制,能进行高性能计算; 移动设备:自带电池,受电池容量限制,电量有限,不适合高功耗的任务; 简单来说,移动Web主要优势在于移动和便携。
通过对比桌面设备,移动Web的特点体现在以下三个方面:
小程序同属于移动Web范畴,是站在移动Web的肩膀上,让移动Web开发更加贴近原生应用的体验和性能,这一特点体现在小程序的框架中。 小程序框架主要分为逻辑层和视图层(见下图)。在逻辑层中,不同的页面都运行在同一个逻辑层中,而在视图层中每个页面是单独存在,这在架构上更贴近原生应用的表现。钉钉客户端就是标准的原生应用。
在性能和体验方面,小程序会将公共交互性的功能(如路由、分享类)使用原生native实现,让小程序具备原生应用的体现,在交互表现上与原生应用一致,在技术开发上则使用移动端Web开发技术如JS、CSS。
小程序提供小程序DSL,在标签上相对移动Web端H5的开发标准做了大量简化,虽然不如H5开发标准自由,但小程序在一定意义上降低了学习门槛。 例如首屏加载性能,这是在移动Web开发中经常会遇到的问题,而小程序在框架中就直接解决了这个问题,资源加载只在首次启动小程序时发生,加载后资源会储存在本地,再次启动小程序时无需再次加载,实现秒启动,使首屏加载性能在小程序中得到很好的体验。
离线可用是小程序和移动Web应用最大的差异。小程序通过离线包将资源下发到客户端,因此在离线或弱网场景仍然可用。
小程序开发的原则有以下三点:
因此,小程序开发要发挥移动便携优势,与桌面端Web互补,各展所长。
在2022年上半年预计将有100+JSAPI开放,涉及运行时、文件、网络、地图、设备等。
目前钉钉小程序无法在桌面客户端运行,从而产生交互体验的断层。2022年会着重于小程序桌面客户端开发,Mac、Windows小程序正在路上,以实现一套代码运行在钉钉所有客户端 - Write Once, Run Anywhere。
通过小程序和卡片的功能提供沉浸式、更轻量的交互体验。下图是一个在会话中使用卡片完成交互的示例。
下图示例同样是在会话中发起小程序卡片进行交互,并拉起一个半屏的小程序,用户填写后提交表单,并更新小程序卡片,这样用户通过小程序即可在会话中完成轻量交互,而无需打开新的小程序。
手机端和PC端的交互,实现多设备无缝连接和协同。
综上所述,小程序是一个优秀的开发方案,但它并不是银弹,不适用于所有场景,开发者需要根据不同场景选择合适的开发方案。 对钉钉小程序开发有兴趣学习的朋友,可以在《钉钉小程序开发权威指南》一书中了解更多内容,同时也欢迎大家加入钉钉群,一起交流分享。
Q:前端是如何获取用户组织的CorpID的呢?
A:钉钉小程序的应用分为三种类型,第三方个人小程序,企业内部小程序,第三方企业应用小程序,其中个人小程序是获取不到企业信息的,其它两类小程序中,CorpID放在了全局的my对象或者dd对象下面,比如my.CorpID,或者my.dd.CorpID,来获取到当前用户打开这个应用所属组织的CorpID。
Q:钉钉小程序开发工具中,代码上传环节是上传到了哪里呢?小程序开发不需要自己提供服务器环境了吗?
A:当我们在IDE做代码上传的时候,会上传到开放平台专属的文件服务里,启动小程序的文件服务将上传的代码进行编译,生成小程序的离线包,这个离线包也会放在开放平台的CDN里,然后把小程序下发到小程序的客户端。但这里并没有明确存放的具体位置,在开通小程序的时候就会提供这个服务,如果开发不涉及后端服务的话是感受不到这个细节的,只需要使用IDE操作就可以了。
Q:互动卡片的开发进展如何?什么时候可以体验到?
A:互动卡片目前在内部业务中试用,正在收集使用中的一些问题,尚处于孵化阶段,预计2022年上半年推出。
Q:钉钉小程序如何实现文件上传和下载?
A:主要分两部分:第一,如果存储文件的服务使用钉钉的钉盘,可以使用小程序里提供的钉盘API就可以,这些API包括上传文件到钉盘、选择钉盘、预览钉盘、从钉盘下载文件等。第二,如果使用自己的或第三方服务,比如阿里云的OSS、腾讯云的OSS服务,就需要自己做相应的实践和预览,比如上传可以通过定义Apollo file这样一个API,但需要开发者自己去对接;下载可以通过HttpRequest或者DownloadFile;预览则需要开发者自己去对接第三方预览的服务。
Q:第一次加载的时候,钉钉小程序加载的时候会比H5慢一些吗?
A:H5第一次加载是打开一个html页面、解析页面内容、加载页面资源的过程,而小程序相当于把页面代码和资源都打包在小程序离线包里并下发到客户端的能力,第一次打开小程序的时候,会有一个离线包的下载过程,但理论上小程序下载内容的总量和打开H5页面加载资源访问数据的总量是相同的,所以小程序加载的过程不会比打开H5页面的速度慢。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。