Flutter的安装和配置
来源:互联网
原文博客地址: Flutter的安装和配置
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面, 并且是未来新操作系统Fuchsia的默认开发套件
在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的----Flutter中文网
Flutter同时支持Windows、Linux和MacOS操作系统作为开发环境,并且在Android Studio和VS Code两个IDE上都提供了全功能的支持
Flutter以Dart语言为开发语言(之后的文章会介绍)
跨平台框架
在Flutter诞生之前,已经有许多跨平台UI框架的方案,比如基于WebView的Cordova、AppCan等,还有使用HTML+JavaScript渲染成原生控件的React Native、Weex等(虽然我只用过React Native)
基于WebView的框架
优点很明显,它们几乎可以完全继承现代Web开发的所有成果(丰富得多的控件库、满足各种需求的页面框架、完全的动态化、自动化测试工具等等),当然也包括Web开发人员,不需要太多的学习和迁移成本就可以开发一个App
缺点也很致命, 在对体验和性能有较高要求的情况下, WebView的渲染效率和JavaScript执行性能太差。再加上Android各个系统版本和设备厂商的定制,很难保证所在所有设备上都能提供一致的体验
React Native一类的框架
将最终渲染工作交还给了系统,虽然同样使用类HTML+JS的UI构建逻辑,但是最终会生成对应的自定义原生控件,以充分利用原生控件相对于WebView的较高的绘制效率
同时这种策略也将框架本身和App开发者绑在了系统的控件上,不仅框架本身需要处理大量平台相关的逻辑,随着系统版本变化和API的变化,开发者可能也需要处理不同平台的差异,甚至有些特性只能在部分平台上实现,这样框架的跨平台特性就会大打折扣
Flutter框架
Flutter则开辟了一种全新的思路,从头到尾重写一套跨平台的UI框架,包括UI控件、渲染逻辑甚至开发语言
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, 支持Windows、Linux和MacOS操作系统
我使用的系统是MacOS操作系统
系统要求
原文博客地址: Flutter的安装和配置
Flutter是谷歌的移动UI框架,可以快速在iOS和A