跨平台开发框架简介

维护人:戴荔春 (6016)

说明

介绍跨平台开发的概念以及当前的开发框架

目录

什么是跨平台开发

跨平台开发是指“一套代码,多个平台运行”这种开发模式,主要应用于移动APP开发,即“开发一套代码,可以打包成Android APP、iOS APP;同时可以部署到服务器上,允许移动浏览器访问、允许微信浏览器访问”。在详细介绍跨平台开发之前,先介绍下当前常用的几种APP开发模式

常用的几种APP开发模式

当前常用的几种APP开发模式如下图:

http://naotu.baidu.com/file/1eb556f3380e8189be859348527ec518?token=a5a049eb4c618e70

上述几种开发模式的简单介绍

当前跨平台开发使用的模式

当前跨平台开发模式有两种

一种是Hybrid APP模式

基于Dcloud公司提供的H5+SDK进行APP开发,使用JS、HTML、CSS编写代码,开发效率非常高,适用于一些小型应用和一些新闻展示类应用。

一种是NativeJS混合开发模式

基于本公司提供的混合开发框架,使用JS、HTML、CSS编写代码,开发效率高,而且性能损耗小,适合一些大型应用和一些内容交互负责的订制化应用。

跨平台开发框架

为什么要用跨平台开发框架

使用跨平台开发框架可以大大提高开发效率。 如上述的开发中,如果没有一套统一的框架,那么开放H5+APP和混合开发APP时,代码中会充斥着大量的底层API,而且如果还需要兼容浏览器版本,那么代码会更乱,所以这时候需要一套开发框架,这套框架封装底层api,对外提供一套统一的API,就算底层API有所改动,也只需要更新框架,而不是重构整个项目。

跨平台框架做了什么

跨平台框架做了如下事情

框架架构

框架架构如下:

采用Sea.js进行模块化开发

框架使用SeaJS进行模块化开发

基于mui前端框架

Mui是一套不依赖其它任何第三方库的前端框架,以iOS平台UI为基础,补充部分Android平台特有的UI控件,轻量级,全部资源加起来不超过200K,适合移动前端开发。

整合H5+ API

Html5+是Dcloud公司推出的“增强版手机浏览器引擎”,旨在拓展Html5的功能,调用原生API,而且通过其中的Native.js更是能够让原生的40万API随意调用。

跨平台框架中,对Html5+ API进行二次封装,对外提供统一调用方式,对内向下兼容普通浏览器,达到跨平台开发目的。

制定混合开发规范EJS

EJS是公司为了原生混合开发而推出的一种混合开发规范,里面规定原生应该提供哪些API,JS应该如何调用这些API。

跨平台框架中集成了EJS API,使的在框架中可以使用EJS API,和5+开发保持同一套代码规范,达到跨平台开发效果。

EJS介绍如下

更多参考:EJS使用文档

封装常用H5功能组件

除了上述的H5+和EJS,跨平台框架中另一部分重要的功能就是封装了一些常用的H5功能组件,简化使用。比如字符集操作相关,MD5加密,H5文件上传,H5本地存储,日期操作,下拉刷新,常用UI组件等等

采用gulp自动构建

现在前端开发中,自动构建往往不可避免,比如自动构建进行资源压缩,自动构建MD5签名解决缓存等。一般来说现在的自动构建都是基于Node后台的。

跨平台框架同样有一套自己的自动构建方案,基于Gulp自动构建,根据项目和代码规范,定制化gulfile.js文件,开发源码完毕后,通过自动构建工具,构建出部署程序,从而达到解决资源压缩,文件缓存等问题。

跨平台开发流程

基于跨平台开发框架,项目开发流程如下:

更多参考 跨平台项目开发流程

更多

Dcloud与H5+的关系

很多人在用到H5+开发时,分不清H5+,Mui,Dcloud之间的关系,这里梳理下上述几者之间的关系

http://naotu.baidu.com/file/301308232d4cb7a71894340031f56dca?token=83cad7056c6c64b3

跨平台开发的前期准备工作

这里简要介绍跨平台开发的前期准备

http://naotu.baidu.com/file/975c52c99229ee7dac51cbede131c152?token=c5eb91953bb0d901