Flutter 完成全平台制霸:实现 Windows 应用支持
作者 | 李俊辰、王强
Flutter 作为跨平台开发利器,一经推出便在业内赢得了不错的口碑。Flutter 最初是应用于 iOS 和 Android 应用开发的,后扩展到了 Web、macOS 和 Linux,现如今也可以开发 Windows 应用了,补齐了全平台的最后一块拼图。
Flutter 作为谷歌出品的 UI 框架,凭借“多端一致”和“渲染性能”两方面的优势,深受广大开发者的推崇。谷歌曾表示 Flutter 的目标是提供一个可移植的框架,从而在各种平台上都能构建以原生速度运行的 UI。这也意味着,在谷歌眼中,Flutter 不止于跨平台开发,而是全平台制霸。
今年 7 月 8 日谷歌发布了 Flutter 在 Linux 上的第一个 Alpha 版本。而现在,谷歌宣布 Flutter 在 Windows 上的 Alpha 版本正式发布。
对于仅 Windows 10 就有超过 10 亿安装量的桌面操作系统来说,Flutter 的这个版本已经让人等了很久了。Flutter 的 Alpha 版最初于 2017 年在谷歌的 I/O 开发者大会上发布,将近一年后发布了 Beta 版。Flutter 最初是为 Android 和 iOS 应用开发而设计的,但此后已扩展到了 Web、macOS 和 Linux 几大平台上,目前这些平台的分支都处于 Alpha 或 Beta 版本状态。
开发人员在为桌面或移动设备设计应用时,必须考虑很多平台专属的独特因素,例如不同的屏幕尺寸以及人们与设备的交互方式。在智能手机上,人们通常使用基于触摸和滑动的手势,而键盘和鼠标通常是 PC 和笔记本电脑上的标配。这意味着 Flutter 必须扩展其支持范围以涵盖其他输入选项。
一如谷歌所言,Flutter 利用谷歌自己开发的 Dart 编程语言,使开发人员能够构建出在各个运行平台上都有原生体验的应用,并尽可能共享代码,以避免重复工作并“拥抱不可避免的差异”。
像其他跨平台框架一样,Flutter 鼓励开发人员专注于要构建的内容,而不是应用的目标设备。对于没有资源为多个平台单独安排开发力量的较小公司或独立开发人员而言,Flutter 的意义要大得多,尽管它还能让较大的公司简化和增强其开发流程。
制作集成开发环境(IDE)的软件开发公司 JetBrains 的最新报告发现,Flutter 的受欢迎程度在过去一年中提高了 9 个百分点,在跨平台移动框架中仅次于 Facebook 的 React Native。
根据谷歌的说法,Flutter 仅在 Google Play 商店上就已经为 Android 生成了 100,000 多个应用,其中包括来自 eBay 等知名公司的应用。随着它继续向更多平台开放支持,它的采用率也有望继续提升。谷歌表示,他们自己的数据表明 Flutter 开发人员中有超过半数正在使用 Windows,因此为微软这个无所不在的操作系统提供原生桌面支持是非常有意义的。
适用于 Windows 的 Flutter
在 Windows 机器上安装 Flutter SDK 之后,你需要在路径中包含 Flutter 目录的控制台窗口中,运行以下命令以查看是否需要任何平台依赖项来完成设置:
content_copy
C:srcflutter>flutter doctor
该命令会检查开发的环境并显示 Flutter 安装状态的报告。并输出开发者可能需要安装的其他软件或要执行的其他任务。例如:
[-] Android toolchain - develop for Android devices
• Android SDK at D:Androidsdk
✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ
• Try re-installing or updating your Android SDK,
visit https://flutter.dev/setup/#android-setup for detailed instructions.
将所有缺少的依赖项安装完成后,开发者可以再次运行 flutter doctor 命令以验证是否正确设置了所有内容。更多安装方面的问题可以查看 Flutter 的官方博客:
https://flutter.dev/docs/get-started/install/windows
目前,Flutter 支持 Windows 7 及更高版本的设备,谷歌表示将在未来几个月内继续“稳定”Flutter 的 Windows 版本。
延伸阅读
https://venturebeat.com/2020/09/23/google-expands-its-flutter-development-kit-to-windows-apps/
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- javaAPI操作hadoop hdfs
- java中各种距离换算
- SAP Spartacus HttpParamsURIEncoder单元测试文件备份
- 微PE制作U盘启动盘,并安装Win10
- Angular单元测试如何只执行指定的测试用例,提高测试速度
- 院长智能部署Frp内网穿透---支持多系统
- dotnet OpenXML 元素 cNvPr NonVisual Drawing Properties 重复 id 标识处理
- Magicodes.IE之花式导出
- vue列表点击切换颜色
- JVM加载过程科普
- 我没学过计算机,是怎么接了四个私活还挣了两个 iPad 的?
- Helm安装Prometheus Operator
- 【每日一题】【vue2源码学习】vue如何检测数组的变化
- JavaScript 实现输入框内容一键复制(附上 Vue 3 实现方式)
- python 迭代器/iterator与生成器/generator的区别