我决定写这篇文章是我看了小程序的第五分钟,那是我下载了它的配套开发框架的时候……
这个东西真的是太颠覆了,如果微信小程序只是其他应用的内嵌部分,或者是某个通用应用,那它将什么都不是。但如果是在微信里的一个工具,这个爆发力真的没办法想象。
为什么我这么说,首先我们看下这个玩意到底是个什么东西。
微信小程序
对于用户来说,微信小程序就是一个内嵌在微信里的功能。我们已经可以预料到,所有非高频业务相关的应用都会继承到这里。
对于公司或开发者来说微信小程序可以说是一种新的开放平台合作方式。
以往的的开放平台大概的模式就是将用户数据开放给三方合作,提供了一些快速登陆的接口,实现一些简单的用户间联系,或者实现对应用内的功能通过API来直接操作。
而微信小程序他所呈现的是,将开发的内容、资源交由三方负责。应用的业务深度可以延展无尽,业务的用户便捷度达到最高(当然不能做游戏,功能支持WEBGL的游戏,做出来可能会审核不通过)。
微信小程序提供了一整套API和框架,不仅仅如此,还提供了开发工具,这并不是简单的一个批处理程序,而是完整的开发工具!可以调试、语法勘查、实时预览模拟手机效果、真实数据模拟!
微信小程序为了对接原生API,实现了自己的一套解析前段语言,逻辑由JS解析(与完整JS稍有不一样)。视图层由 WXML 与 WXSS 编写,由组件来进行展示。
WXML(WeiXin Markup language)用于描述页面的结构。(有点像那种H5通用框架导出安卓和IOS的语法,有数据绑定、条件渲染、列表渲染、模板、事件、引用这几大块)
大概长这样:
<view> {{ message }} </view> Page({ data: { message: 'Hello MINA!' } })
<block wx:for="{{[1, 2, 3, 4, 5]}}">
<template is="{{item % 2 == 0 ? 'even' : 'odd'}}"/> </block>
WXSS(WeiXin Style Sheet)用于描述页面的样式。(类似CSS的一套样式语言)
大概长这样:
@import "common.wxss"; .middle-p { padding:15px;}
组件(Component)是视图的基本组成单元。
将逻辑层的数据反应成视图,同时将视图层的事件发送给逻辑层。
这其实就是一个原生APP应有的框架。并不是一个网页,开发的复杂度估计和网页差不了太多,但是需要熟悉框架和WXML/WXSS这两套写法。其实更重要的是,基本上写这个不用考虑什么兼容问题,单位尺寸都给你定好了,好好处理你的业务就行了!
其实对于开发者来说,还有更加关键一点,版本更新迭代随意玩,想更新就更新!这意味这什么!超级简便的热更新方案啊!
上面的话可能说的可能很多人都看不懂,没关系,实际上是:
这是我们的用户数据,给你!
这是我们的代码,给你!
我们这东西简单得很,你自个组装来玩!不用钱!
对于目前所有公司来说,基本我认为绝大部分公司的业务都会往里面迁移,业务离线信息能直接在用户微信上通知,便捷度可靠可信度非常高。制作成本真的很低,效果真的很好!如果以后某公司的业务不在微信上备份一下,说实在都不好意思出来见人。
做小程序外包的,应该马上会很吃香了。
做第一波红利大众应用的(记事本、计算器、记账本、日程TODO、表情等),应该已经开始磨拳擦掌开始撸撸撸了。
最后,我想说的是: