Flutter给我们提供了从单一代码库开发和维护跨平台应用的能力。其实它依然是一项正在进行中的工作,但平台支持正在迅速改善。随着近来Flutter和Canonical团队宣布合作,在Linux上开发和布署Flutter应用比往年任何时侯都要容易。
我迫不及待地想测试一下,但我只有一台Windows电脑。其实,我有双启动、虚拟化等选项,但它们都不能提供无缝的开发体验。更不用说设置这一切的麻烦了。
上周,KaliLinux的最新版本引入了许多功能,包括kali-win-kex,它在WSL2上提供了一个看似原生的桌面体验。接出来我想到的是"让我们在这个东西上运行一个Flutter吧!"。
它真的是
Linux的Windows子系统
WSL是Windows10的一个兼容层,它容许我们运行基于Linux的命令行工具。谷歌更进一步linux 应用,将WSL2建立在真正的Linux内核之上,这就意味着在性能和功能上有了明显的提高。WSL2提供了足够的速率和稳定性,以获得良好的开发体验。所以linux 软件,让我们开始设置吧。
第一步:安装WSL
以管理员身分启动Powershell,之后运行这个。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
第二步,重新启动第三步:启用WSL和虚拟机平台。
以管理员身分启动Powershell,运行这两个命令。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
第四步,重新启动!第五步:安装Linux内核
从这儿下载并安装WSL2Linux内核:aka.ms/wsl2kernel。
步骤6:将默认版本设置为WSL2。
以管理员身分启动Powershell并运行。
wsl --set-default-version 2
如今WSL2早已安装完毕,我们打算安装KaliLinuxDistro。
KaliLinux
去谷歌商店下载一份KaliLinux。
是的,就是如此简单;)
我们可以像其他应用程序一样简单地启动Kali。第一次启动时,须要一些时间来设置,并要求你创建一个用户名和密码。
Win-Kex
WindowsKaliExperience或win-kex提供了带有XFCE桌面的Kali图形用户界面,通过虚拟网路估算(VNC)联接到Windows。所有的东西都是本地的,所以它可以立刻启动,滞后性可以忽视不计。通过执行这个命令来安装win-kex。
$ sudo apt update && sudo apt upgrade && sudo apt install kali-win-kex
这个命令将安装许多组件,包括XFCEDE,TigerVNC服务器和查看器。这须要一些时间,请耐心等待:)安装完成后,我们可以用这个小命令启动GUI。
kex
这个小命令可以在Linux端启动VNC服务器,在Windows端启动查看器,之后一次性联接它们.真好!
这就是它的样子
我早已为Flutter项目构建了一个文件夹;)
几件事情
谨记这两点,防止何必要的错误,保持顺利。
让我们Flutter?
Canonical早已让使用snapd在Linux上安装Flutter显得超级简单。并且WSL官方并不支持snapd,变通的方式也不是很简单。所以,我们还是采用自动的方法,从这儿下载Flutter。
下载后,只要解压到你喜欢的地方就可以了:)
Flutter文档中建议更新路径,跨终端会话使用Flutter。并且这儿有一个小问题,我们不是只运行在Linux上。我们把它运行在Windows之上,它可以访问Windows文件系统。
这意味着,假如我们在Windows上安装了Flutter,每每我们运行flutter命令时,它才会查看Windows方面的东西,而忽视Linux安装的Flutter,虽然我们更新了路径。我晓得,这很奇怪,但是超级可恶(不得不硬着头皮学这个)。
所以这儿有一个变通的办法!我们可以通过这样的访问来运行flutterdoctor。
$ /flutter/bin/flutter doctor
# for me, it's ~/Documents
$ ~/Documents/flutter/bin/flutter doctor
运转得挺好!并且,它太长了!这不是应当的linux 应用,对吧?
为了解决这个问题,我们将使用Bash的别称功能。简单地运行这个命令来创建flutter别称。
$ alias flutter='/flutter/bin/flutter'
这将会在当前终端会话中完美地工作。
如今,为了使它在终端会话中持久存在,我们必须编辑.bashrc文件。
$ nano ~/.bashrc
在文件中,在确切的位置添加以下一行。
# enable color support ls and add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias flutter='~/Documents/flutter/bin/flutter' // add right here!
...
fi
按ctrl+x退出编辑器按y和enter保存更改内容。
如今,只需键入这个命令,使别称在当前会话中可用。
$ source ~/.bashrc
好吧,有好多步骤,但我们早已完成了!现今flutter命令如同我们期望的那样工作了:)
开发Linux
我们须要设置一些东西来开发Linux上的桌面应用。
将Flutter通道改为开发。
$ flutter channel dev
启用Linux桌面的开发。
$ flutter config --enable-linux-desktop
我们如今须要的是Linux开发的一些实用工具。你可以运行flutterdoctor来检测你所须要的一切。一切都可以在一个命令中安装。
$ sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev
等待安装,之后再度运行flutterdoctor,检测最后一次。
在这儿,我们有它!Flutter,完全配置好了,可以在Windows10上开发Linux应用。
如今我们可以直接在发行版上编撰Flutter应用程序了。或则,我们可以使用VSCodeRemoteWSL扩充来在Windows上编撰代码并在Linux上运行。这是一种更流畅的体验。
VSCode
安装扩充。
步入所需的目录,之后输入。
$ cd ~/Desktop/Flutter ## go to desired directory
$ code . ## open VS Code
如今linux运维招聘,VSCode将在Linux文件系统的那种目录下打开。甚至集成的终端也会默认为Bash。
你还须要安装WSL的Flutter和Dart扩充。
好了!
一切就会像你期望的那样工作。只是flutterrun只会在从LinuxGUI(kex)调用时建立应用程序。当从集成终端调用时,它将难以定位显示,应用程序将难以运行。
这么,我们来瞧瞧开发体验是如何的吧!
…
好了,就到这儿吧!
希望你喜欢这个企图简化跨平台开发、提高开发者效率的手册/小方法。Flutter的目标是成为通用SDK,而Windows则在积极尝试成为开发者的终极平台。而从目前的进展来看,这也许并不遥远。
瞧瞧我之前的作品吧!
FlutterGetXEcosystem~状态管理。
使用BLoC构架的Flutter月历
有哪些问题或建议吗?把它们都置于评论区:D
喜欢这篇文章吗?请按住按键!这将激励我写出更多更多的文章!你可以在LinkedIn上找到我,跟踪我的GitHub,关注我的Twitter或电子电邮。
你可以在LinkedIn上找到我,跟踪我的GitHub,在Twitter上关注我,或则给我发短信:,进行任何方式的技术讨论。
文章评论