你好,游客 登录
背景:
阅读新闻

一小时入门微信小程序

[日期:2017-01-10] 来源:  作者: [字体: ]

微信推出小程序后,有人看好,有人吃瓜观望.奔着对新事物保持好奇心的原则,尝尝鲜.

1.对象:移动端工程师(安卓,iOS,H5).

2.目标:一小时了解微信小程序基本开发

一.基本回顾

1.前景

首先当然是要脑补一下微信小程序的前景,给你打点鸡血,以便能看完此文.

1).非技术角度:请君回望微信公众号.

2).技术角度:对移动端跨平台解决方案的一种尝试,毕竟OCS都出来了.

2.基础

1.如何开始?

从列表开发入手

移动端开发的基础是UI开发,而UI开发中最基本的技能便是对列表(UITableView,UICollectionView,ListView,GridView)的使用.因此能够熟练使用列表,基本上已算是入门.

2.需要技能

在安卓,iOS,WP,H5任何一个平台开发过列表页面

二.准备工作

1. 注册小程序号

2. 下载开发工具

3. 下载Demo源码

4. 简易教程

三.微信小程序开发

1. 目标:入门小程序

途径:编程实现一个列表页和跳转到响应的详情页

2. 基础知识

  1. 项目目录 
    小程序包含一个描述整体程序的 app(由三个文件组成 小程序逻辑--app.js , 小程序公共设置--app.json , 小程序公共样式表--app.wxss ,必须放在项目的根目录) 和多个描述各自页面的 page。 

    图1.png

  2. 页面组成 
    一个小程序页面由四个文件组成,分别为: 页面逻辑--index.js(必须) , 页面结构--index.wxml(必须) , 页面样式表--index.wxss(非必须) , 页面配置--index.json(非必须) 

    图2.png

  3. 页面的生命周期(js文件中) 
    1).onLoad: 页面加载 , 2).onShow: 页面显示 , 3).onReady: 页面初次渲染完成 ,4).onHide: 页面隐藏 , 5).onUnload: 页面卸载

3. 实现模块

网络数据->列表页渲染->跳转到详情页

4. 具体实现方式

在index.js中获取网络数据->将网络返回数据传递到wxml->wxml接收并使用数据

  1. 逻辑层获取数据 
    在 index.js 的 onShow 中调用 wx.request() 获取网络数据
  2. 逻辑层发送数据 
    通过调用 this.setData() data 将会以 JSON 的形式由逻辑层传至渲染层.如图3,其中传递的数据格式为JSON {xxx:res.data} 

    图3.png

  3. 渲染层接收数据 
    如图4,获取数据方式: {{xxx}} 

    图4.png

  4. 渲染层列表的实现 
    如图4, homelist 便是列表, scrollviewcell 为列表中的每一个item(根据数据的不同,可以定义多个样式)

    wx:for(包括wx:for-item,wx:for-index) , wx:if 为wxml的循环和判断控制语句

  5. 跳转详情页 
    如图4. 在item中 <navigator></navigator> 可以实现跳转页面功能,其中 url 为将要跳转到页面的js文件路径, id , pic 为携带的参数,下级页面的逻辑层可接收该信息.如图5. onLoad:function(options){}中的options存放的url参数(上个页面,<navigator></navigator>中url的参数) 

    图5.png

  6. 详情页中传递点击事件 
    如图5.实现一个 testTap: 方法,在相应的渲染层绑定 bindtap="testTap" ,如图6. 

    图6.png

    四.总结

    基本的入门只需要了解 UI如何布局 , 数据如何传递 , 列表如何实现 , 页面上如何绑定点击事件 . Demo源码
    1. UI布局需要了解 XML和CSS相关的基本知识
    2. 数据传递 (1). 从网络到app的逻辑层,调用 wx.request() (2). 从逻辑层到渲染层,调用 this.setData()
    3. 列表的实现 
      类比iOS开发中的UITableView,或者安卓中的ListView
    4. 绑定点击事件 
      bindtap="xxxxx"

后续工作可以有: 封装网络层 , 缓存 , 制作通用wxml,wxss模板 , 性能优化 , 动效 ,架构 等.

收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
热门评论