Flutter为何对程序员来说很重要?
大部分小企业或者初创公司需要在选择使用哪种移动端开发技术时都要做出关键选择。他们不断测试和评估技术,以形成快捷的开发效率以及强大的用户体验,无论客户端的移动设备或操作系统如何。无论推广渠道或设备如何,都有可能落后竞争对手。
更大挑战在于跨平台开发可能存在各种问题(坑)。在某些情况下,尽管开发人员尽了最大的努力,但用户体验却落后于实际的原生应用程序。近几年来,我们已经看到各种移动框架如React Native,Xamarin和Ionic的出现,这些框架能帮助程序员更容易高效地开发出最大化接近原生(Native)的体验,以及良好的性能。而2018年12月初的 Flutter Live 2018 上我们看到一个新玩家进入游戏 - 谷歌发布的Flutter1.0 稳定版。
从本质上讲,Flutter可能看起来像是各种Google技术和概念的大杂烩,但这会产生一个不可思议的强大移动端解决方案或框架。它基于谷歌的内部编程语言Dart,可以让Flutter访问Skia图形库 - 也是Chrome浏览器使用的。此外,Flutter与Google的Material Design规范无缝结合。
以下我列举13个理由来说明为什么选择Flutter比较“重要”,甚至是开始您的Flutter职业生涯。1. Flutter克服了跨平台方案的传统局限一个真正的跨平台方案长期以来一直是个技术瓶颈,我们不得不开发同一产品的多个版本(ios/android/pc/web)等。但是,实际上,用户体验以及性能通常落后于本机原生的应用程序,因为我们通常最终会使用间接通过在JavaScript中构建并使用JIT(Just In Time)编译的UI用户体验。
但使用Flutter,我们不仅可以获得“一次编写”方法的优势,还可以创建高性能的“本机”体验,因为Flutter App是一个提前编译的机器二进制可执行文件。它克服了其他跨平台解决方案带来的一些常见挑战。
2.开发人员将开发率提高n倍开发率的提高之一来自Flutter的“热重载”(AKA“有状态热重载”和“热重启”)。这些允许开发人员在不到一秒的时间内看到他们对应用程序状态所做的更改。
无需再运行另一个Gradle构建 - 只要保存就可以实时看到修改。对于开发人员来说,这往往很容易掌握 - 使用“热重载”时很少或根本没有学习曲线,因为默认情况下每次保存都会触发。但是,优势至关重要。开发时间通常会减少30-40%,因为Gradle的重建时间会减慢Android开发人员的开发速度一般需要很长时间才能应用每个修改。
3.前端和后端只用一种语言、代码与Android编码不同的是,后端(Java)引用前端(视图)的单独文件,而flutter使用单一语言(Dart)来完成工作。
Dart建立在其他语言的许多最流行的特性以及功能之上,而且不会失去Java或类似其他语言的熟悉程度
.Dart
是在开发人员的易用性的基础上构建的,从而使得许多常见任务变得更加容易。4.一个开箱即用的强大开发、设计体验。由于Flutter团队精心实施了Material设计规范,因此可以轻松创建开箱即用的强大UI组件。它有助于产生通常只能在本机应用程序中看到的流畅,清晰的体验,因为Flutter的发布版本是本机应用程序。
Flutter有一些小组件可以实现iOS的界面设计规范,让您在iPhone和iPad上也能获得原生的“感觉”。
5.有大量的开源软件包(轮子)大量的开源软件包可以帮助您更快,更轻松地开发APP,并且当前有许多软件包可以使许多复杂的功能变得更加容易实现。尽管仍然相对年轻,但由于越来越多的开发人员积极地为Flutter做出贡献,软件包库每天都在飞速发展。
6.与Firebase直接集成Firebase为云服务,云功能,数据库,托管,身份验证等一系列服务提供天然的支持。我们开发的基础架构可立即无服务器,冗余和可扩展。这意味着我们不必花费大量时间和资源来构建服务端。将它与用于敏捷开发或自动化开发和发布过程的工具(比如Fastlane)结合起来也很简单; 促进项目可持续交付。因此,我们不必在团队中拥有专门的DevOps支持。
7.Flutter支持各种IDE。使用Flutter敲代码时,我们可以从众多集成开发环境(IDE)中进行选择。起初我开始使用Android Studio,但后来我看到Flutter Live 发布会直播使用的是VS Code。这让我感到疑惑,我发现许多Flutter开发人员使用Visual Code。当我也更风使用VS Code时,我才体会到为什么这么多人更喜欢它。VS Code重量轻,速度更快,并且具有Android Studio和IntelliJ中提供的大多数功能。就个人而言,我已经转移到VSCode阵营了??,但你也可以继续使用其他一些IDE甚至vim,没必要切换自己所熟悉的IDE才开始在Flutter中工作。
8.UI统一性,一切都是小部件(widgets)一切都是一个小部件,Appbar,抽屉,Snackbar,List,Card等。我们很容易将一个Widget嵌入在另一个Widget中,以便通过将它包装在Center Widget中来做一些事情。这也有助于确保您的用户无论在哪个平台上运行都能获得体验。
9.适用于Android / iOS的不同主题为移动端分配不同的主题就像使用三元运算符(platform==IOS?IosStyle:androidStyle)一样简单检查用户正在运行的平台; 允许我们APP的UI让运行时决定使用哪些UI组件。
这是一个相同的示例代码,它检查当前平台,如果它的iOS,它返回紫色主色的主题。
return new MaterialApp(
// 默认主题
theme: new ThemeData(), builder: (context, child) {
final defaultTheme = Theme.of(context);
if (defaultTheme.platform == TargetPlatform.iOS) {
return new Theme( data: defaultTheme.copyWith( primaryColor: Colors.purple ), child: child, );
}
return child;
});
10.使用Code Magic进行持续集成。Code magic是2018年12月4日Flutter Live中的一个开源工具。
Code Magic很容易学习,完全免费!它是一种高度复杂的CI工具,专门针对Flutter进行了优化。Code magic使构建过程无缝。
11.使用2Dimensions Flare 可以更轻松地制作动画。我第一次尝试使用Flutter + Flare - Bouncy在Flutter live 2018期间也推出了这个牛X的在线工具,可以轻松创建非凡的UI或动画。它填补了UI设计人员和开发人员之间的空白,减少了应用UI或动画相关更改所需的时间。
我曾经使用过Flare,制作动画soeasy; 很好入门!可以非常细粒度的定制动画以及各种特效
12.PC端桌和WEB端每个开发者都被Flutter团队现在拥有在Web浏览器中运行的Flutter应用程序原型所震惊。之前的Top Secret项目“Hummingbird”在Flutter Live期间向全世界揭幕。现在就可以使用相同的代码轻松地为移动端,PC桌面设备和WEB网页端创建跨平台的应用程序。
13.来自Flutter团队和强大社区的支持Flutter社区是一个很好的地方,即使你没有的任何问题,你也可以通过倾听其他开发者回答别人的问题来学到很多东西。任何一个健壮的技术或语言都离不开强大的开发社区以及生态。
每种开发语言或开发解决方案都有它的一席之地,也许Flutter就是你的“雷神之锤”!
欢迎入坑Flutter!!!
以上,望采纳。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有