微信小程序知识微信小程序开发者微信小程序(应用号)

微信小程序深入分析(1)--微信小程序的技术级别如何?

2016-09-23  本文已影响2157人  bluth

这两天微信小程序刷屏地厉害,作为产品,是需要去深入分析一下的;同时作为一名曾经的HTML5原生开发者,特别好奇和ChromeApp、DeepinDesktopPlugin有什么区别;

ps:DeepinDesktopPlugin是我2013年刚进入深度时开发的桌面插件平台,类似与win7、Mac的小插件;当时Deepin的整个桌面环境都是基于HTML5开发的,所以当时开发桌面插件平台时采用了和ChromeApp类似的机制;

开发完后,可以只需要半天时间即可将Chrome Extention和App移植到Deepin平台,解决Deepin平台(linux)的应用缺乏问题,但是后期因为开发时间原因,一直没将一键移植工具开发完,同时也没有将SDK文档完善;

最后深度操作系统中使用HTML5开发前端的应用有:

系统安装器、登陆界面、桌面、启动器、任务栏、锁屏界面、关机界面等;

大家可以看看安装器长啥样、桌面等组件的UI和交互(Deepin15开始已经慢慢弃用HTML5,跟公司战略相关,不深入说)

所以大家首先不需要质疑HTML5开发的应用体验会比原生的差,系统级别都可以做,App都是小意思,同时也无需怀疑每次使用都需要联网,缓存和本地存储都是解决方案;当然坑很多很多,都是泪,Google已经填了很多了,希望腾讯多填坑吧,造福大家!

本系列主要有以下内容:

1.首先分析微信小程序提供了对HTML5的技术支持如何?

2.然后分析小程序在微信中的定位,和订阅号、服务号有何不同?及其入口和产品形态?

4.再次分析小程序适合哪些企业和个人?又不适合哪些企业和个人?

5.最后结合玩科技配件精选分析小程序对于我们产品规划的定位。

ps:本来打算一篇文章中全部写了的,时间问题,国庆前要发新版App,比较忙;

先丢结论:

1.微信小程序架构上和Chrome扩展类似,对开发者友好;

2.微信原生对JS原生API进行了二次封装,同时提供了很多封装后的控件,这点是很伟大的!要知道微信本身是原生App,可得到的权限很多,有些权限是JS原生API没有的,微信做了中间层,让JS可以使用一些JS原生无法使用的功能; 同时微信为了保证小程序的UI风格统一,推出了WeUI,就像GoogleAndroid的MeterialDesign规范,不仅对于设计师来说很重要,同时也可以省很多开发成本呀;虽然现在还有很多JS未封装,后期肯定会慢慢封装的,而且JS原生封装完了后,还会封装很多腾讯地图等腾讯系的App功能进去;这都是套路;

JS封装和WeUI应该是微信小程序是否能媲美原生App的关键!越强大,小程序可做的事越多!

3.微信小程序的方向是对的,比ChromeApp的初期方向好很多;封装JS、推出WeUI,都是将小程序做成闭环生态的基础,ChromeAPP的方向是开放,所以没有做这些事,让开发者直接随意使用第三方开源框架,这种让开发者爽了,最后是坑了用户,普遍ChromeAPP质量低下(初期),让用户对ChromeAPP的第一印象就没啥好感,后期运营就更难了;

而微信小程序初期就让开发者难受点,但是可以保证接口的统一、UI的统一美观,产出的是精应用,而不是广数量;

这点是微信小程序在起跑线上就赢了ChromeApp;

4.最后,也是最重要的,腾讯会玩生态,会玩用户(Chrome的用户量肯定是大于微信的,毋庸置疑),这是腾讯的社交基因决定的,而Google的技术基因也决定了ChromeAPP可以让开发者爽,但无法让用户粘性、忠诚度等提高;

1.首先分析微信小程序提供了对HTML5的技术支持如何?

因为本人的公众号没有内测权限,所以整个分析的最基石部分,只能靠网上的资料和猜测了;

先了解它,才能分析它;所以这是第一步;

主要参考资料如下:

1.编辑精选的专题里的文章了,丢个链接吧:

2.微信小程序资源汇总整理, Awesome WeChat WeApp,涵括微信 Web 开发者工具收集,WeApp 教程收集,站点收集和代码实例

