扫码添加
客服微信

扫码关注
微信公众号

13950058311

资讯动态

News

——

通过 HBuilder 的 wap2app 功能创建app

2019-01-05

强化和新开发的区别

新开发一个 App,是大多数编程人员常见的思路,比如新开发一个微信小程序,学习它的每个 API,重头做起。
但使用强化框架,并非重头做起。它的学习方式和开发者过去的习惯可能有所不同,比如开发者时刻要清楚什么工作在客户端强化,什么工作在M站改造。但如果掌握了,它的投入产出是更高的。

wap2app是什么

wap2app 是一个将现有M站(也称手机wap站,区别于pc的web站)快速发布成 App 的增强方案,通过 DCloud 的 wap2app 框架,进行简单的配置和必要的编程,即可完成M站的体验强化,达到原生应用的功能体验,进而再发布为原生安装包或流应用。

名词解释

  • wap 这里并不是严格意义上的 wap 站点,是对所有移动站点的统称。
  • 2 即 to
  • app 单指移动应用

连起来,就是“将移动站点转换成移动应用”。

产品特点

  • 提供了原生渲染能力,让界面渲染速度和动画效果,达到原生体验(优化后的体验有多好,可以滚动到文档底部看“案例体验”章节)
  • 提供丰富的系统原生能力(定位、分享、支付、推送等),达到原生功能
  • 通过 json 配置页面规则和强化规则,工作量低,学习成本低
  • M站仅需稍作修改,改造成本低
  • 强化部分和之前的M站解耦合,M站后续升级业务逻辑,生成的App自动含有更新后的业务逻辑

本地强化和M站的关系

理解这段很关键 x 3

使用 wap2app,开发者可复用M站之前的所有业务逻辑,仅需进行必要的强化,而之前的注册、购物、查询等所有业务逻辑全部复用。

开发者所做的强化工作,分为:
1. wap2app 客户端的配置编程工作
2. 原M站的改造工作

注意这2块是分开解耦的。

自 HBuilder 8.8.3 起,新建 wap2app 项目,会自动生成项目必须的模板文件,强化工作主要在这里做。

Tips:这些 json 或 js 是部署在手机客户端的,并非M站的服务器上。

开发者无需、也不能把M站的项目源码导入到 HBuilder 的 wap2app 项目里,M站依旧以之前的模式部署在远程服务器上。

在 HBuilder 中把新建的 wap2app 项目选择打包为原生应用或发布为流应用时,wap2app 项目下的这些强化配置和编程文件,是存在原生 App 包里的,安装后直接在手机的本地存储区里运行,可以理解为是 C/S 模式的 Client 部分。而M站仍然是 B/S 模式的,并不会将M站的资源打包到 App 包里,而是从服务器加载在线的M站页面。

手机端实际运行时,DCloud 的框架会自动把本地的强化配置和在线的M站融合在一起,在用户眼里是一个 App 的感觉。

强化工作

  1. wap2app 本地端的工作:通过框架提供的 sitemap.json 文件,描述页面关系和动画强化方案,以达到原生的窗体切换效果。当 sitemap.json 配置无法满足复杂需求时,可使用 app.js 编程进行增强处理。
  2. M站的改造工作:针对 App 运行环境(可根据UA区分),进行适当的改造。包括去掉一些 App 里不应该出现的页面元素(如底部的电脑版链接,或某些原生 App 下载引导等)。
  3. 扩展原生的能力:如果需要调用 DCloud 的 HTML5+ 引擎 扩展的原生能力,比如M站之前无法实现的微信分享、推送、原生支付等,需要进行必要的编程工作。这部分工作,可以在 wap2app 本地端实现,也可以直接在M站实现(注意判定当前运行环境)。

Tips:强化工作的第3点,需要开发者了解并学习一部分 HTML5+App 开发的知识,请阅读文档树的 HTML5+ 及 App 教程 部分。