为何是小程序?
为何咱们会开发小程序呢?或许是由于工做须要,或许是源于本身的追求(来自名利的欲望),但我要说——这是一种缘分,很美好的缘分,不少年后还值得庆幸的缘分
作什么样的小程序?
回到上面的引子,为何值得庆幸?由于上面说了——能下降开发成本,能提升用户体验,能褥流量!能让每一个人都有机会搞事情!!!搞什么呢?我也不知道,若是你有好的想法欢迎联系我😄不过,这里分享下个人想法
- 战线不能长!张小龙说过——"用完即走",其实这不是缘由,只是我调个书袋而已😂但微信确实是这样啊,聊天、朋友圈,好像确实没什么太丧心病狂的一直拉着你不走(好像如今还有看一看?始终记住——鹅厂有梦想!)因此你作的东西要符合人家产品的理念!好吧,说个实际的场景,若是你要在小程序里的创做文章,那别人来一条信息你回不回?不回?你的思绪回不回被打乱?不会?你的心情会不会很烦?不会?👋你赢了,来生再见,因此权衡好你的功能设计,战线越长越容易死
- 短!平!快! 对应上面。就是快速进入主题,功能点一目了然,功能也尽可能单一,该干什么尽快干什么!例如让用户分享,让用户pay,快!快!快!不犹豫,让用户尽快上车
- 作矩阵,对应上面,若是你想把app的功能都搬到小程序上,那必定要作功能拆分,作多个小程序造成矩阵,同时矩阵还能造成协力,a给b拉客,b给a拉客,即使b进局子了还有老大哥a
小程序os长什么样?
想种一个小程序总先知道这片土地什么样吧?OK,欢迎来到小程序黑土地。。。

- 首先咱们先说说小程序用到的两个线程——渲染线程、脚本线程,与网页开发不一样,这两个线程是分开的,分别运行在不一样的线程中,而网页则是互斥的,也就是说视图和脚本被分开了,在不一样的线程里,这就致使了和普通网页开发一个很大的不一样——没有DOM API,并且也不是运行在浏览器里因此也没有BOM API
- 咱们再看图还发现小程序总共有三种运行环境,而且!每一个环境两个线程还都不同!因此同窗们啊,在开发工具上行的在真机上不必定行啊!可别太天真了,必定要在真机上验证功能的可行性!
- 咱们有没有想太小程序为何要费那么大功夫重造轮子?不直接用成熟的web技术?说是体验,其实我以为最主要的是微信想管控一切,不是你想怎样就能够怎样,而是我让你怎样,你才能怎样(至今我还对此很不爽)因此就干掉了灵活的web,别被我带沟里——小程序并非彻底没有了web,实际上你看到的就是web,只是没有暴露出来,而是微信直接经过编译小程序来替你操做了
既然是两个线程,那必然要通讯啊,要协做完成任务,那怎么实现的呢?看下面的通讯模型 微信小程序

没看到图也能先想到是这个样式😊,这里提示几点api
- 上图中的Native是指微信客户端
- 逻辑层发送网络请求也经由Native转发
- 渲染层是由多个webview组成的,为何?为了提供更好的交互体验呀,这样也更贴近原生体验,同时避免了单个WebView的任务过于繁重,同时致使了小程序的生命周期不容易被理解(下面带你理解)
- 通讯是有时间成本的,因此在开发中咱们最好使用异步接口
来看下生命周期 浏览器

有用请点赞🙏
下一篇:微信小程序之登陆态的探索微信