因为我也才开始学习微信小程序不久,下文也是现在的一时之言,大家有不同的想法也可以在评论里共同交流讨论,希望文章能给大家提供一点点帮助。

最近接触到了一些前端框架,像Vue.js,React,发现小程序的框架体系跟它们很像。它们都推崇模块化,组件化,数据与元素绑定。这样没有繁琐的DOM操作,组件之间完全分离,样式和逻辑全都封装在模板里,别人写好的组件可以拿来直接用,这会明显地提高我们前端开发的速度。

另外,微信小程序界面小,样式好调。这意味着,我们从纸面原型到能跑的APP的实现将会是很快的,所以我们可以多花一点时间去找,或者去构思,怎么的排版,什么样子的组件会更好看,怎样的特效用户体验会更好。当然,在此之前必须要熟悉微信框架以及熟练地使用css来调样式。

对于CSS,个人觉得比较难调的就是定位(搞懂fixed,absolute,relative的区别就OK)和布局(flex很好用)了。大家可以参考上面的链接来学习,像flex,它有很多属性,每个属性又有很多值,一下子不可能都记住。其实主要的还是多用,你可以先过一遍,大致知道有哪些东西,然后直接上手项目去调样式,对着文档调,很快就记住了。其实用的比较多的就flex-direction, align-items 和 justify-content。

这又让我想起来刚开始看《小程序开发入门》那本书的时候,我把所有的组件还有他们的属性都认认真真看了一遍,看的时候还尽量去记。但是后来一个星期没学,用的时候全忘光了。还有前两天,团队赶项目,老板没办法了让我一个实习生去帮着做页面。为了能跟项目框架合并,我必须得用一个从没用过的框架来写。根本没时间去熟悉整个框架,只能大致过一下,然后就开始写。之后我发现,过程进行的还算顺利,在写代码的过程中,会发现这个框架的一些小细节,你会去想办法弄懂它,然后就慢慢地熟悉了这个框架。但是,就算你在一开始学就有人告诉你这个细节,你也不一定能消化掉。就比如说,我记得《小程序开发入门》那本书就有讲js更改数据必须要通过调用this.setData()不能直接用this.data.Variable=value,之后是一段解释。后来我几乎忘记了它是怎么解释的,直到去调试一个组件的时候,我想要知道怎样能把后台请求得到的数据实时渲染到页面,google说用this.setData()吧,原来直接赋值只是改变了逻辑层的数据,而setData可以在逻辑层数据更改之后立刻通知表示层,数据变了,你渲染一下。

所以我就有一个体会了,当你有一定的前端基础之后,学习新的框架就是两个过程:熟悉框架和上手项目。而更快速高效的方法就是适当缩短前一个过程,把时间用在练手上。这里练手并不完全指对照着别人的项目或者看着模板组件写,相反我应该尝试着过一遍他的代码之后自己去实现,碰到不会实现的地方再去看。我之前就有过,对照着视频里面的代码敲,连它给的id都不敢改,生怕什么地方不一样,代码跑不起来,但是关了视频自己敲又下不了手了。可以看看别人写的微信小程序源码来分析学习,看着代码敲就像是老师讲课,一条路到终点,而自己写中途就可能会遇到各种问题,但是正是这个过程能够让你认识到这个框架的各种细节问题,从而帮你更快速的熟悉框架。当然,当你已经熟悉了框架之后,你想怎么玩就怎么玩。

下一个阶段,当我们熟悉了框架之后,不应该只把目标定为完成需求。现在互联网前端发展了这么久,各种UI框架,特效都已经做的相当好了,说句实话,你的页面不够好看,排版不够清晰,特效不够炫酷,我很可能刚进去就点返回了。所以,在没有UI设计师的前提下,我们能做的就是自己去搜罗现有页面的更好替代品,参考成功APP的排版、风格、色调、优美的组件等等。

