用 Flutter 在 Android 和 iOS 上开发高效应用

[复制链接]
tq00d6u 发表于 2019-4-12 19:50:05 | 显示全部楼层 |阅读模式
来源:https://www.toutiao.com/group/6678823934458069507/
若内容不全,可点击上述链接查看来源网页,在网页中点击红色双层向下的箭头阅读全文
原站点评论数目:14

  • Bilibili视频链接
  • https://www.bilibili.com/video/av48889301/

很多开发者都会抱怨——移动开发充满了妥协。当您构建新的应用时,可能经常被迫做出艰难的选择:是否要构建两次相同的应用,其中一次用于iOS,另一次用于Android,然后才能在两个平台上获得高质量的体验?您是否尝试过用同一套代码编译两个平台的应用,但是没能获得您希望的性能或用户体验?Flutter的出现提供了第三个选择:以卓越的性能实现高品质的用户体验,同时清晰顺畅地表达出设计师的意图,而且用同一个代码库就能支持两个平台的应用。

  • Bilibili视频链接
  • https://www.bilibili.com/video/av48890675/

无论您是拥有新应用创意的创业者,还是对编写-编译-调试的冗长周期感到沮丧的开发者,或是想要能够迭代新设计概念的设计师,都可以考虑使用Flutter来创建下一个应用,本文会为您详述采用Flutter的几个理由。

跨平台的精美应用

在实现应用的设计方案时,可能需要在设计师的意图和实际开发平台的限制之间进行权衡。移动设计师和开发者经常在不同的世界中工作,他们使用的工具之间存在难以跨越的边界,并且在开发过程中想迭代设计难免遇到困难。有时,设计师的愿景会因开发者使用的API或框架而受到限制;有时,为了考虑整体的开发日程,视觉上的调整会经常被"推迟"(这个"推迟"可能意味着"永远")。

设计师难免要执着于细节,但开发日程却让妥协成为常态

使用Flutter的话,您可以从一开始就控制屏幕上的每个像素。Flutter还内置一整套widget,可以在iOS和Android上提供像素级的完美体验。设计师们也开始使用Flutter来设计极具吸引力的体验,例如在AppleAppStore中排名第一的日记应用Reflectly:

在设计领域也已经出现了针对Flutter打造的工具。比如2DimensionsFlare,您可以使用它来制作动画,并用一行代码将动画插入到应用中。下图是一个使用Flare构建的自定义动画示例,请注意这个动画不是预渲染的序列帧,小熊的眼睛会跟踪您的手指:

Supernova,知名的design-to-code(设计转代码)工具,最近也宣布支持将Sketch设计文件直接导入Flutter。相信不少设计师都在使用Sketch制作界面和线框,现在您的设计距离代码只有一"键"之遥。

  • Supernova支持Sketch转Flutter
  • https://blog.prototypr.io/sketch-to-flutter-automatically-cf693ea1c892

跨平台的高效表现

Flutter应用不是在代码和底层操作系统之间引入抽象层,而是原生应用——这意味着它们是直接针对iOS和Android设备编译。

Flutter的编程语言Dart是为满足全球化应用开发的需求而设计的。它易于学习,包含全面的代码库和代码包,可以减少您需要编写的代码量,并且它是完全为了提高开发者的生产力而设计的。当您发布应用时,您的代码会直接编译成目标ARM设备的机器代码——这意味着您所写的代码会在设备上直接运行并显示——因此您可以充分利用设备的全部功能,而不是像JavaScript那样需要隔着一层引擎运行。

Flutter在手机上实时播放动画

Flutter不是游戏引擎,但它为您的应用带来了游戏级别的性能。Flutter中的每个像素都是使用Skia图形引擎绘制的,这是一种Android和Chrome同样在使用的硬件加速引擎。这可以让应用具备快速稳定的性能表现,您的应用可以以每秒60帧的速率在手机屏幕上运行,即使在配置较低的设备上您也不会感到卡顿。

跨平台的高生产力

如果您是移动应用开发者,您可能会觉得开发的时候等待的时间比写代码的时间还要长。当您对代码做出更改后,必须重新编译它,将其部署到手机,还需要将应用运行到上次测试时候的状态,然后才可以看到修改的结果。这些都成为过去了,Flutter引入了名为StatefulHotReload(有状态热重载)的新功能,它可以让您的修改在毫秒内展现。毫秒级的响应速度意味着StatefulHotReload能让开发者和设计师在针对画面进行调整时能合作得更为顺畅。

修改应用的UI和逻辑后无需重新编译,即刻可见

使用StatefulHotReload的团队已经向我们反馈称,他们在开发应用时的生产力得到了巨大的提升。开发者们手中现在已经有了快速修改微调的能力,再加上跨iOS和Android双平台的发布能力,效率已经今非昔比。我们已经看到,来自AbbeyRoadStudios、Hamilton和Reflectly等品牌的应用能够在几周内走完从写下第一行代码到最终发布的全过程。

我们期待来自您的精彩

我们不久前在MWC2019上发布了Flutter1.2版本。我们鼓励您造访flutter.dev并上手尝试Flutter。您将在那里找到入门所需的所有资源,包括视频、代码示例、案例研究、文档、社区链接等。

生产力的大门已经打开,我们期待着来自您的精彩。

原文链接:https://mp.weixin.qq.com/s/5KCxFBam0n3MWh0vZL_XEw

作者/MartinAguinis,FlutterTeam