章节索引 :

小程序

小程序是近两年发展非常迅速的一个生态。

小程序赖于应用主体,基于这个主体提供的开放能力创建应用,如微信小程序,利用微信提供的能力,向上构建应用,最后将开发好的小程序应用进行上传发布,即可在微信内打开。

本篇幅不会介绍如何开发小程序,小程序有非常完善的一套体系,其可以作为相对独立的技能进行学习,主要目的是提示读者可以向小程序方向进阶。

1. 职责

小程序开发者的职责比较模糊,因为小程序的技术栈几乎是 前端相关,整体结构也很 前端,所以一般来讲,前端开发者承担了 小程序 开发的职责。

相对前端开着而言,承担小程序开发的职责是有好处的,小程序可以作为单独的技能,前端进军小程序开发非常顺滑快速,花很短的时间看下文档,了解了核心理念就能上手开发。

2. 开发者工具

小程序的开发需要使用小程序主体提供的开发者工具,以 微信小程序 为例,就是要下载 微信开发者工具

也就是说,如果需要开发多个平台下的小程序,那每个平台提供的工具都需要安装一遍。

通常开发者工具会使用其预览、调试功能,以及其他的一些生态链工具,如上传、预览代码等,编辑工作会放在自己的编码工具上进行,因为官方提供的编辑器的功能相比其他主流编辑器或者 IDE 还有许多不足。

3. 同构解决方案

第一个小程序的出现,带动了许多应用推出“小程序”。

主流的应用都有小程序,如 微信支付宝QQ头条等等。

如果要每个应用主题下都实现一份相同的小程序,相当于维护四分代码,每个平台可能还不同逻辑等等,维护多个平台的通过产品是非常耗费时间精力资源的事情。

针对这个痛点,就衍生了许多的同构框架,即使用一套通用的代码,生成各个平台下的小程序代码。

这些框架结合主流框架(React、Vue等),或者设计了一套统一的规范来统一多端的代码。

目前主流的方案有 Tarouni-appChameleon 等,还有许多方案已经停止维护,不建议继续使用。

选择框架尽量慎重,要综合考虑,非短期的项目更是要考虑到整个项目的使用场景、开发人员来决定。

4. 小结

小程序经常会拿来和 App 进行比较,App 的使用成本相对小程序高出非常多,因为需要经历一个较长的下载、安装过程,而小程序核心理念之一就是 即用即走,非常快餐,而许多提供小程序的平台又是“国民应用”,所以移动端应用很多时候小程序会作为首选。

前置知识
什么是JavaScript 开发与学习环境准备 调试方案
基础
JavaScript 变量 JavaScript 数据类型 JavaScript if 语句 JavaScript for 语句 JavaScript 算数运算符 JavaScript 比较运算符 JavaScript 逻辑运算符 JavaScript 表达式 JavaScript 函数 JavaScript 对象 JavaScript 字符串 JavaScript 数字 JavaScript 数组 JavaScript switch 语句 JavaScript while 语句 JavaScript break与continue JavaScript with document.cookie
内置对象
JavaScript Function JavaScript Math JavaScript Date JavaScript RegExp JavaScript JSON
JavaScript 与 DOM
什么是DOM DOM和JavaScript的关系 获取和操作 DOM 节点 JavaScript DOM与事件 JavaScript DOM 事件绑定 JavaScript DOM 事件对象 JavaScript DOM 事件流 JavaScript DOM 事件优化 JavaScript DOM 自定义事件
表单处理
使用 JavaScript 校验表单
BOM
BOM window 对象 常用的 BOM 相关对象 BOM 常用属性和方法
AJAX
JavaScript AJAX
进阶知识
JavaScript 异常处理 JavaScript 三元运算符 JavaScript 逗号操作符 JavaScript void JavaScript typeof JavaScript delete JavaScript debugger JavaScript getter &setter JavaScript 原型 JavaScript new操作符和构造函数 JavaScript instanceof JavaScript this JavaScript 严格模式 JavaScript 作用域 JavaScript 闭包 JavaScript 变量提升 JavaScript 对象包装器
常用库
jQuery Lodash moment.js swiper
进阶指南
ECMAScript6 Node.js Babel CSS 预处理器 代码规范 TypeScript Web Components 小程序 Vue / React / Angular JavaScript 关键字
常见疑点与误区
分号问题 对象属性访问问题 this 使用问题 浮点数精度问题 独一无二的 NaN 避免全局污染 控制台观察对象问题 根据环境选择语言特性
扩展
相关资源