在今年1月11日举行的微信公开课上,张小龙首次提及微信应用号。直到9月22日凌晨,微信公众平台正式对外发送小程序内测邀请,小程序即被外界广为关注的微信“应用号”。一时间成为舆论热点,其中不乏H5 APP时代会取代原生 APP的声音,真的是这样吗?
9月23日,经过LayaAir引擎团队的彻夜奋战,LayaAir引擎率先完成对微信小程序的开发支持,并在此将支持工作过程中遇到的问题和认知总结成文,希望能够帮助您更多的了解微信小程序。
微信应用号小程序内测邀请函
应用号小程序不等于HTML5
在获知微信应用号开始内测后,众多不明真相的观众,纷纷认为是基于HTML5协议标准的HTML5小程序。其实不然,微信目前支持的开发框架是模拟了HTML5的一些协议标准,比如支持画布,支持CSS和一些类HTML协议。
尽管微信小程序并不是标准HTML5,但框架内包含了小程序开发的常用组件和设备支持。开发语言方面,小程序是采用JS去控制组件行为和产品的逻辑实现。如果采用LayaAir引擎开发应用号小程序,除了用JS开发,还可以使用AS3或TS语言。
微信小程序开发框架存在的不足
由于目前还处于小规模测试期,仅受邀请企业可以参与测试,所以在测试阶段,小程序开发框架仍存一些不太成熟的地方。在LayaAir引擎支持的过程中发现,微信小程序提供的框架还有很多重要的接口不支持,并存在明显BUG,比如不支持文件下载和http访问,在用画布绘制多个图片时只显示一个,矢量图和位图混合渲染时会闪烁等。
在性能方面,为了提高应用的性能和体验,框架的组件可能会调用操作系统原生组件。然而canvas实现还是会存在性能和drawImage等关键功能不完善的问题。再加上没有提供可视化设计工具和产品模板,所以相对复杂的视觉动画效果制作比较麻烦或是无法实现。
从目前功能来看,正如其命名那样,“小程序”的开发问题不太大。相对深度或复杂一些的程序是较难或无法实现的。然而微信小程序在丰富视觉体验、互动教育、广告营销方面还是存在广阔的需求。尤其是在框架中支持了部分的画布功能,给LayaBox这样的专业引擎厂商提供了发挥空间和舞台。经过连夜的奋战,LayaAir引擎不仅支持了微信应用号小程序的开发,还制作了一个粒子效果的小程序DEMO。
LayaAir引擎开发的粒子效果微信小程序DEMO
微信小程序开发支持的内容
微信小程序虽然没有直接采用HTML5的标准,测试阶段也还需要继续完善和成熟。但从框架提供的接口来看,已有充分的准备,能满足小程序开发的基本需求。这些服务和支撑包括以下方面:
视图容器:视图(View)、滚动视图、Swiper
基础内容:图标、文本、进度条
表单组件:按钮、表单等等
操作反馈
导航
媒体组件:音频、图片、视频
地图位置服务
画布
文件操作能力
网络:上传下载能力、WebSocket
数据:数据缓存能力
位置:获取位置、查看位置
设备:网络状态、系统信息、重力感应、罗盘
界面:设置导航条、导航、动画、绘图等等
开放接口:登录,包括签名加密,用户信息、微信支付、模板消息
LayaAir引擎与微信小程序开发的结合
LayaAir引擎之所以能快速支持微信小程序的开发,得益于小程序框架支持画布模式,实现了画布的常规功能。而LayaAir的设计是基于画布和WebGL的,遗憾的是微信小程序还不支持WebGL,否则引擎发挥的空间更大,比如3D展示与性能提速方面。
LayaAir引擎在与微信小程序框架结合后,不仅从JS单一开发到支持JS、TS、AS3三种语言的开发,还极大的拓展了应用的视觉效果和工具集,降低了开发门槛。开发者可以通过Flash、Unity3D、Spine、LayaAir IDE等编辑工具设计丰富多彩的视觉效果,极大提高产品研发速度和视觉品质。
在微信应用号中,LayaAir引擎目前主要用于扩展小程序表现,提升应用的互动和视觉表现,可用于广告、营销、互动教育等应用开发。
LayaAir引擎开发者QQ交流群:104144216
LayaAir引擎3D&VR交流群:343966316
LayaBox市场合作电话\QQ:
18501377586\578693278
LayaBox业务合作
Email :bd@layabox.com
渠道商务合作微信\QQ:uubabi\1362382630
发行商务合作微信\QQ:turu307036569\307036569
LayaBox人才招聘
Email:hr@layabox.com