分析什么框架适合APP开发?

app开发

APP开发


浏览:1386 次

出身背景

App的开发通常需要满足Android和iOS系统环境的要求,这意味着一个App需要定制两套实施方案,导致开发和维护成本较高。为了解决这个问题,最好的方法是实现一组跨端运行的代码,因此混合App混合应用模式应运而生。在Hybrid App的整个开发框架上,有各种框架和各种技术类型。现在主要的技术是Web技术,它不仅简单,而且更容易实现UI,并且拥有大量的开发人员。目前,市场上的大多数App都是使用Web+Native的混合技术实现的。

随着移动互联网的发展和普及,越来越多的业务已经用移动App版本实现,单个App的规模也在增长。这也导致了一个事实,即App的开发不再由三到两个人完成,而是需要更多的人来开发。大型项目开发所面临的依赖管理和通信成本的问题也出现在app开发过程中。如果这两个问题得不到妥善解决,很可能会造成更多的项目缺陷和更低的开发效率,从而导致项目延迟,也会增加后期项目维护的难度。

综上所述,对于中大型App开发项目,需要一个既支持混合开发模式,又能解决依赖性和通信问题的开发框架,以有效指导和规范开发。

核心需求

一个好的App开发框架应该能够在框架层面解决中大型App开发中混合开发框架选择和模块之间解耦的问题,同时也为模块的动态变化和升级提供解决方案。

除了App开发框架外,它还应包括以下三个部分:

后台发布管理平台

支持模块的动态更改和升级。后台发布管理平台是一个支持的后台管理功能,包括数据管理和App界面。

持续集成方案

为项目开发期间的自动包装提供了支持性的持续集成方案。

H5模块开发规范

为实现动态模块功能,提供了H5模块开发规范。

关于解决“扩大规模”问题的思考

分而治之

模块化,将业务功能划分为多个独立模块;

模块之间的高内聚性和低耦合性,无相互干扰和并行开发

依靠统一管理

依赖是不可避免的;

统一规划和管理依赖关系;

模块之间的依赖关系可概括如下:

在页面之间跳转

API调用

解决“跨平台”问题的思路

Cordova(PhoneGap)

业界最主流的开源移动跨端框架

HTML+CSS+JS+本机插件

打开本机插件框架

强大的社区力量

“动态升级”问题的解决方案

应用发布到应用市场后,通常需要相对较长的审查周期,尤其是在苹果商店;当App的重要功能出现错误时,有必要制定快速响应计划。将版本重新分发到App市场肯定很慢。为了快速响应业务需求的变化和紧急bug处理,动态升级的需求越来越频繁。因此,一套动态升级方案主要在模块中实现。

从动态模块来看,模块分为三种:NA模块、H5离线模块和H5在线模块。

NA模块的页面需要在App中预先设置。H5离线模块的页面可以在App中预设,也可以在安装App后下载。H5在线模块的页面部署在服务器端。

模块的动态主要体现在以下几个方面:

1.可以动态修改模块的图标和名称;

2.三种类型的模块可以相互切换。例如,如果一个模块最初由NA实现,并且在其上线后发现了主要bug,则可以切换到H5在线或H5在线。如果这两个实现不可用,可以切换到“请期待”的在线页面;

3.H5离线模块支持版本升级。

模块动态升级主要指H5离线模块。应充分考虑H5离线模块的安全性:模块的离线包应加密,离线包中的文件也应为哈希c