Flutter同一套程序在不同平台构建运行探索

之前由于flutter还不完善,针对桌面端和Web端分别提供了不同的工程测试程序。
但是flutter更新速度很快,目前flutter最新版本显示已经将各平台整合在一起放进了flutter SDK中去。
下面分别在各大平台使用如下命令创建并运行flutter程序:

$flutter create myapp
$cd myapp
$flutter run

Android端运行:flutter run

iOS端运行:flutter run

Windows端运行:flutter run -d Windows

Linux端运行:flutter run -d linux

Mac端运行:flutter run -d macOS

Web端运行:flutter run -d Chrome

上述命令分别在不同平台创建,创建的工程都加入了对各平台依赖的支持,下面尝试整合一份支持不同平台的相同的工程分别拷贝在不同的平台下构建运行,工程结构如下图所示:

构建运行时会提示.packages所指示的flutter tool路径不对的错误导致无法运行,分析为不同平台对此文件有特定的路径写入操作导致,需要注意的是flutter create命令会自动根据当前系统的flutter环境情况创建针对当前环境的文件,直接移植到其他系统中会存在问题。
其实只要将lib文件夹中的所有dart文件(共享那些在不同平台上都能保持一致的代码,特定平台代码除外)拷贝至不同平台就可以实现同一份代码在不同平台构建运行,实际测试验证程序可行。

总之,flutter基本上实现了同一套代码在各平台的构建运行,但是flutter主要针对移动端进行优化,首选flutter进行移动开发为主。
一些调研拙见,仅供参考,欢迎交流!

原文地址:https://www.cnblogs.com/MakeView660/p/12807700.html