微信小程序最近很火,看网上有些人说小程序将要取代原生app ,感觉小程序想要一统天下的节奏。
再此之前,不敢对小程序妄下评论。但是在我学习了小程序开发,看了官方文档之后,我现在可以很坚定的说,小程序别说取代app,就算用小程序开发原生app里面稍微复杂一点的功能,小程序根本就完成不了,至少目前是这样。
首先,小程序,目前微信限制安装包在1M以内。所以你能使用的资源是有限制的。但是这一点我觉的不应该算作小程序不能取代原生app的的理由,因为安装包的大小完全依靠于微信的限制,完全不是技术问题,属于政策的问题。另外小程序限制页面层级深度为5级,这一点也对开发做了一个限制。最主要的是微信的小程序开发框架根本没有丰富的api 供我们去开发很复杂的功能。最起码它开发不了游戏,音频,视频处理等一些稍微复杂的根本完成不了。由此也看出微信对于小程序的定位在于简单的页面,业务逻辑简单,技术实现简单的可以使用小程序来开发。
对于有经验的前端开发经验的人,入手小程序开发是很快的。小程序的语法是基于HTML,CSS,JS开发出来的一套api 规范。对于标签和样式表,基本变化不大,唯一变化稍微大一点的就是JS,原先一些在JavaScript 上比较成熟的库,比如jQuery ,在小程序上是通通不能用的。
另外小程序现在还没有开放给个人开发者,虽然已经进行了公测,但是目前小程序更新迭代变化很大,开发工具做的真的很low,有很多问题。这个有待于微信慢慢优化吧。
其实自己学了小程序之后,觉的虽然难度不大,但是对于新手来说还是有一些坑的,这些坑其实也是无关于技术,只是对于微信小程序开发环境不熟悉,会产生一些低级问题,可能会浪费不少时间。而且对于所有的开发HTML 需要的IDE ,提示功能做的都不够好。在小程序开发里,class 的绑定,事件的绑定都是以字符串的形式来书写,这样很容易因为拼写错误而产生低级错误。而且编译器根本不会提示错误。在这一点上苹果工程师就做的很好,在最新版的swift 3,苹果就把一些使用字符串作为关键字的写法修改成枚举类型或者一个属性,这样就避免拼写错误而产生的低级错误。
其实小程序最主要的就是入门,只要熟悉了微信的那一套规则,你就可以很容易开发出原生app页面上的功能,比如一个新闻列表,一个音乐播放,一个首页banner 图轮播,这些在小程序上实现起来是如此的简单。
其实很想记录下小程序开发的一些知识点,但是,自己真的抽不出那么多时间来写。这里是我写的一个简单的有两个页面的一个示例。一个启动页面,一个新闻列表。