原生iOS解决方案
JDFlutter 白皮书
第一章 产品概述
JDFlutter 平台是京东实现跨平台软件开发的主要方案之一,是实现一套代码多端运行的解决方案,可以简单、快速、低成本、低风险的开发出高性能的不同平台软件。涵盖桌面开发工具、后台管理服务、Web 端组件市场,和以 JDFlutter 容器为输出规范的各种 Flutter 插件,以完整的开发流程和实际的使用场景为基础,提供各种解决方案,JDFlutter 平台适用于各种企业级用户,让开发人员只专注 Flutter 就可以开发出 Android 和 iOS 等多平台软件,对不同系统的软件开发工作实现代码的统一,构建高性能跨平台软件,打造跨平台生态具有重要意义。
第二章 产品优势
2.1 简单快捷
完善的基础组件实现了简单集成,快速使用的开发流程,一套代码,多端输出,大大节省开发成本。
2.2 低成本低风险
开发人员只需要专注于 Flutter 平台,依托 JDFlutter 平台,无需投入多端研发人员,即可完成多端软件的开发工作。同时平台提供升级、降级、埋点、网络、图片、异常统计等服务,大大降低软件的风险。
2.3 高性能高效率
JDFlutter 平台提供全面的服务、工具和插件等配套设施,更是大大减少了学习成本,初步入门 Flutter,即可实现 Android、iOS 移动端原生应用复杂的功能开发。依托于 Flutter 的实现机制,调试过程的热重载功能,大大提升调试效率,缩短等待周期。正式发布后的编译产物运行起来与原生无异,甚至性能还要优于原生应用。
第三章 应用场景
3.1 统一接口规范
JDFlutter 平台致力于为开发者提供一个容器化、动态化、平台化的共享 Flutter 开放平台,统一接入标准、API 接口、使用流程以及开发流程等等。让开发者面向容器开发,使用相同标准的 API 接口使用容器提供的基础功能,进而提升开发效率。
3.2 提供完整服务
JDFlutter 平台还包括自己的 Pub 仓库和桌面开发工具,为开发者提供 Flutter 项目的开发、打包、上线、热更新、降级等等多种服务。
3.3 解决疑难问题
JDFlutter 平台也为开发者们提供了几个重要的解决方案,比如更有没的混合开发解决方案、共享引擎解放内存、Flutter 组件生态市场、Android 和 iOS 的动态化解决方案等等。
第四章 总体设计
4.1 产品架构
4.2 技术架构
4.3 部署架构
JDFlutter 平台包含后台管理、组件市场、桌面工具、组件容器、业务模块等几大类,最终服务于客户端 App,如下图所示:
第五章 产品功能
5.1 专业项目管理
通过 JDFlutter工具创建和管理 Flutter 项目,支持将 Plugin 和 Package 类型的 Flutter 项目发布到 Pub 组件市场,支持将 Module 类型的 Flutter 项目的一键打包和一键发布。
5.2 权限控制
支持 Flutter 项目的权限设置和成员管理,对不方便公开的组件可选择不可见或使用申请授权等操作,支持添加共同开发和管理人员。
5.3 容器化架构接口
通过 JDFlutter 容器定义各组件的对外 API 接口,指定标准化 API,使用者只需关注容器的 API,无需关心功能具体由什么组件实现,达到组件可更换,API 统一等目的。
5.4 Flutter2web降级容灾
支持埋点统计、异常上报等功能,实时掌控线上应用的各种状态,及时响应线上异常。
5.5 动态化更新灰度发布
支持为 Flutter App 和 Module 项目设置热更新和降级配置,灵活修复线上 Bug,以及新增功能等。
第六章 部署环境要求
6.1 JDFlutter 工具
6.1.1 硬件要求
无
6.1.2 软件要求
运行环境:macOS
开发框架:Flutter v1.12.13
发布组件:京东 Pub 工具
6.2 JDFlutter 容器
6.2.1 硬件要求
无
6.2.2 软件要求
运行环境:Android API 14+ / iOS
开发框架:Flutter v1.12.13