小程序是个啥

微鼎云

2017-05-11 19:07 浏览17870
用你懂的话讲一些你不懂的网络知识



开场白KAICHANGBAI


    同学们,陈老师又和大家见面了!本来打算一周出一期的原创内容,但是因为时间原因,导致本来上期说好要谈的微信应用号结果迟迟没没有发布。今天早晨一打开朋友圈发现好多业内朋友转载关于许多关于微信应用号的文章。陈老师看后当时内心就奔跑着成千只草泥马,这个激动呀,内心久久不能定!因为姗姗来迟的微信应用号终于推出了,这意味着对于开发者或者是企业都是一次很大的机会。陈老师说的是机会,你们可细细品味。




应用号是个啥DRchen

    

        2016年1月11日,2016微信公开课PRO版在广州举行,“微信之父”张小龙首次公开演讲,宣布微信公众号将推出“应用号”,通过公众号完成一些App的部分功能。


        张小龙指出,越来越多产品通过公众号来做,因为这里开发、获取用户和传播成本更低。拆分出来的服务号并没有提供更好的服务,所以微信内部正在研究新的形态,叫「应用号」。


    上面这两段话一个是说微信应用号是谁弄出来的,一个是说他们为什么搞出怎么个东西。这个叫张小龙的家伙呢是负责整个微信生态的打造和运营之人。也就是说有了他才有了微信,要不人家都叫他微信之父呢。从他的话里我们可以分析到其实应用号是他后来在微信运营过程中慢慢有创建应用号这个想法的。按他说的,应用号是从微信服务号分离出来的,为什么要分离呢?他表述过服务号是为了提供更好的服务和用户体验的,但是就目前的服务号确实在这两点上有所欠缺。



服务号功能欠缺



        先说服务,一说服务对于程序来说肯定就是功能强大程度。服务号虽然已经提供了不少基于微信的很多功能,比如分享、图片上传下载、摇一摇、支付、扫码、拍照等等许多功能,但是在往底层说下,这些功能都是基于微信公众号的现有的一些模式来做的。例如拍照功能调用的是摄像头,但是拍过来的照片到底怎么处理好多细节对于开发者来讲不是很友好。


        例如我只想程序打开摄像头自动拍照后自动保存或者上传,这些服务号是肯定做不到的。因为服务号调用起摄像头必须由用户去按快门才能继续下一步工作。再比如,手机中大家都知道有陀螺仪,它能感知手机的方向性和运动感应。微信的摇一摇其实就是读取陀螺仪的数据来实现摇一摇的。但是呢服务号只能调用到摇一摇功能,如果你想开发一个不是摇一摇的功能,比如“扔一扔”的功能,就没办法调去到陀螺仪的数据。


        还有服务号不能很好的处理本地的文件系统,例如,除了图片你还想上传或者下载文件到指定目录,例如RAR压缩文件服务号处理起来就特别费劲,更别提查找或者检索某个SD卡上的文件位置了。



服务号用户体验不佳


        我们在开发服务号的时候,都是基本html5技术来开发的,通俗点讲也就是用网页的形式来呈现内容给用户的。说白了,微信客户端就是一个页面浏览器,不知道你们注意过没,使劲下拉微信网页页面后底层会露出来一行字,告诉你这东西是基于QQ浏览器X5内核实现的。因为这个原因导致用户在页面跳转后想回到上一次页面,导致上一次页面从新刷新,如果上一级页面恰巧有个自动跳转,那么你完了,你会发现页面跳转进入死循环,不停的在两个页面之间来回跳转,后来没办法只好关掉页面,从新点击自定义菜单进来。这是烦人的问题,陈老师在开发中也一直没好好解决掉这个问题。


        再说说页面之间的切换问题,html5开发出来的页面,在页面跳转的时候能明显感觉到不是很流畅,时不时的会卡顿,甚至有时候会出现难看的白边或者白背景问题,而且页面之间没有动画过度效果,导致进了新页面还得等到加载进度。如果能有页面之间的滑动动画,看起来至少流畅很多。


 



