Flutter是什么?

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。简单来说,Flutter是一款移动应用程序SDK,包含框架、控件和一些工具,可以用一套代码同时构建Android和iOS应用,并且性能可以达到原生应用一样的性能。详情请参考Flutter简介 。

Flutter和React-Native、Weex这样的动态化框架有什么不同?

React-Native、Weex核心是通过Javascript开发,执行时需要Javascript解释器,UI是通过原生控件渲染。Flutter与用于构建移动应用程序的其它大多数框架不同,因为Flutter既不使用WebView,也不使用操作系统的原生控件。 相反,Flutter使用自己的高性能渲染引擎来绘制widget。Flutter使用C、C ++、Dart和Skia(2D渲染引擎)构建。在IOS上,Flutter引擎的C/C ++代码使用LLVM编译,任何Dart代码都是AOT编译为本地代码的,Flutter应用程序使用本机指令集运行(不涉及解释器)。而在Android下,Flutter引擎的C/C ++代码是用Android的NDK编译的,任何Dart代码都是AOT编译成本地代码的,Flutter应用程序依然使用本机指令集运行(不涉及解释器)。因此,Flutter能达到原生应用一样的性能。

同时,Flutter提供了一组自己的widget),由Flutter的framework和引擎管理和渲染。您可以浏览Flutter widget的目录。之所以不适用原生控件,是因为Flutter希望最终结果是更高质量的,如果Flutter使用原生系统widget,Flutter应用的质量和性能将受到这些widget本身质量的限制。例如,在Android中,有一组硬编码的手势和固定的规则来对它们进行手势冲突消歧。在Flutter中,您可以编写自己的手势识别器,该手势识别器是手势系统中的一级参与者 。此外,由不同人撰写的两个小工具可协调手势冲突消歧。

Flutter用什么语言开发?

Flutter 用Dart作为开发框架和widget的语言,详情请参考为什么Flutter选择使用Dart语言 。

Dart语言好学吗?

如果你有编程经验,尤其是了解Java或Javascript, 那么你回发现Dart学习起来非常容易,笔者只用了两个小时基本就开始愉快的使用Dart编码了。Flutter中文网编辑了一份可以帮助您快速学习Dart的Dart语言资源列表,希望对你有用。

Flutter支持像webpack一样“热重载”或者Android “instant run”吗?

支持,Flutter支持Hot Reload,通过将更新的源代码文件注入正在运行的Dart VM(虚拟机)中工作。这不仅包括添加新类,还包括向现有类添加方法和字段,以及更改现有函数。详情请参阅Flutter热重载 。

对于程序员/开发人员来说,要使用Flutter必须具备哪些经验?

Flutter对熟悉面向对象概念(类、方法、变量等)和命令式编程概念(循环、条件等)的程序员来说是很容易入门的。学习和使用Flutter,无需事先具有移动开发经验。 我们已经看到了一些不怎么有编程经验的人学习并使用Flutter进行原型设计和应用程序开发。

可以在我现有的原生应用程序中使用Flutter吗?

可以,您可以在现有的Android或iOS应用中嵌入Flutter。详情请参考原生应用程序中使用Flutter 。

Flutter支持文件读取、发起网络请求吗?

支持!详情请参考:

  1. Flutter 文件操作 。
  2. Flutter发起Http请求。

我在哪里可以获得Flutter学习资源?

您可以去谷歌Flutter官网,但是,现在也可以访问Flutter中文网了,Flutter中文网 上提供了官方文档翻译和一些其它案例、资源,您也可以去Github 上Flutter项目主页,去查看最新动态和提issue.

本文参考文档:Flutter中文网-Flutter FAQ .

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. Kivy A to Z -- 调试篇之在Android平台调试Python代码
  3. 五个维度:Android内存管理、优化
  4. 最近研究有关Android中的TextView
  5. Android使用Json和ksoap2调用WebService(WCF)
  6. Android显示原理
  7. 使用CMake来进行Android(安卓)NDK开发
  8. Android(安卓)study(1)--Intent
  9. 用trace32调试android kernel[msm7627为例]

随机推荐

  1. Android(安卓)开发遇到的坑
  2. 【Android(安卓)Native Code开发系列】一
  3. Android之父安迪·鲁宾
  4. 教你如何在 Android(安卓)使用多线程下载
  5. iOS、Android、WebOS系统体系架构的比较
  6. Android面试之----Android系统架构图及简
  7. Android之隐式意图(Intent)如何查找匹配
  8. Android上面TreeView效果
  9. Android(安卓)Handler 消息传递机制
  10. Android下的Hook初探