使用 Flutter 构建可扩展应用程序:Nubank、BMW 和 ByteDance 的成功案例
为什么需要构建可扩展的应用程序?
在这个世界几乎以数字方式运作的时代,可扩展的应用程序不是奢侈品,而是应该成为企业的一种生活方式。可扩展应用程序的最常见特征是:
• 足够高效以应对不断扩大的最终用户
• 足够高效以支持新功能而不会出现任何故障
• 由相对较小的独立包或模块组成。
在开发移动应用程序时,考虑可扩展架构是一项明智的业务和技术策略。一些专家还将其称为应用程序代码的“保险单”。
企业需要考虑部署可扩展架构的基本原因之一是它的可访问性和可用性。行业内几乎没有哪家企业没有遇到过应用程序基础设施崩溃的情况,一个工程师的退出就是她的全部!
可扩展架构解决了集中知识及其可访问性和可用性的问题。在可扩展的架构中,一切都被详细记录并且所有利益相关者都容易理解,以至于每个团队成员都知道如何在不破坏现有基础架构的情况下构建新的应用程序功能。因此,用于开发移动应用程序的可扩展架构也有助于所有团队扩展他们在开发移动应用程序方面的知识。
使用可扩展架构开发的可扩展代码也是意大利面条代码的绝佳替代品。在部署新代码时,遗留代码库可能已完全损坏的情况有很多。
可扩展架构完美地解决了这个问题,因为它为开发人员提供了足够的空间来向应用程序添加新功能,而不会破坏或中断整个应用程序。
在可扩展代码中,打开拉取请求及其合并变得顺畅,因为可扩展架构足够强大,可以让工程师扩展新功能而不会对整体造成任何干扰。
为什么你应该使用 Flutter 构建可扩展的应用程序?
最近,开发可扩展应用程序的需求急剧增加。在我们之前的帖子中,我们讨论了为什么选择Flutter 进行应用程序开发以及它如何彻底改变跨平台应用程序开发!在我们之前的帖子中,我们讨论了闲鱼——一家专注于电子商务、零售、互联网和技术的中国跨国科技公司正在使用 Flutter。
让我们详细了解为什么您也应该选择 Flutter 来构建可扩展的应用程序。
• Flutter 框架允许开发人员在他们的应用程序开发过程中创造更多价值、更具创造力和生产力。
• 从长远来看,它肯定是可行的,因为谷歌非常致力于长期支持该平台。
• Flutter 框架是与平台无关的框架。使用 Flutter 开发的可扩展应用程序在 Android 和 iOS 上运行良好。
• 在采用任何新技术时,企业通常会考虑增量抽象成本。与其他平台相比,Flutter 也证明了自己是一个更明智的财务决策。
• 使用 Flutter 框架还允许开发人员对整个代码库进行一些重大更改,最终可以支持新组件。
• 单元、集成和端到端测试可以利用Flutter 的固有测试功能。这也消除了渲染到屏幕的过程。
• 对于开发人员来说,使用 Flutter 总是一种愉快的体验,因为它提供了热重载、正式文档和更好更稳定的 API 等功能。
让我们来看看一些使用 Flutter 成功开发可扩展应用程序的全球公司。
正在寻找熟练的专家在 Flutter 中构建可扩展的应用程序结构?
从我们这里聘请 Flutter Developer来构建一个可扩展的应用程序,该应用程序可以处理新用户的涌入并支持新功能而不会中断。
Nubank 使用 Flutter 开发可扩展应用程序的旅程
总部位于巴西的 Nubank 是一家 Neobank,也是拉丁美洲最大的金融科技公司。当 Nubank 成为亚洲以外最大的独立数字银行时,除了其标志性产品信用卡之外,它还专注于开发其他新产品。
2019年初,其业务账户和贷款部门不得不选择开发这些产品。当时,移动技术的世界充斥着许多技术,而 Flutter 仍被认为是一个新生事物。因此,要从众多技术的丛林中做出选择是一个艰难的决定。
经过大量的思考和争论,直到最后一刻,Nubank 决定将 Flutter 作为其移动开发的主要技术。从那时起,Nubank 一直在 Flutter 中编写其所有功能。Nubank 确实称自己是一家拥有 100% Flutter 文化的公司!
以下是这家金融科技公司在采用 Flutter 后经历的一些重大变化:
• Nubank 在采用 Flutter 后仅三个月内就推出了人寿保险。在迁移到 Flutter 之前,任何新产品的发布过去都需要几个月甚至一年的时间。
• 试验Flutter web带来了更好的开发者体验。
• Flutter 桌面促进了创新的内部开发人员工具的使用,允许消除模拟器,从而减少笔记本电脑的电池电量并加快跨设备的测试。
• 移动基础设施和开发效率的改进导致了这一年中开发专用功能的创新。
• Flutter 具有内置的更快的学习曲线。因此,将 Flutter 作为主要技术缩短了公司的构建时间,因为任何人都可以通过官方文档更快地学习该过程。
• 与原生框架相比,合并成功率提高了 30%,因为 Flutter PR 需要 9.9 分钟才能合并所有平台上的总体平均 70.45 分钟。
宝马如何使用 Flutter 开发可扩展应用程序
2018 年,宝马意识到他们需要一个平台来解决 iOS 和 Android 产品之间存在差异的难题。
对他们而言,重要的是开发能够为消费者提供相同体验和功能的应用程序,而不管他们必须使用何种移动操作系统。同样重要的是在不增加太多成本或降低功能开发速度的情况下进行。
正是为了应对这一业务挑战,他们决定使用跨平台框架。他们进行了严格的评估过程,并为所有框架设计了许多“概念验证”。有趣的是,Flutter 确实成为了赢家,并且在 2019 年 10 月,一组选定的 BMW 工程师准备了推进 Flutter 的战略。
该战略包括采用更灵活的、基于领域的组织结构,不再受特定平台的限制。他们创建了一个专注于连接状态和通信抽象的团队;另一个将专注于应用程序的跨平台方面,而其他人则致力于为最终用户创建新的创新功能。
这样,BMW 的开发团队开始使用单一代码库为分布在全球 45 个国家/地区的最终用户重写所有应用程序变体。
2020 年 7 月,该公司推出了My BMW App。该应用程序是面向五大洲 47 个国家/地区的消费者的通用界面。它为他们提供了手机、车辆和数字世界之间的无缝体验。它也是驾驶员与其车辆之间的直接接口,也是与公司经销商和品牌本身的直接沟通渠道。
用 BMW Group 副总裁 Offboard Platform Nicolai Kraemer 博士的话来说:“新的应用程序平台建立在三大支柱之上:用户友好性、安全性和可靠性。它根据反馈和我们客户的使用行为,提供了一套涵盖所有品牌的统一设计的功能。”
以下是 BMW 在使用 Flutter开发可扩展应用程序后实现的一些主要业务目标:
• 开发人员友好的平台
• 开发人员可扩展且功能良好的平台
• 提供安全实验和持续部署的平台
• 每天触发多个应用程序构建的平台,可自动构建、测试和部署 96 个变体每个应用程序构建。
• 截至 2021 年,每个应用程序变体都有 10,000 多个版本
• 能够更快地移动并保持一致性
• 不再依赖最终解决功能差异问题的多个代码库。
• 与用于访问应用程序的平台无关的单一用户体验
• 改进了用户反馈,尤其是对于Android 用户。
想要为您的企业开发可扩展的应用程序?
联系知名的Flutter 应用程序开发公司,他们可以以实惠的价格为您提供最好的 Flutter 开发。
字节跳动使用 Flutter 的进化与创新
字节跳动也是从使用 Flutter 中获益匪浅的公司之一。在 2019 年,公司意识到需要创建大量跨平台应用程序。现有的框架并没有达到这个目的,因为它涉及大量的时间和金钱。
在评估了 Flutter 框架的功能后,字节跳动了解到,使用 Flutter,他们只需要开发一次每个应用程序。它消除了为每个 Android、iOS 和 Web 操作系统创建不同应用程序的需要。
此外,Flutter 自己的渲染引擎将使他们的应用程序能够在所有平台上一致地执行。此外,借助 Flutter,可以使应用程序的 Android、iOS 和 Web 版本保持同步。这反过来又减少了应用程序的必要更新次数。
Flutter 的所有这些特性激发了字节跳动推出他们的第一个基于 Flutter 的教育应用程序,旨在帮助孩子们学习书写具有笔画跟踪功能的汉字。该公司利用 SVG 格式来创建这些笔画。
现在,这个 Flutter 内置的功能支持超过 9,000 个字符,包括最常见的字符。它已经在各种平台上非常成功地运行。
以下是字节跳动在使用 Flutter 开发可扩展应用程序后体验到的一些好处:
• 幸福里、极客、大力加长、小禾、火山和西瓜视频等旗舰应用的团队生产力提高了 33%。
• 它见证了包大小减少 5%
• 对团队进行了有价值的优化并提高了性能
• 字节跳动的 700 名 Flutter 开发人员组成的团队,其中 200 名是活跃的 Flutter 开发人员
• Flutter 广泛用于移动应用程序和运行在他们的网络、桌面和其他嵌入式平台。
使用 Flutter Framework 开发可扩展应用程序的主要优势
虽然我们在这里只探索了三个公司的旅程,但像阿里巴巴、Google Pay、eBay 和许多其他类似的巨头已经成功采用了 Flutter 并将其作为他们的主要技术。所有这些公司都从使用 Flutter 框架开发可扩展应用程序中获益匪浅。
这些好处可以总结如下:
• 产品开发的一致性更高
• 扩展和自定义 UI 组件的灵活性更高
• 以“Flutter 热重载”功能的形式提供更好的后端驱动工具 •
更好地支持本地化
• 更好的基础设施可以帮助企业衡量可观察性
• 使开发人员能够将更多指标与其他系统相关联
• 使用功能或包来衡量应用程序的大小
• 直接向相关团队发送警报
• 甚至可以帮助非技术工程师在短短几周内提高工作效率
• 帮助顺利和标准化代码库有效率的。
2022 年 Flutter 的前进之路
采用任何新事物总是会带来一系列挑战,即使它是为了最高利益。因此,重要的是根据具体要求和过程中涉及的固有风险做出明智的决定。
2022 年选择 Flutter 确实是在做主,甚至会继续做下去。Nubank 是关于如何迁移到 Flutter 或任何其他新框架的一个很好的案例研究。有趣的是,Nubank 如何主要使用其内部解决方案来调整其构建、测试和持续部署管道,以适应其用于应用程序开发过程的新构建工具。这些工具类似于 CLI,是用 Dart 语言编写的。
最重要的收获是拥有一个平台团队,在企业迁移到 Flutter 时完全专注于支持产品团队。向参与使用 Flutter 开发可扩展应用程序的所有利益相关者提供广泛的培训也很重要。
当现有应用程序进行框架更改时,所有这些措施都有助于防止错误和其他复杂的性能问题。明智的决策可以让使用 Flutter 构建可扩展应用程序的过程变得顺畅,并有助于简化整个产品生态系统。