IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Flutter一路飙升,为何受欢迎?分享学习路程 -> 正文阅读

[移动开发]Flutter一路飙升,为何受欢迎?分享学习路程

前言

Flutter的人气飙升是有充分理由的。Flutter为开发人员提供了广泛的优势,可以加快开发速度,并带来更加用户友好的移动应用程序。

Flutter很容易上手,无论你是否有丰富的开发经验。经常使用其他语言(如Java,Python,C#或其他面向对象语言)的开发人员将毫无问题地将Flutter和Dart添加到他们的库中,因为Dart在结构和语法上都与这些语言相似。

此外,对于那些开发经验较少的人来说,Flutter的扩展小部件库使得构建应用程序变得容易,而无需编写大量代码;有几个平台使用Flutter来构建应用程序而无需编写任何代码!

Flutter有哪些优点

1、UI和业务逻辑适用于不同平台

基本上所有跨平台框架都提供了一种在目标平台之间共享代码库的方式,但是,Flutter是个例外,它允许共享UI代码和UI本身。

2、减少开发时间

根据我们的经验,构建一个普通的中型代码量Android应用也至少需要40秒才能交付到测试设备上;有时,调整布局中的较小外观可能需要花费很多时间。

3、加快产品上线速度

在大多数情况下,与单独为Android和iOS开发的同一个应用相比较,Flutter应用所需的开发工时至少要少两倍。

原因简单:你不必单独为特定的平台去编写代码,就可以获得所需的视觉效果;任何基于2D的UI都可以在Flutter中实现,同时无需与本机应用扯上关系。

4、媲美原生

Flutter直接对接到了底层的绘制引擎,而不像RN得需要先转化成原生系统提供的UI组件,所以理论上来说Flutter在性能方面应该是等同于原生的,但是由于系统通常会对原生应用有着诸多的优化,所以也只能含蓄的用“媲美”一词。

5、实现任何复杂、自定义动画UI

Flutter的最大优点之一是可以自定义屏幕上显示的任何内容,而不论它多么复杂。

尽管原生也可以实现自定义的UI,但对比起来所需的工作量投入是不同的。

6、独立渲染引擎

Flutter使用Skia来渲染到平台提供的canvas上,由于有了高性能引擎,Flutter内置的UI几乎可以在任何平台上启动。换句话说,不再需要调整UI即可将其迁移到目标平台上,极大地简化了开发过程。

7、针对平台的简单逻辑实现

除了UI外,许多当下移动应用非常依赖高级OS级别的功能,例如:获取GPS坐标、蓝牙通信、收集传感器数据、权限处理等,而其中许多功能在开发Flutter应用时是可以通过Google提供的即用型插件去打通的。

8、已不仅仅是移动端

最后,你不仅可以在移动设备上进行Flutter应用开发,而且也有Flutter for Web和Flutter Desktop Embeddings。

缺点:

那么对于以上优点除外当然还有缺点;缺点如下:

最大的问题其实是 Flutter 很不适合混合开发

相较于 react-native ,在混合开发时因为最终渲染树都是在同一个领域内,所以能够较为简单地和原生平台接壤,而 Flutter 的 UI 本身就独立于原生渲染树,混合成本大大提高。

另外 Flutter 类似于轻量级的游戏引擎,所以它很吃内存,特别是在 iOS 上,混合开发会导致应用大小和内存使用的大幅度增加,我一直不提倡 Flutter 使用混合开发。

如何学习Flutter呢?

网上的学习方法也是很多,但是学习的路线对新手不是很友好;这里我推荐这本电子手册《混合Flutter 3.0手册》,需要可以点击获取免费方式。

学习路线如下:

  • Dart语法:这是学习flutter必备语法基础
  • flutter之UI:主要以ListView、GridView、Widget等。
  • flutter之线程:async、awalt、事件队列、Future、Promise、Platform Runner等。
  • flutter启动流程:dart虚拟机、skia引擎、应用启动等。
  • framework框架:动画、渲染机制、通信机制等等。
  • flutter性能监控:工具学习与优化等。

思维导图:

文末(网上吐槽)

至于吐槽最多的应该就是 Flutter 嵌套恶心,是的, Flutter 的嵌套看起来很低等,但是它为什么这这样设计?

其中一个原因是因为 Flutter 中你写的 Widget 并不是真正的控件 ,在 Flutter 的 dart framework 里, Flutter 的状态管理和渲染需要经历 Widget -> Element -> RenderObject -> Layer 等的变换过程 ,开发者编写的 Widget 代码,其实在 Flutter 中定位更像配置文件,而这些配置文件可以通过模版的方式来减少不必要的嵌套,其中官方的 Container 就是很好的例子。

所以不同场景应该选择不同框架,没有最好的,只有最合适的。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:39:30  更:2022-11-05 00:41:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 19:45:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码