微信小程序开发体验

最近公司准备将产品部分功能迁移到微信小程序,为此从微信小程序官网教程学习了小程序开发,用了一个下午的时间开发了一个简单的体质指数计算器的小程序,这里聊聊小程序的开发体验。本博文不会注重讲解开发的技术过程。

1、开发工具

微信为了帮助开发者简单和高效地开发微信小程序,开发了微信web开发工具,下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/devtools.html

开发工具里面有编辑功能,也有调试功能,简单来说,就是集合了sublime这种富文本编辑器 + 自带调试功能和运行环境的类chrome。编辑功能通过有代码自动提示和一些简单的快捷键,调试功能有界面的展示,UI调试以及逻辑代码的端点调试,只要熟悉web调试功能的开发者,可以做到马上上手,无缝对接。

2、一键式框架搭建

通过添加项目操作,开发工具会自动化生成整个小程序的开发目录结构,后续的开发只要按照对应的目录结构扩展以及修改就OK了。用户无需自己组织整个程序的目录结构,多人协作也可以按照这种约定俗成的目录结构进行开发,规范了开发流程。

| img  --图片文件

| page  -- 页面文件

| |index  -- 单个页面文件

| | |index.js  -- index页面js

| | |index.json -- index页面配置

| | |index.wxml -- index页面结构

| | |index.wxss -- index页面样式

|app.js  --小程序入口

|app.json --小程序整体配置

|app.wxss --小程序整体样式

 

这些都是小程序的基本文件,页面会将页面文件夹路径作为页面标志,程序或默认的读取页面路径下的wxml文件作为结构,解析wxssjs文件,以及读取文件夹下面的json配置文件。一个基本的页面都是要按照这些规则去添加的。

3、配置式的界面展示

小程序里面每一部分都有一个json文件,这个json文件不是一个数据文件,而是一个配置文件。这个配置文件既可以配置程序的展示,比如菜单栏,整个颜色布局,头部的bar等,也可以配置窗口的状态,比如是否允许下拉,还可以配置一些网络状态,比如规定超时时间。

比如我们简单配app.json

"tabBar": {

    "selectedColor": "#ff0000",

    "list": [{

      "pagePath": "pages/recommend/recommend",

      "text": "读创独创",

      "iconPath": "img/icon_tab_shouye_normal@3x.png",

      "selectedIconPath": "img/icon_tab_shouye_pressed@3x.png"

    },

    {

      "pagePath": "pages/video/video",

      "text": "原创视频",

      "iconPath": "img/icon_tab_shipin_normal@3x.png",

      "selectedIconPath": "img/icon_tab_shipin_pressed@3x.png"

    }

    ]

  }

属性

 

底部的bar条直接就能展示,不用我们代码实现。从个人的理解来说,小程序通过配置来实现一些通过的界面,有利于微信控制小程序的整体风格。

4、自定义的组件

小程序自定义了组件标签,HTML的大部分标签在小程序中无法使用,它有自己的一套标签系统,基本用法跟HTML标签差不多,但对比HTML标签,他在标签内为开发者内部实现的功能更强,标签在实现上也针对了移动端的一些常用操作设置。比如实现了

scrollview,用于滚动视图

Swiper,用于轮播

这些组件的实现,大大提高了我们的开发效率。

另外一点,小程序不像vuereact等现在框架,允许开发者自定义组件,开发者不能够自定义组件标签。

5、响应的数据绑定

几乎现在流行的框架都采用了数据驱动视图的方式,小程序的实现也不例外。整个系统分为两块,视图层(view)和逻辑层(APP Service)。框架可以让数据和视图非常简单地保持同步。当数据修改的时候,只需要在逻辑层修改数据,视图层就会做相应的更新。

小程序更新数据的时候需要手动的调用更新数据的函数setData,这个与vue有比较大的区别。Vue会在内部对数据进行监控,当数据检测到发生变化的时候自动更新。

另外小程序对数据没有实现双向绑定,所以在一些表单数据操作的时候会比较麻烦,需要监控表单输入的数据,及时更新绑定数据。

6、自适应的尺寸单位rpx

小程序定义了一套WXSSWeiXin Style Sheets)样式语言,其实说白了,就是CSS样式语言。大部分CSS特性WXSS都有。比较大的区别就是扩展了尺寸单位rpxresponsive pixel,

可以根据屏幕宽度进行自适应,规定屏幕宽度为750rpx。这种方式有效解决了自适应的问题。

7、脱离DOMBOM对象

虽然我们的开发环境有点像浏览器,但是小程序运行的容器并不是浏览器,微信在小程序的实现上不是简单的将微信套上一个浏览器那么简单。既然不是浏览器,也就没有我们在web开发中常用的DOM对象和BOM对象。

8、丰富的API

虽然不能用DOM对象和BOM对象,但是微信还是提供了很多的API接口,包括网络请求,媒体操作,文件操作,缓存控制,以及微信开放的一些功能。调用起来很方便。

 

总的来说,小程序开发沿用了传统的web开发,WXML负责结构-WXSS负责样式-js负责逻辑。只要熟悉web开发的开发者,上手没有任何难度。

最后附上用了半天时间试验小程序开发的体质计算器源码,有想了解的话可以点击查看>

posted @ 2017-06-22 16:11  CaiBoBo  阅读(862)  评论(0编辑  收藏  举报