利用 Flutter 快速提升 Android 和 iOS 端出色的移动体验

Reflectly 使用人工智能来帮助用户构建和反思他们的日常想法和问题。Reflectly 并不是千篇一律的写日记方式,而是为每个用户提供个性化的日记体验,鼓励他们经常回来查看,将心理健康融入日常生活中。

Reflectly 首次在 iOS 平台上推出该应用时,便引起了大众对这款应用的极大关注。这个小团队在支持两个平台以及如何为其不断增长的用户群提供快速、一致且出色的体验方面面临着诸多挑战。鉴于 Reflectly 以其精美的设计和用户体验为荣,该团队显然需要寻找新的解决方案。

他们采取的措施

尽管存在重大问题,Reflectly iOS 应用仍在迅速培养用户群。在决定放弃整个代码库并从头开始之前,他们花了 6 个月的时间尝试修正现有的实现。

最初,最安全的解决方案似乎是构建两个新的原生应用,但只有两名工程师才能采用这种方法。联合创始人兼首席技术官 Daniel Vestergaard 解释道:“我们无法负担开发单独的 Android 应用的费用,因此仔细考虑了要关停或放弃,而专注于 iOS 应用。”

也是在那时,该团队发现了 Flutter。“在试用 Flutter 一段时间后,该团队爱上跨平台一致性、近乎即时的有状态热重载、出色的工具和出色的平台性能。”首席技术官兼联合创始人 Daniel Vestergaard 表示。该团队还非常欣赏 Flutter 的“简单、易读且文档完好”,他补充道。

这时,他们决定直奔主题。Reflectly 的两名工程师编写了第一行 Flutter 代码,仅仅 2.5 个月后,Reflectly 2.0 便开始同时在 Android 和 iOS 上推出。在这段时间内,他们不仅能够完全改写这款应用,还得以开发多项大型新功能,例如完整的付费订阅实现和自定义状态管理解决方案。

成果和经验

Reflectly 2.0 收到了许多来自各种 Android 和 iOS 设备的用户的好评,其中许多设备都非常喜欢该应用的全新时尚外观和设计。在使用 Flutter 重新发布应用后,Android Reflectly 应用在 Play 商店上的平均评分是 3.2 星,涨至 4.3 星。该应用还收录在 Apple 的“我们喜爱的新应用”列表中。该团队认为,最初的低评分主要是由于崩溃、卡顿和外观不一致造成的,他们使用 Flutter 解决了这些问题。“总而言之,在 [Flutter 版本] 之后,我们主要将提高的平均评分和数十万(可能为数百万)的 Android 下载量归功于 Flutter,这让我们得以保留应用、使其保持稳定,并且功能与 iOS 不相上下。”Vestergaard 说道。

由于 Flutter 会直接绘制每个像素,因此该团队无需担心平台之间的渲染差异。他们现在可以维护一个通用代码库,但仍在适当的情况下编写 iOS 和 Android 专属界面。现在,Reflectly 能够让整个开发团队专注于提供单一、优质的体验,从而将开发时间缩短了 50%,这使得他们从每两周发布一次改为每周发布一次,并同时在两个平台上发布新功能。

Flutter 简介

借助 Flutter,任何人都可以通过单一代码库针对任何屏幕构建、测试和部署精美应用。立即开始使用