微信小程序,入门移动端产品的最佳实践

声明:下文所述的「小程序」,都指的是「微信小程序」。因为目前「小程序」的平台,不仅仅只有微信一家。

突然想做一个小程序,是因为看了几本小程序开发的书籍,虽说如此,其实在很早之前,就想学习小程序的开发,由于各种原因,一直在搁浅中,近期闲着也是闲着,那就慢慢着手开始实现吧。

这是第一篇关于小程序的文章,后续将针对小程序的产品技术,写成一个系列,用来记录开发小程序的经历。

为什么选择开发小程序

微信几乎是人们最常用的软件了,我查看了一下,近 7 天的屏幕使用时长,微信竟然达到了 16 个小时,是第 2 名 软件的 8 倍。我每天将近有 2 个多小时的时间在使用微信。

微信已然成为一个大的生态系统,不仅仅是社交,相比社交占用的时间,其中的公众号、小程序以及小游戏,占用用户时间更长。

目前移动端的操作系统,虽然只剩下 Andriod 和 iOS 了,但是,想要快速掌握这两个平台的移动开发技能,我相信不是一件特别容易的事情。

所以,想要快速实现一款移动端产品,某种程度上,微信小程序是最佳的选择。

小程序开发的特性

微信小程序开发,给我的感觉就是 Web 开发的「阉割+定制」版。

它不支持 HTML 的很多特性,例如不支持 Cookie,没有 BOM 和 DOM 等对象;也限制了原本能支持的一些特性,例如不允许外链等;

同时,又赋予了很多微信的特性,例如微信用户开放信息,微信支付等;而且,还赋予了移动设备的一些特性,例如:蓝牙,NFC,网络信息,罗盘等等。

总的来说,微信小程序有着原生 APP 般的体验,但又一方面受制于平台技术以及微信官方的管控。所以,说它是「阉割+定制」版最恰当不过了。

如果你只是想在微信的生态内做些东西,给用户提供一些服务,并带来价值,那么小程序可能是最好的选择;如果你想通过微信小程序,给其他平台引流,似乎有点困难,也没有太大的必要性。

小程序开发环境

微信小程序的开发与传统 Web 开发很类似,视图层经过微信封装,其实就相当于在微信上开启了一个 webview,取代浏览器环境。

视图层的开发采用微信定制的 WXML 和 WXSS 语言,它们与 HTML 和 CSS 很类似,但又有不同,WXML 对应 HTML ,WXSS 对应 CSS,两者语法有兼容的地方,也有不兼容的地方,具体开发的时候,一定要多查看官方文档。

逻辑层可以使用原生 JS,也可以使用 TypeScript,这个跟 PC 端倒没有太大的区别,开发框架的使用方法与 Vue 非常的类似。了解一下 Vue 的入门,就可以动手小程序的开发了。

开发工具建议直接使用官方提供的微信开发者工具,很多开发特性都直接于开发工具结合了,例如:云函数的调试等。开发工具也在一步一步的完善,微信似乎想要打造类似于 iOS App 的开发体验。

小程序开发入门

微信小程序是微信平台上的一种类似原生 APP 体验的应用,它只能基于微信运行,采用 MINA 框架设计,类似于 Weex,Flutter 等的一种跨平台的移动端解决方案。

微信小程序的学习门槛不高,具备基础的前端知识就可以了。相比技术门槛,我们更应该关注的是,微信官方制定的开发流程以及规则,因为它毕竟是基于微信平台之上,所以,它的规章制度是一定要遵守的。

在开发之前,我们需要了解小程序的一些机制,例如,如何申请账号?开发目录结构是怎样的?如何启动项目?如何运行?可以使用哪些功能?不可以使用哪些功能?

这个内容,不涉及到具体的写代码,但是一定要在正式开发之前搞清楚,不然盲目开始,遇到问题,以为是 BUG,其实是微信不支持,那就尴尬了。

由于这块技术发展较快,不建议使用搜索引擎查找问题,因为大部分时候,搜出来的解决方案可能都是过时的。

尽量通过官方的途径来获得支持,一个是开发者社区:开发者专区 | 微信开放社区,另一个就是开发文档:微信官方文档 | 微信开放文档

建议:先通读一遍官方文档,没事的时候,多浏览官方社区。

微信小程序是入门移动端产品的最佳实践,这是这个系列的第一篇文章。

完。

Comments
Write a Comment