当我想开发一个百度小程序的时候,会面临一个技术选型的问题。第一种情况是我目前没有任何小程序,第二种情况是我已经有微信小程序了。百度提供了两种解决方案:一是使用扩展开发的方式,二是使用应用层框架开发。
大家下午好,我是来自百度的一名工程师,我叫张子猛,目前主要负责小程序的研发工作。今天非常高兴和荣幸的为大家带来百度智能小程序开发解决方案的讲解。本文来自百度小程序【公开课北京站】张子猛:智能小程序-开发解决方案,主要围绕百度智能小程序开发解决方案,详细讲解了开发流程、开发接入方案以及开发工具链。另外两篇文章分别是:
百度张子孟:小程序三大开发框架的特点 百度小程序开发工具链是小程序开发者必备
百度智能小程序开发流程
视频:智能小程序开发解决方案
05:57
今天我们分三部分来讲一下开发小程序的解决方案:第一部分是小程序开发流程的概述,第二部分是我们今天要重点讲的技术层面的解决方案,第三部分会介绍我们的开发工具链。
小程序开发生活解决方案
1. 智能小程序发展历程概述
我们先来看一下小程序开发流程的概述。我们先从研发的角度来看一下小程序开发流程的概述。如果你有微信小程序,那么你可以使用转换工具,一键转换成智能小程序。
智能小程序开发流程概述
可以使用第三方的框架,把我们的第三方框架对接到小程序的架构上。开发者开发调试好之后,用我们的开发工具没有问题之后,可以在手机上预览,预览完之后就可以发布到后台,然后就可以被百度检索下载了。这个是Web,在外面是可以直接浏览的,也就是H5浏览。左边是开发和运营,今天我们重点讲左边的部分。
2.小程序开发技术分类接入解决方案
今天我们主要讲接入的问题。接入的问题有两个,第一,当我想要接入百度小程序的时候,作为开发者,我会面临技术选择的问题吗?有两种情况,第一种是我目前没有任何小程序,第二种是我有微信小程序。我们会针对两种情况来介绍技术分类的接入方案。
小程序开发技术分级接入解决方案
如果我没有开发过小程序,那我就得从头开发了。从头开发我们有两种方案:一是使用扩展开发,二是使用应用层框架。我们先看第一种,扩展开发,顾名思义就是使用百度的一套开发规范来开发小程序。
3. 百度小程序原生开发方式
对于前端的同学来说应该很简单,就跟前端一样,我们有一个视图层,一个逻辑层,视图层的CSS是标准的,CSS跟外部的H5是一样的。请注意我们有标记语言,我们的标记语言不再是HTML,我们的标记也是SWAN,SWAN文件提供了自己的容器,大家在上面的代码中可以看到,这是我们自己的容器,所以如果要使用扩展开发的方式,就得参考我们的标签,我们有所有的标签文档,你也可以自己定制开发一些功能,我们有事件绑定,有控制流,有属性表达式。
百度小程序原生开发
在逻辑层面,我们定义了自己的生命周期,主要是页面层面,也就是我们过渡的方式。当有东西显示出来或者切换出来的时候,就会调用一个循环。这跟 Web 不一样,这是我们自己的生命周期,包括事件响应,这是最基本的。我们还有数据管理,这是数据驱动的方式。它是通过数据驱动和模板渲染,以非常传统的方式设计的。
4. 小程序开发第三方框架
小程序开发 应用层框架接入
接下来说说应用层。跨平台永远是软件开发永恒的主题。那么跨平台的解决方案就来了。如果我想在百度小程序、微信小程序、Web 端都跑起来,就可以采用框架层接入的方式,通过源码开发然后编译后在各自的平台上运行。比较有名的三个框架是 Taro、WePY。这三个社区都很活跃,各有千秋,他们的 star 都已经很齐了,很高,而且也在不断迭代。我们也拥抱三方框架,和他们一起共同推动小程序框架。