该来的还是终究来了DRchen


        截止2016年3月,微信月活跃用户已经达到5.4亿多,这个体量可以说非常庞大。微信陆续推出了订阅号、服务号、企业号。为了解决了企业的宣传信息推送和用户的咨询获取问题推出了订阅号,为了提供企业针对用户提供信息服务能力推出了服务号,并马上又推出了企业在线办公能力的企业号。最终,微信终于忍不住开始为企业提供开发APP的能力,让企业拥有了能低成本快速开发APP的能力。依托微信的庞大用户群体,在微信生态中推广自身服务,具有天然优势。至此,微信帝国初见端倪,网上有人说微信是照着微信系统去做的,看来有这个趋势。。。


        说来半天,让陈老师给大家看看这个叫做应用号的东西官方是怎么定义的。目前,这个应用号还没有完全对外开放,处于内测阶段,有的企业已经收到了内测资格的邀请通知。


        我们提供了一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷的获取和传播,同时具有更出色的使用体验。


        通过上面的话可以看出,应用号的称谓不再提了,而改用”小程序“。据说是苹果不让叫应用号的,这个陈老师就不得而知了。不管大程序也好,小程序也罢,它为我们提供了一种新的开放能力,我们不用再下载和安装烦人的APP了,也不用担心APP的安全问题,也不用担心APP后台用行耗电问题。“小程序”给了一种企业能够快速开发而且用户体验良好的APP的能力。以我们程序员的角度来讲,这个小程序更像是一个开发混合APP的框架。




应用号的出现意味着什么DRchen

        首先,对于开发者来说,尤其是不会原生开发的朋友来说绝对是一次提高自身价值的绝佳机会。


        可以说谁先能掌握应用号的开发能力谁就能有先机赚取一笔财富。因为,据我了解好多企业本来就很关注应用号,甚至有的企业业务不太要求马上得投入开发,他们竟然推迟开发进度来等微信发布应用号,然后看看能不能用应用号去代替服务号,以此来节约成本和提高用户体验。微信具有非常完善的技术文档,加上之前已经有开发服务号的经验,所以学习用js-sdk去做应用号开发,自然事半功倍。所以比起需要掌握两门语言才能做出安卓端和苹果端简直就是太合算了。


        其次,对于企业来说也是一次即能节约开发成本又能获取良好用户体验的APP的一次机会。这将意味着原本打算开发原生APP的用户只开发基于微信应用号APP就够了。这句话的表述大家注意俩个关键词,一个是“节约成本”,一个是“用户良好体验”。下面陈老师就这两个点为大家说一下。



节约成本



        我们知道现在的APP上线需要做到俩个端同时上线,也就是说你开发一个安卓手机能用的APP,还要开发出一个苹果手机也能用的APP。但是因为手机系统的的不同导致需要不同的语言去开发,这就意味着企业的花两份钱去开发一个功能完全一样的APP,加之这些年程序员的工资再不停上涨,所以开发成本几乎是web页面开发的3-5倍。而且相对于java程序员和object-c程序员,基于混合开发掌握js语言的程序员要比上述两种语言的程序员多的多,从以后的维护来讲也好,开发过程和时间来讲也好,基于微信的应用号开发要比原生APP开发能节约更大的成本。


用户体验


        其实上面已经谈过一点网页HTML5开发应用号遇到的一些问题。我们从应用号的官方说明来看,至少能看到“小程序具有良好的用户体验“这一句。别小看这一句,就这一句能要了原生开发APP的命。之所以好多企业不用混合开发,除了功能方面有限制外,最多考虑的用户操作的流畅性,如果,应用号真能让操作接近原生开发流畅性可以说是一大进步。在功能方面我们看到内测说明中提到对本地文件的操作能力、对陀螺仪的读取能力等等一些服务号不具有的东西,而这些应用号都有了,所以,陈老师是满怀欢喜对应用号充满期待的,陈老师认为应用的出现,肯定会对原生APP开发形成很大冲击,但是肯定不会灭掉原生APP,因为应用号也有许多自身不利的因素。




应用号的局限性DRchen



        虽然官方对于应用号功能的描述已经很牛B了,但是陈老师认为应用号的功能肯定不会如原生APP开发强大,毕竟所有的功能都是基于微信整个APP提供的。在APP的系统权限划分方面也是比较尴尬的。



例如,用户为了安全不会让微信读取运动数据,但是呢,刚好该应用号有款运动应用需要读取系统的运动数据,因为应用号的能力是依赖于微信的,微信被系统禁止访问运动数据,故这个应用号就不能工作了,但是另一个运动服务的应用号用户偏偏希望能读取用户数据,那么这个时候怎么去处理权限是个尴尬的问题了。


       

         虽说,应用号是个好东西能为企业和开发者提供不错发挥能力的地方,但是这些APP现实技术的支撑完全依赖于微信庞大的帝国,也就是说你的命脉也是掌握在微信的手中,至于应用号未来怎么收费、除了300元的认证费再收不收其他费用更不可而知了。所以,我想不差钱的企业还是会选择原生APP去开发的。