与大家分享学习微信小程序开发的一些心得的更多相关文章

  1. 新人学习微信小程序开发之框架篇

    大家好我是智哥,一名专注于前端领域的一名码农. 咱们今天主要来说说微信小程序, 最近一段时间微信群里的小程序,小游戏各种分享是突然一下子就爆发了,现在来看小程序作为微信的重磅功能无疑又是下一个风口.咱 ...

  2. 【腾讯Bugly干货分享】微信小程序开发思考总结——腾讯“信用卡还款”项目实践

    本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/58212d0fa7a7574c4f4cc3c5 作者:peggy 小程序概述 1 ...

  3. 微信小程序开发系列一:微信小程序的申请和开发环境的搭建

    我最近也刚刚开始微信小程序的开发,想把我自学的一些心得写出来分享给大家. 这是第一篇,从零开始学习微信小程序开发.主要是小程序的注册和开发环境的搭建. 首先我们要在下列网址申请一个属于自己的微信小程序 ...

  4. 小程序开发-微信小程序开发入门

    分享一个微信小程序开发的基本流程,仅供参考. 第一步:注册微信小程序公众号,注册成功后,登录微信公众号管理后台,等待下一步操作. 第二步:进入微信小程序的后台后,下载微信内置的微信小程序开发者工具,以 ...

  5. 微信小程序开发入门教程

    做任何程序开发要首先找到其官方文档,微信小程序目前还在邀请内测阶段,目前官方放出了部分开发文档,经过笔者一天的查看和尝试,感觉文档并不全面,但是通过这些文档已经能够看出其大概面貌了.闲话不多说,我们先 ...

  6. 微信小程序开发资源整理

    有兴趣学习微信小程序开发的可以关注简书专题 微信小程序开发 由于微信已经开发文档和开发工具了,所以下面的内容用处不大了. 具体参考:http://mp.weixin.qq.com/wiki/ 这篇文章 ...

  7. 微信小程序开发学习资料

    作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  8. 微信小程序开发:学习笔记[7]——理解小程序的宿主环境

    微信小程序开发:学习笔记[7]——理解小程序的宿主环境 渲染层与逻辑层 小程序的运行环境分成渲染层和逻辑层. 程序构造器

  9. 微信小程序开发:学习笔记[5]——JavaScript脚本

    微信小程序开发:学习笔记[5]——JavaScript脚本 快速开始 介绍 小程序的主要开发语言是 JavaScript ,开发者使用 JavaScript 来开发业务逻辑以及调用小程序的 API 来 ...

随机推荐

  1. H5 实现图片上传预览

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  2. Java基础随记-不定时更新

    一.hashMap与hashTable与ConcurrentHashMap: 1.HashMap是继承自AbstractMap类,而HashTable是继承自Dictionary类.不过它们都同时实现 ...

  3. day 45 BOM和DOM

    一.BOM BOM(Browser Object Model)是指浏览器对象模型, 它使 JavaScript 有能力与浏览器进行“对话”. 1. window 对象 一些常用的Window方法: ( ...

  4. js驗證網址URL格式

    /^((ht|f)tps?):\/\/([\w\-]+(\.[\w\-]+)*\/)*[\w\-]+(\.[\w\-]+)*\/?(\?([\w\-\.,@?^=%&:\/~\+#]*)+)? ...

  5. 【申嵌视频】5-1 ubuntu下安装VMWare Tools工具

    [申嵌视频]5-1 ubuntu下安装VMWare Tools工具 适合搭建mini2440, Tiny6410, smart210,Tiny4412, NanoPC-T2, NanoPC-T3, N ...

  6. h5需要的浏览器插件

    google浏览器插件: web前段助手.vue-tools.草料二维码

  7. Functional programming idiom

    A functional programming function is like a mathematical function, which produces an output that typ ...

  8. Kubernetes的三种外部访问方式:NodePort、LoadBalancer和Ingress(转发)

    原文 http://cloud.51cto.com/art/201804/570386.htm Kubernetes的三种外部访问方式:NodePort.LoadBalancer和Ingress 最近 ...

  9. css中,在高度已知,写出三栏布局,其中左栏、右栏宽度各位300px,中间自适应

    解决方案主要有五种 首先写入全局样式 <style type="text/css"> html * { margin: ; padding: ; } .layout { ...

  10. C3D视频特征提取

    一.部署 1. 先把项目Clone下来 git clone https://github.com/jfzhang95/pytorch-video-recognition.git 2. 安装环境: Py ...