Flutter技术解析与实战——闲鱼技术演进与创新-第1章(4)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 本书将详细讲解闲鱼Flutter&FaaS云端一体化架构,以及闲鱼基于Flutter的架构演进与创新,学习一套全面的Flutter架构应用方案。本书介绍闲鱼技术团队利用Flutter技术改造和上线复杂业务的混合工程改造实践,抽取Flutter依赖到远程的实现细节,以及使用Plugin桥接获取设备信息、使用基础网络库等混合开发实践指南。这些实践遍布闲鱼各大业务线和应用场景,为读者使用Flutter打造自己的研发体系探索一条实践之路。除了介绍闲鱼Flutter应用框架Fish Redux、开发利器AspectD、FlutterBoost等一众开源工具与开发实践指南,你还将在......

1.2 混合工程改造实践

      当使用Flutter 实现跨平台开发时,如果原有的iOS 和Android 工程已相当庞大,那么如何将Flutter 无缝地桥接到这些大工程中并保证开发效率不受影响是优先要解决的问题。

      本文给出了一种通用的工程改造方案,希望为准备转型Flutter 的团队提供参考。

1.2.1 项目背景及问题

      Flutter 的工程结构比较特殊,由Flutter 目录再分别包含Native 工程的目录(即iOS 和Android 两个目录)组成,如图1-12 所示。在默认情况下,引入Flutter 的Native 工程无法脱离父目录进行独立构建和运行,因为它会反向依赖于Flutter 相关的库和资源。

5.jpg

图1-12

      很显然,在拥有了Native 工程的情况下,开发者不太可能去创建一个全新的Flutter 工程并重写整个产品,因此Flutter 工程将包含已有的Native工程,这样就带来了一系列问题。

      1)构建打包问题:引入Flutter 后,Native 工程因对其有了依赖和耦合,从而无法独立编译和构建。在Flutter 环境下,工程的构建从Flutter的构建命令开始,执行过程中包含了Native 工程的构建,开发者要配置完整的Flutter 运行环境才能走通整个流程。

      2)混合编译导致开发效率的降低:在向Flutter 转型的过程中必然有许多业务仍使用Native 进行开发,工程结构的改动会使开发过程无法在纯Native 环境下进行,而适配到Flutter 工程结构对纯Native 开发来说又会造成不必要的构建步骤,导致开发效率的降低。

1.2.2 改造目标

      针对以上问题,我们提出了以下改造目标,力求使Native 工程对Flutter相关文件的依赖最小化。

      Native 工程可以独立地编译构建和调试执行,进而最大限度地减少对相关开发人员的干扰,使打包平台不再依赖Flutter 环境及相关流程。

      当Native 工程处在Flutter 环境中时(即作为iOS 或Android 子目录)能够正确依赖相关库和文件,正常执行各类Flutter 功能,如Dart 代码的构建、调试、热重载等,保证在Flutter 环境下开发的正确性。


相关文章
|
4天前
|
存储 调度 数据安全/隐私保护
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
鸿蒙应用打包上架流程包括创建应用、打包签名和上传应用。首先,在AppGallery Connect中创建项目、APP ID和元服务。接着,使用Deveco进行手动签名,生成.p12和.csr文件,并在AppGallery Connect中上传CSR文件获取证书。最后,配置签名并打包生成.app文件,上传至应用市场。常见问题包括检查签名配置文件是否正确。参考资料:[应用/服务签名](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-signing-V5)。
25 3
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
|
5天前
|
开发工具 芯片 开发者
鸿蒙Flutter实战:12-使用模拟器开发调试
本文介绍了如何在 M 系列芯片的 Mac 电脑上使用模拟器进行鸿蒙 Flutter 开发和调试。主要内容包括:创建 Flutter 项目、签名、创建模拟器、运行 Flutter 项目以及常见问题的解决方法。适用于希望在鸿蒙系统上开发 Flutter 应用的开发者。
19 2
鸿蒙Flutter实战:12-使用模拟器开发调试
|
8天前
|
自然语言处理 编译器 Linux
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
思通数科AI平台在尽职调查中的技术解析与应用
思通数科AI多模态能力平台结合OCR、NLP和深度学习技术,为IPO尽职调查、融资等重要交易环节提供智能化解决方案。平台自动识别、提取并分类海量文档,实现高效数据核验与合规性检查,显著提升审查速度和精准度,同时保障敏感信息管理和数据安全。
40 11
|
2天前
|
Kubernetes Cloud Native 云计算
云原生技术深度解析:重塑企业IT架构的未来####
本文深入探讨了云原生技术的核心理念、关键技术组件及其对企业IT架构转型的深远影响。通过剖析Kubernetes、微服务、容器化等核心技术,本文揭示了云原生如何提升应用的灵活性、可扩展性和可维护性,助力企业在数字化转型中保持领先地位。 ####
|
2天前
|
自然语言处理 并行计算 数据可视化
免费开源法律文档比对工具:技术解析与应用
这款免费开源的法律文档比对工具,利用先进的文本分析和自然语言处理技术,实现高效、精准的文档比对。核心功能包括文本差异检测、多格式支持、语义分析、批量处理及用户友好的可视化界面,广泛适用于法律行业的各类场景。
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
医疗行业的语音识别技术解析:AI多模态能力平台的应用与架构
AI多模态能力平台通过语音识别技术,实现实时转录医患对话,自动生成结构化数据,提高医疗效率。平台具备强大的环境降噪、语音分离及自然语言处理能力,支持与医院系统无缝集成,广泛应用于门诊记录、多学科会诊和急诊场景,显著提升工作效率和数据准确性。
|
10天前
|
监控 Cloud Native 持续交付
云原生技术深度解析:重塑现代应用开发与部署范式####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在现代软件开发中的重要性。通过剖析容器化、微服务架构、持续集成/持续部署(CI/CD)等关键技术,本文旨在揭示云原生技术如何促进应用的敏捷性、可扩展性和高可用性,进而推动企业数字化转型进程。不同于传统摘要仅概述内容要点,本部分将融入具体案例分析,直观展示云原生技术在实际应用中的显著成效与挑战应对策略,为读者提供更加丰富、立体的理解视角。 ####
|
9天前
|
算法 Java 数据库连接
Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性
本文详细介绍了Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性。连接池通过复用数据库连接,显著提升了应用的性能和稳定性。文章还展示了使用HikariCP连接池的示例代码,帮助读者更好地理解和应用这一技术。
24 1
|
10天前
|
JavaScript API 开发工具
<大厂实战场景> ~ Flutter&鸿蒙next 解析后端返回的 HTML 数据详解
本文介绍了如何在 Flutter 中解析后端返回的 HTML 数据。首先解释了 HTML 解析的概念,然后详细介绍了使用 `http` 和 `html` 库的步骤,包括添加依赖、获取 HTML 数据、解析 HTML 内容和在 Flutter UI 中显示解析结果。通过具体的代码示例,展示了如何从 URL 获取 HTML 并提取特定信息,如链接列表。希望本文能帮助你在 Flutter 应用中更好地处理 HTML 数据。
93 1

推荐镜像

更多
下一篇
无影云桌面