(感谢作者呀,真是全!还有API源码)

3.微信公众号官方文档:

http://mp.weixin.qq.com/wiki/home/index.html

http://mp.weixin.qq.com/wiki/2/ae9782fb42e47ad79eb7b361c2149d16.html

https://weui.io/#/

4.一个实际小程序的开发例子:

请问这是AndroidAPP,还是微信小程序?

此链接是微信原生API

可以看出HTML5的特有功能基本都有了:Canvas、LocalStorage、Media、Ajax、FileOperate、GPS、传感器、Camera、Animation;

一时想不起来了,感觉还差很多,但是这个微信肯定会很快封装好的,毕竟封装不难;

虽然是用标准的 JS 语言来编写,但是在这个环境里是无法打开任何外部的页面的。它不能够跳转或者说只能在内部的相对路径进行跳转,同时你也不能使用各种调用本地资源例如 DOM 树、File 等资源的外部 JS 类库,例如 jQuery 等。基本上就是用 JavaScript 语言重新定义了一个开发框架,用来开发富客户端。

这次小程序第一时间就开放了微信支付的 API,这也是我们第一时间就要移植电商服务的原因。可以想见微信对生活、服务类小程序的期待。

无法打开外部页面:这点微信小程序做得真好,我当初设计桌面插件体系时在这上面也纠结了好久,这不是技术问题,是需求问题,是体验问题;这样可以保证绝佳的类似原生App体验;

开发过Chrome扩展和ChromeApp的人有没有熟悉感,简直了。。。。

再让大家看看Chrome的APP:

个人简单装了几个ChromeApp

上图中:

左边是Deepin开发的网易云音乐原生linux客户端,非HTML5;

中间是我参与开发的深度系统安装器,前端纯HTML5,中间层用的DBus,后端用到了C、GOLang、Perl等提供跟系统底层的功能;

右边是享听音乐播放器,ChromeApp,纯HTML5;

更多HTML5 App大家去Chrome商店自行下载体验即可,看能否感觉出和AndroidApp、WindowsAPP有什么区别;

至于谷歌之前做了个ChromeApp启动器放在任务栏和windows的【开始】按钮放一起,跟现在Win10的开始屏幕设计理念类似,更加突出ChromeAPP入口,之后又取消了,直到最近又说要取消ChromeApp,只让其在ChromeBook上跑,这是后话,之后再分析;

至少说明HTML5 APP是有坑的,同时说明要把HTML5玩转是需要很强的生态的,Chrome 坚持了很多年,微信小程序一出,简直更有意思了;

ps:我个人还是很看好微信小程序的,不是说腾讯小程序的底层可以搭地比ChromeApp好,而是腾讯很会玩生态

微信小程序的开发工具还是很不错的:

微信的组件:基础组件

微信的UI:WeUI

然后查了下腾讯已有的前端框架:

腾讯 QMUI Web 前端框

还有:

微信小程序接入指南:

微信小程序设计规范

微信小程序运营规范:

然后看到拿到内测资格的人说:

从加载更快的角度考虑,应用号会为开发者提供一系列统一的控件。

这些控件可能是内嵌到微信里的 HTML 前端控件,也可能是客户端的原生控件,或者两者都有。

比如,应用号可能会提供信息列表控件,如果你做的是一个新闻应用号,你只需要对接新闻数据,内容将在原生的控件里呈现。

又比如,你做的是一个购物应用号,你需要做的是开发一个后台和做好 API 对接,让商品直接在原生的列表框架里显示。

开发者可能能对原生控件进行一些自定义,但可能并不能做特别大的改动。

根据上面微信的API源码、组件、WeUI查看来说,应该属实,可能前期不理想,但这都是技术问题,那就是时间问题;

后面几部分,分几篇文章吧;

有了对微信小程序的基本了解,后面几篇更多的是站在产品和运营的角度去思考了;

微信小程序的技术是基础,但定位和入口是关键;

最后把我认为最好的小程序交互和入口给出原型吧,具体后面分析:

https://modao.cc/app/AFoqcCUDZ8bbRXzJXh8KTJHimYdkjhT

上一篇下一篇

猜你喜欢

热点阅读