1.本书是钉钉官方技术团队聚力编写的钉钉小程序开发教程,内容权威、全面、系统。
2.众所周知,数字化转型已经成为全球企业的重要战略,越来越多的企业已认同数字化转型是大势所趋。本书为数字化转型落地提供了可行的技术支撑。利用钉钉小程序开发的应用,助力企业实现组织数字化和业务数字化。
本书适合有一定前端基础的开发者使用,如果有其他小程序开发经验,则能更快地接受和理解本书内容,因为它们在一些基本概念和底层技术上是共通的。本书可以作为钉钉小程序的入门学习指南,也可以作为API 速查工具书。
由小程序底层封装的AXML,可以使得开发者通过使用简单的类似HTML的语言进行编写,调用AXML定义好的自带复杂交互的组件。WKWebView负责对AXML和ACSS进行解析和执行,开发速度提升的同时,比使用H5开发相同复杂度的组件的计算渲染速度更快。小程序的JavaScript解析则是直接由JavaScriptCore负责的,页面内部的交互行为将继续通过JavaScript实现,而与App的交互将会解析为Objective-C来与钉钉iOS客户端交互。
.json文件其实就是一种配置文件,是小程序与钉钉客户端的约定,直接由Native读取来控制整个小程序App或者页面的一些生命周期、导航边框等通用行为样式。
所以钉钉小程序本质上就是自定义了多功能标签、页面配置项,优化了传统H5和Native交互,采用了更高效的渲染引擎和更高效的JavaScript解析引擎的类H5的网页开发,当然由于各种适配与钉钉客户端的自定义功能,高效的同时,它也只能在钉钉中运行。
1.WKWebView简介
WKWebView是苹果公司在iOS 8之后推出的WebKit框架中的浏览器控件,其加载速度比UIWebView更快,但内存占用率下降很多,解决了加载网页时的内存泄漏问题。
对比UIWebView,WKWebView最大的优势在于:
— 更多地支持HTML5的特性。
— 具有官方宣称的高达60fps的滚动刷新率及内置手势。
— 拥有与Safari相同的JavaScript引擎。
— 更多内容可参考官方文档“链接0”。
2.JavaScriptCore简介
JavaScriptCore建立起Objective-C和JavaScript两门语言之间沟通的桥梁。无论是这些流行的动态化方案、WebView Hybrid方案,还是之前广泛流行的JSPatch,JavaScriptCore都在其中发挥了举足轻重的作用。
iOS官方文档对JavaScriptCore的介绍很简单,其实主要就是给App提供了调用JavaScript脚本的能力。而在小程序中钉钉Native也是通过JavaScriptCore调用JavaScript脚本的。
其中最重要的几个模块如下:
— JSContext。
— JSManagedValue。
— JSValue。
— JSVirtualMachine。
第1章开发你的第一个钉钉小程序
1.1准备工作
1.2基本概念
1.3创建项目
1.4小程序开发
第2章初识钉钉小程序
2.1什么是钉钉小程序
2.1.1钉钉小程序的演进
2.1.2钉钉小程序的功能
2.1.3钉钉小程序的使用场景
2.2钉钉小程序原理解析
2.2.1概述
2.2.2Page页面原理解析
2.2.3为什么“没有DOM”
2.2.4小程序的性能优势
2.3钉钉小程序运行机制
第3章使用钉钉小程序开发者工具
3.1使用IDE创建项目
3.2钉钉小程序开发
3.3钉钉小程序调试
3.3.1本地调试
3.3.2真机预览
3.3.3真机调试
3.4钉钉小程序发布版本
第4章了解钉钉小程序框架
4.1钉钉小程序框架概述
4.1.1数据绑定
4.1.2第三方npm模块
4.2文件目录结构
4.2.1app层
4.2.2page层
4.3钉钉小程序全局配置
4.3.1通过app.js注册小程序
4.3.2app.json全局配置
4.3.3getApp方法
4.3.4多语言配置
4.4钉钉小程序页面配置
4.4.1注册小程序页面
4.4.2配置页面样式
4.4.3getCurrentPages方法
4.5视图层
4.5.1数据绑定
4.5.2条件渲染
4.5.3列表渲染
4.5.4引用
4.5.5模板
4.6自定义组件
4.6.1开发流程
4.6.2开发自定义组件
4.6.3使用自定义组件
4.6.4发布自定义组件
4.7事件
4.7.1事件概述
4.7.2事件对象
4.8样式
4.8.1rpx
4.8.2样式导入
4.8.3内联样式
4.8.4选择器
4.8.5全局样式与局部样式
4.8.6页面容器样式
4.8.7暗黑模式
4.9钉钉小程序scheme
4.9.1第三方企业应用
4.9.2第三方个人应用
4.9.3通用参数
4.9.4如何在scheme上携带业务参数
4.10SJS语法参考
4.10.1SJS概述
4.10.2变量
4.10.3注释
4.10.4运算符
4.10.5语句
4.10.6数据类型
4.10.7基础类
4.10.8Esnext
第5章使用钉钉小程序组件
5.1视图容器
5.1.1view
5.1.2swiper
5.1.3scroll-view
5.1.4movable-view
5.1.5movable-area
5.2基础内容
5.2.1text
5.2.2icon
5.2.3progress
5.2.4rich-text
5.3表单
5.3.1form
5.3.2button
5.3.3label
5.3.4input
5.3.5textarea
5.3.6radio
5.3.7radio-group
5.3.8checkbox
5.3.9checkbox-group
5.3.10switch
5.3.11slider
5.3.12pickview
5.3.13picker
5.4导航
5.5媒体
5.5.1image
5.5.2video
5.6canvas
5.7map
5.8开放能力
5.8.1web-view
5.8.2open-avatar
第6章钉钉小程序设计规范
6.1设计指南
6.1.1应用Logo符合钉钉要求
6.1.2新用户/功能引导
6.1.3用户授权
6.1.4路径清晰
6.1.5突出重点
6.1.6状态告知及引导帮助
6.1.7容错
6.1.8平等对话
6.2视觉规范
6.2.1字号
6.2.2颜色
6.2.3列表
6.2.4按钮
6.2.5图标
6.3设计走查表
6.3.1基本原则
6.3.2更好的体验
6.3.3上钉体验细则
第7章钉钉小程序实战:抽奖助手
7.1准备工作
7.2设计思路
7.2.1功能分析
7.2.2功能开发设计
7.3开发流程
7.3.1创建应用
7.3.2小程序开发初始化
7.3.3功能开发
7.3.4应用的调试与发布
第8章钉钉小程序实战:会议室管理
8.1准备工作
8.2设计思路
8.2.1功能分析
8.2.2功能开发设计
8.3开发流程
8.3.1创建应用
8.3.2小程序开发初始化
8.3.3功能开发313
8.3.4应用的调试与发布353
附录A钉钉小程序JSAPI总览356
温馨提示:请使用荆门市图书馆的读者帐号和密码进行登录