开发小程序心得
希望这篇小程序开发心得分享能帮助到刚准备开发小程序的朋友们。
小程序出来这么久,我才开始第一次接触它,一点也不觉得学习的晚,因为在我做了第一个小程序项目之后,发现这玩意没什么难度,以后别再拿会做个小程序就出去装逼了啊!
为什么小程序还有缺点?
小程序再好,也有它的缺点。
1、小程序框架不容易理解
它的项目结构到没什么问题,问题在于文件名的重写,css => wxss,HTML => wxml,很别扭啊,因为我是个非常喜欢原生开发的程序员,一时难以接受这种奇葩的文件,第一眼看到 wxss 我还在想这东西是不是防止跨站攻击的玩意。
2、配置文件过多,学习比较费劲
到处都是 json 文件,看得挺难受。
3、js 写的别扭
有个全局的 App({}),还有个单个页面的 Page({}),你说你是 vue 吗?写起来的感觉又不是。看得 this.setData({}),你说你是 react 吗?也不像啊。咦,好像有点 jQuery 的影子,wx.API 用起来挺像 jQuery,但又不全是。像原生吗?不像,所有 API 都是用面向对象的方法封装的,如果是函数式编程,写起来和原生 js 可以很好的衔接。
对于这个集合了 4 大天王高科技,但又没有 copy 完全的东西,如果没有四大天王的一点基础,写起 js 还是挺费劲的,好在我全都有所了解,接受这些知识变得不那么难。
4、wxss 没什么可说的,说说 wxml,有人说像 react-native,有人说像 vue,有人说像 angular,要我说,看到这玩意,我都怀疑自己学的 html 是不是没用了。
5、小程序还修改了很多原生的方法,比如事件函数,统一采用 bind-event 的写法。难受想哭,小程序好的地方在于有详细的文档描述了这些变化,坏的地方在于破坏了原生开发者的习惯。
6、忘掉过去,才能学会小程序。
为什么小程序开发速度快?
也许每个开发者都听说说小程序开发速度快,产出高,经过我自己的尝试,发现了几个关键点。
1、小程序有专门的开发工具:微信开发者工具
这套开发工具集成了小程序所需要的开发环境,好处就是不需要像开发 react 或者 vue 一样绞尽脑汁的配置 webpack 环境。缺点就是这个开发工具不是那么好用,写记事本的感觉。
2、小程序有一套官方的基础 demo,下载修改即可使用:官方的基础 demo
我一开始不知道如何搭建小程序的项目,然后找到了这个 demo,下载源码到本地,直接可以使用,不知道有没有 cli。之后开发者需要把源代码的路由删掉,保留首页路由,然后进行开发。
3、前面 2 步对于新手来说只需要几个小时就能完成,如果你有经验了,几分钟就能完成并且做开发了。
4、小程序有一套自己的组件库:小程序组件库
组件库给人的好处是可以满足没有设计师的开发者的开发需求,虽然我感觉这些组件写的不怎么好用,对于不追求完美的人来说够用了。
5、小程序有一套 API:小程序 API
相比于组件库,我觉得 API 才是小程序最大的贡献,借助了微信 APP 为载体的优势,封装了很多好用的 API,十八般武艺样样精通,而且文档写的很不错。
学习小程序最好的方式
不是看别人写的教程博客,而是看官方文档,因为文档写的很清晰,所以我觉得写篇教程还不如写篇开发心得更有作用。
总结
如果你还没玩过小程序,那么打开官方文档的大门,按照官方教程模拟一遍,哦,你会发现它是如此的简单(项目搭建、环境配置),之后就是考验谁的 js 功底牛逼了。
沈唁志|一个PHPer的成长之路!
原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:开发小程序心得
- HDU----专题训练
- Golang语言之defer-再议
- HDUOJ------Lovekey
- 转-带交互的telnet小工具,golang版
- 需要了解的pssh(r11笔记第28天)
- 二分查找算法基本思想
- Flyod 算法(两两之间的最短路径)
- HDUOJ-4104 Discount
- HDUOJ-----1085Holding Bin-Laden Captive!
- HDUOJ-----1098 Ignatius's puzzle
- 转--shell脚本备份mysql数据库
- NYOJ——————数的长度(斯特林公式的应用)
- 关于ssh命令的几个使用小技巧(r11笔记第27天)
- Golang语言社区--消息触发服务器启动基础模块分享
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- POJ 1176 Party Lamps&& USACO 2.2 派对灯(搜索)
- P1522 牛的旅行 Cow Tours(floyd)
- P1468 派对灯 Party Lamps(BIG 模拟)
- 【JVM系统学习之路系列】 JVM 概述篇
- P1518 两只塔姆沃斯牛 The Tamworth Two(简单的搜索题)
- P1466 集合 Subset Sums 搜索+递推+背包三种做法
- P1465 序言页码 Preface Numbering (手推)
- P1460 健康的荷斯坦奶牛 Healthy Holsteins (简单的dfs)
- P1459 三值的排序 Sorting a Three-Valued
- P1457 城堡 The Castle 位运算+BFS+思维(难题,好题)
- PostgreSQL异常宕机重启时间超长
- C++ 重载运算符 继承 多态 (超详细)
- USACO 2.1 海明码 Hamming Codes (模拟+位运算+黑科技__builtin_popcount(n))
- POJ 3267为什么优先队列超时,DP就能过,难过
- 执行ALTER TABLE语句时如何避免长时间阻塞并发查询