- 为啥叫小程序?
微信的小程序不是白叫叫的,小程序设计时已经具备原生应用的应用生命周期;小程序启动时会提供三个重要的初生命周期监听函数:onLaunch, onShow, onHide;
onLaunch:小应用启动时调用,例应用启动时可以调用wx.getStorageSync('logs')从微信中获取缓存数据及初始化应用所需的一些数据、配置等。
onShow:当小程序启动,或从后台进入前台显示,会触发 onShow
onHide:当小程序从前台进入后台,会触发 onHide
有过原生应用开发经验的是不觉得很熟悉了呢?他和H5这样的WEB应用是不是有点不一样了。
- 小程序的开发框架
小程序开发框架定义了个名字叫MINA,他的目标是让开发者可以比较容易,高效的实现程序开发,并保证应用的体验与微信无限接近;
对于开发时需要触及的几个关键文件 :
MINA框架中有四种类型的文件:
.js 文件 基于JavaScript的逻辑层框架
.wxml 视图层文件,是MINA设计的一套标签语言
.wxss 样式文件,用于描述WXML的组件样式
.json 文件,配置文件,用于单个页面的配置和整个项目的配置
具体的信息可以看看这篇文章:http://www.open-open.com/lib/view/open1474859699836.html
- 小程序是用H5开发吗?
小程序用的是一套全新的技术规范和技术架构,它是微信自有的,它借鉴了许多前端开发的技术理念,例如他用react实现"组件"(React Native是由Facebook发布的开源框架,它的宣传语是“Learn once,write anywhere”),例如用vue实现标签式逻辑与数据绑定,甚至用CMD的require作为面向对象的js引入.你可以说它用javascript语言和标签语言和css语言来写程序,你可以说它90%跟web前端开发一样,你也可以说任何一个有经验的web前端只需要花费十分钟时间就能快速上手小程序开发,但他依然不是标准化的H5+css3+javascript,也就是说小程序其实和w3c规范的那个html5+css3没半毛钱关系.
另外小程序中没法使用dom,而且页面也不是基于window,document这些内置对象来做编程.这意味着现有前端领域的绝大部分第三方框架如Jquery,Zepto都是不能用的,就更不用提其他UI类的框架了(例如各种滚屏框架,chart图表框架,富文本框架等).另外,小程序的javascript上下文中自带了wx对象,也就是原来公众号开发中js-sdk的主对象.
- 小程序会引入一个新的职业吗?
一般公司里在做H5应用开发时,会进行如下工作划分;那么在小程序的开发上,是否可以延用这套流程,工作量是否会增加?是否需要单独设置岗位来应付?
结合上文的小程序的框架和小程序与H5应用的区别,大家很容易理解小程序的开发模式由于使用了更多的微信标准的组件,可以从一定程度上节省UI工作量;能节省多少取决于产品UI的复杂度;
前端:由于微信使用了自己的MINA框架,视图也使用了类似vue的标签,与H5相差比较大,因此熟悉起来会有个过程,相比前端框架对于样式的定义其差别倒不大,最主要的前端开发工程师的开发思维要跟着变一下,原来的dom,location操作,未来会更改组件、对象的操作;
服务端:没啥变化,该干嘛干嘛。
所以小程序未来在公司里进行内部开发时最好由原来的前端开发工程师来转,当然有些公司服务端工程师也兼着做前端,这部分同事也可以,其实我倒觉得android或IOS工程师来转,因为其使用的javascript本来就是弱语言,学习成本不高,而且他们有一定的应用 思维,理解起来也容易。
- 哪些业务应该用小程序?
如果你的业务是很高频的,对交互和界面体验的要求很高的话,还是要用原生来做。但如果你是低频/中频且重要的服务的话,你应该毫不犹豫地加入微信小程序的申请队伍。另外对数据安全度比较高的不应该接入。微信提供了本地缓存读、写接口,极大的方便大家对于本地数据缓存,但谁知道中间发生了什么?