微信小程序调研报告状态:[]草稿[]修改中[√]定稿文件标签:微信小程序、调研、报告版本:1.0作者:林泽意日期:2017-04-20目录一、产品定位及功能介绍..............................................................................................................3二、微信小程序SWOT分析.......................................................................................................3三、微信小程序中页面运行环境和登录可能面临的安全问题...................................................8四、微信小程序开发.....................................................................................................................9五、结论.......................................................................................................................................10一、产品定位及功能介绍微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。二、微信小程序SWOT分析基于微信的技术文档分析,微信小程序能覆盖大部分的APP常用功能。这里对小程序做了SWOT分析,来得出结论。优势Strenths1.无需安装、随用随点2.跨平台开发3.丰富的组件和API劣势Threats1.小程序的推广渠道更少,难度更大2.小程序在微信入口有限3.微信小程序只有2M的大小4.需要审核5.客户端计算能力不及APP6.不支持第三方插件7.前端开发人员需要重新学习语法机会Opportunities1.巨大流量入口2.技术较为成熟3.满足客户新鲜感体验威胁Threats1.数据安全较低2.自有度受制于腾讯3.对自家产品造成冲击优势Strenths:1.无需安装、随用随点:对比于APP,用户使用成本更低,无需下载安装,即可达到类APP的体验。在Android系统中,若腾讯将微信小程序图标发布到操作系统桌面中,用户几乎分辨不出原生APP与小程序。2.跨平台开发:微信APP已屏蔽了IOS和Android的差异,在相同版本的微信APP下,开发者无需关心操作系统的类型与版本,一套代码可满足各平台需求。3.丰富的组件和API:a)Websocket:支持浏览器与服务器全双工通信b)视图组件:按钮、表单、弹窗、导航、媒体、地图、画布等c)多媒体支持:图片、音频、视频、文件等d)数据缓存:可通过同步或异步接口对本地缓存进行设置、获取和清理e)硬件支持:可获得陀螺仪、罗盘等数据信息f)微信开放接口:微信登录、微信用户信息、微信支付、模板消息等劣势Threats:1.小程序的推广渠道更少,难度更大。小程序目前确定了没有关注功能、不能群发消息、不能内嵌网页和外链、不能分享到朋友圈。这意味着,原来基于微信订阅号或服务号的推广运营方案都不再适用于小程序的推广,间接影响了小程序的开放性。同时,用完即走的理念造成『留存难』,小程序无法像App一样通过PUSH来唤回用户。这样就迫使我们尽早重视精细化运营,尽早找准用户、黏住用户。2.小程序在微信中入口有限:二维码,搜索,群和发现栏中的小程序页面。比起公众号,小程序几乎没有像样的线上入口,朋友的推荐数量有限,当小程序的名称不为人知时无法搜到。3.微信小程序只有2M的大小,这样导致无法开发大型一些的小程序。4.需要像APP一样审核上架,这点比HTML5即做即发布要麻烦些。5.客户端计算能力不及APP:因微信小程序使用H5技术,代码运行环境为webkit引擎,无法运行复杂的大型计算,某些场景无法支持。6.不支持第三方插件:无法向PC浏览器、手机客户端那样安装或嵌入编译好的第三方插件,无法以插件的形式提供安全的密码控件。7.微信小程序的开发模式必须完全遵守官方的规范,且和现有的前端框架不兼容,会带来学习及开发成本机会Opportunities:1.巨大流量入口:微信作为国内装机量最大的APP,月活用户已超过8亿,微信朋友圈用户粘度很高。2.技术较为成熟:小程序所需技能点为html+js+css,相关技术从业人员广、技术成熟,开发上手容易,学习成本较低。3.满足客户新鲜感体验:微信小程序刚刚推出,网络讨论热度高,部分用户会出于尝鲜心理体验小程序。威胁Threats:1.数据安全性较低:小程序的编写语言为解释执行语言,发布小程序需把源码发布到腾讯服务器,运行环境为微信APP内嵌浏览器,开发者需对腾讯的信任级别达到操作系统级别。2.自由度受制于微信:接口和权限均依赖于微信及其API,小程序能实现的功能场景,完全依赖于微信APP提供的能力。小程序的开发自由度是没有nativeapp高的。3.对自家产品(App+H5)造成冲击:因为小程序良好的体验和强大的可扩展性,客户容易分流,对自家产品的装机量和使用时长造成冲击。总结:什么应用适合做小程序根据小程序的理念,和小程序的功能方向,结合当前的互联网背景,适合做小程序的大致是如下几个方向:1.线下的商家包括稍大型的餐饮店,酒吧健身房等娱乐场所,车站机场景点,甚至是实体广告牌。总结来说,就是自身做为服务载体、提供服务的线下商家。2.和线下场景强相关的线上服务比如说查公交,买汽车票电影票等小程序,需要线下场景(如等车)的支撑,程序本身提供相应的线上服务。当前这类服务只能通过特定APP或公众号,没有直接连接到具体场景,有了小程序之后可以进一步拓展这类线上服务。3.其他领域与互联网的结合,比如医疗、教育等在医院、学校这些场所,服务流程众多,会有非常多能结合互联网的场景可能,而且每家医院或学校的业务又各自不同。比如说就医的挂号、看病、用药整个流程,结合医院的各窗口、病历卡、药方等,每一步都可以有个小程序来服务。当前有很多大大小小的公司在这些领域深耕,小程序扩展了服务的边界。什么应用不适合做小程序1.大公司。大公司本身就有很大的用户量和完善的一套服务,小程序对他们来说只是一个额外的入口而已,还是个很隐蔽的入口。2.纯线上平台。第一这类服务没有线下的具体场景,而小程序线上的入口有限,很难推广。第二这些应用依赖内容,小程序不像公众号那样有内容推送。第三这些应用的运营需要用户粘性、留存,正如前文的分析,小程序的模式不适合做用户活跃留存。三、微信小程序中页面运行环境和登录可能面临的安全问题小程序的运行环境是微信客户端提供的类浏览器(WebView)运行环境。小程序相当于运行在一个浏览器环境中。小程序的请求都必须是https的请求。支持常用的HTTP协议的方法,比如:PUT,GET,POST等;因为所有的请求都是由NA转发的,所以不会存在跨域的问题(微信小程序的设置页面可以设置)。小程序的网络请求的referer是不可以设置,格式是固定的格式。小程序运行在微信的渲染引擎中是不支持window和document对象。所以无法使用这两个对象操作cookie操作。开发者可以通过wx.setStorage等方法在客户端存储数据操作;是否可以收集用户的敏感信息。当前只是可以获取用户的地理位置,头像,昵称信息。其它信息不能够获取。(首先微信的登录接口不提供这样的能力,第二微信有审核机制,如果我们有这样的代码,小程序可能审核不通过)出现安全问题后,从修复问题到上线的响应时长的问题。暂时没有上线经历,没办法给出这个时间;微信小程序的代码包大小当前限制是2MB。所以页面引用的图片或者是文件必须以外链的方式;四、微信小程序开发前端页面微信小程序借鉴了当前非常流行的前端框架React和vue的开发思想,组件化的开发方式。一个页面就是一个组件,一个组件由以下4个部分组成:所以在开发微信小程序的过程中需要学习微信小程序的wxml语法。而wxss的语法就是css的语法,只是不支持一些高级的css选择器。对后端工程师的影响小程序的页面的渲染过程由上面的流程可以知道在小程序的渲染引擎渲染页面的时候,页面需要的数据都是通过接口获取的。而我们现在的开发模式基本都是后端PHP渲染smarty模板,渲染过程中会将某些前端需要的变量或者是参数写到Html页面中。如果以后要在小程序中拓展Pass的能力,后端会有一定的开发成本;五、结论微信小程序的出现,其实对于用户来说只是多了一种应用方式。而开发微信小程序的重点便是寻找到使用场景,从而增加用户粘性,实现盈利。对于传统的巨头APP,小程序只是一种发现的渠道,消化微信的残余流量,避免在这个领域产生不可控的竞争者。对于频次低的服务类或工具类产品,小程序也是必争之地。小程序属于移动互联网时代的新生事物,目前还处在且行且看的起步阶段。我司目前以线上借贷产品为主业务,进行小程序开发有一定的必要性。