您当前的位置:首页 >> 机器人
机器人

Windows版Flutter应用开发体验远达不到Android和iOS的高水平

发布时间:2025-08-17

lin;而对于Windows,我们就会选取.NET。无论如何更为必要,因为该词汇只能在易用性和稳定性之间夺得来得佳的平衡点,同时还可以减不算开发新人员撰写成层面所要花费的整整。

另外,现在已有数以千计(当前约有281,952 个)的NuGet包内,它们实际上隔开了Windows所有的该系统和外围设备。在Windows上紧密结合Flutter层面时,认识C#与网络服务走去廊的也就是话说知识,可以降低撰写成特定于网络服务的文档的顺利完成度。

Windows网络服务上的Flutter层面理论上上只是Win32层面。如果自已撰写成特定于网络服务的文档,你只能运用于C++撰写成文档。然而,运用于C++的NuGet包内生产量更为不算。如果你自已运用于特定于网络服务的该系统,就仅仅要花费大量整整在Windows上用C++再一发挥作用这些该系统。

核心缺陷

假设你自已在Windows上撰写成一个Flutter层面,但你的层面决意透过特定网络服务特定的该系统,可惜未现成的特可以运用于,于是你决定自己写成一个。

那么,上哪儿去找基本上的PDF呢?Flutter其网站上有很多Android和iOS基本上的PDF,所以我们理论上照猫画虎也能在Windows上发挥作用。例如,这个网页(#plugin-platforms)话陈述了如何透过Kotlin创立AndroidJavaScript,如何透过Swift创立iOSJavaScript,却未Windows的基本上话陈述。

经过一番关键字后,我找到了Google Codelab于2022 年 1 月公开发表的这篇篇文章(#5),其中所话陈述了创立WindowsJavaScript的也就是话说方法。我可以按照这篇概要的话陈述,紧密结合JavaScript的也就是话说的软件系统。

前面,我仅仅发挥作用JavaScript的该系统。这个更进一步更为令人沮丧,而且极易出错,我更为自已要能拥有pigeon这类的特,在层面和撰写成的JavaScript之间聚合功能性公共安全的页面。然而,这个特只默许Android和iOS。

所以,我仅仅从零开始撰写成网络服务走去廊发挥作用。但是,如果我在原生文档中所碰到缺陷,该怎么办?

关于这个缺陷,以外始终是未解失落。Flutter其网站未共享任何基本上的PDF,所以你仅仅自己实验,忘了能否找到合适的法则。

如此一来,我们面对着的困境就显而易见了,根据我的知识,如果JavaScript掀开原生极其,就就会造成了桌面上该系统上的层面衰弱,并且Android Studio就会掀开最新消息“与设备的相连丢失”。在经过一系列故障排除最后,以前发掘出我仅仅敞开Visual Studio,将仿真器可用到会话,然后复现层面程序衰弱。Visual Studio才就会俘获衰弱,并说明了造成了原生衰弱的文档的方位。

这仅仅,在仿真的更进一步中所,我仅仅通过Android Studio运行层面程序,然后在衰弱遭遇以前疯狂地更进一步再一相连仿真器。你仅仅装设一个Visual Studio的JavaScript,例如ReAttach,马上会话经常出现,然后可用到它。然而,这个更进一步也未基本上的PDF话陈述,即便是这种法则能行得通,也就会十分蹩脚,而且毕竟你也不确认自己的不应确实仍要确。

但在仿真器成功地可用到会话最后,我对理论上情况就有了一定的认识。接下来,我仅仅页面原生WindowsJavaScript所依赖的另一个特。但是Visual Studio有一个很酷的GUI,所以只需游标手柄桌面上就可以去掉指称了,是吗?不,并未那么简单。

你还仅仅认识CMake

我发掘出,在Visual Studio中所去掉JavaScript的指称不自已影响底层新项目。我更进一步了一下,去掉指称,然后检查Git中所的调整,却发掘出什么都未。

我花了大量整整深入研究这个缺陷,以前发掘出Windows上的层面其实是CMake新项目。我们在Visual Studio中所配置的一切,包内括解决方案元数据、新项目元数据,都却是是CMake的紧密结合催化反应而已。只要运行flutter build windows,这些元数据就就会被隔开。

因此,我不能运用于Visual Studio来配置新项目、去掉指称或做任何心里。我仅仅深入研究一下如何通过CMake来顺利完成这些工作。此外,我甚至不能通过 Visual Studio装设NuGet包内,我只能断定如何通过CMake装设这些NuGet包内。

我不太熟悉CMake,它于22之前问世,看起来更为庞大而十分复杂。开脱来讲,鉴于C++生态该系统的广度与深,以及由C++用以链紧密结合的设备生产量,CMake而今的规模也早先。认识CMake与Flutter Windows新项目之间的交互是一项繁重的护航,但为了保证新项目顺利顺利完成,你只能有一定相对的认识。

至于基本上PDF,更为欠缺,甚至意味著压根未。其实我看来这个护航顺利完成度不是除此以外大。任何刊遭遇产级层面的人都就会碰到此类缺陷。就我而言,我更进一步Sentry Native内嵌到我的Flutter桌面上层面中所,这样在层面衰弱时,我就就会收到一些通知。无论自已内嵌哪个特,都仅仅弄清楚运用于哪个包内,然后将什么细节去掉到CMakeLists.txt中所。

C++是一门顺利完成度比Swift或Kotlin来得高的词汇。然而,近代C++已大幅简化,但你始终仅仅藏身处指针和指称,注重稳定性的层面程序相比较仅仅注意这些方面,对于桌面上层面而言,如果能许诺来得好的开发新环境,那么壮烈牺牲一些稳定性,也是可以接所受的。

CSDN仅限完整版自视觉中所国

认识C++和CMake不是一件易事,这个决定无疑就会削弱在Windows上紧密结合Flutter层面的实用性。跨网络服务开发新本不该来得容易,而且我并不反对研习每个网络服务的功能性,然后地面部队层面。

但是,当我敞开层面的错误日志,然后疯狂地在网站关键字“如何运用于CMake相连特”时,就实在积蓄憔悴。有人决定在Win32基本上紧密结合Windows海外版的Flutter层面,他们负责任也仅仅配置CMake,对不对?为什么他们未写成一些PDF呢?

除了上述缺陷基本上,还有一些小麻烦,比如pubspec.yaml未上面成可执行元数据,因此地面部队来得新就会来得加困难。虽然这个缺陷所自已整修,但这仅仅你仅仅自定义来得多的紧密结合更进一步,而且随着Windows海外版Flutter层面的成熟,你负责任仅仅回头再一改动这个地方。以外,Windows海外版的Flutter曾为是“平衡的”,但其最也就是话说的开发新流程、如何创立JavaScript以及如何仿真,实际上未任何基本上的PDF。这一点更为好像。

预见该何去何从?

我看来Flutter是的软件开发新中所的一个革命性前言,无论如何随着整整的推移它将带进首选用以。但是,与开发新Android或iOS层面来得,Windows海外版层面的开发新互动相差甚远。

我不后悔更进一步开发新Windows海外版的Flutter层面,这是一次良好的研习历程。我花了几天整整寻找如何在不运用于CMake的只能相连特,并更进一步运用于C++撰写成我的JavaScript。有一次,我花了三天整整深入研究内嵌,但以前还是不得不放弃,用git reset拆散了全部成果。但我在这个更进一步中所学到了很多有价值的知识。

我担心人们就会以为紧密结合Windows海外版的Flutter层面与紧密结合方向移动层面的法则相同,自觉却发掘出这两种层面的紧密结合截然各不相同,从而变得怒不可遏。在运用于Flutter撰写成Windows层面时,由于不清楚基本的方法,有时就就会实在一头雾水。

很久以前,Android海外版的Flutter层面也曾为是“平衡的”,就连iOS海外版的Flutter也今夕各不相同光景,这两个网络服务都取得了极大的改动,而今Windows仍要处在其发展的轨道上。无论如何随着整整的推移,它也就会逐步取得完善。但是,Android海外版在刊发时,也不决定我们运用于C++撰写成JavaScript,我们可以运用于Java,这门词汇运用于起来来得加方便使用。而反观Windows海外版的Flutter,Win32 和 C++却成了坚实,我根本无法自已象如何改动二者,才能让Windows上的互动超出与Android 或iOS相同的总体。

以外,Windows海外版的Flutter意味著确实很平衡,因为核心的产品不自已遭遇太多衰弱,或者根本不自已衰弱。但它仍有一种“不是亲生”的好像。撰写成JavaScript很蹩脚,仿真很蹩脚,CMake的运用于顺利完成度很大,等等。自已一自已,Windows海外版的Flutter仅仅历程多不算改动,才能超出与方向移动海外正式版相同的总体。好像以外Windows海外版仍所处各不相同的阶段,比如“预刊发”?

考虑到以外在Flutter 3.0中所,Linux和macOS的默许已超出“平衡”,尽早了投入生产的准备(尽管也忽视类似的PDF),我们仅仅自已要Flutter的“平衡”不是一个泛泛的ID。

理自已只能,我们自已要能有一个Flutter的Windows一个社区法律顾问(甚至是桌面上该系统一个社区的法律顾问)记录所有缺陷,话陈述CMake的紧密结合更进一步,以及如何将原生特与Flutter层面页面起来。虽然我们并不知道Windows海外版层面的开发新顺利完成度比方向移动层面来得高,但至不算我们能有一些如何将它们集合起来的PDF。

我并不是话说,你不不该紧密结合Windows海外版的Flutter层面,却是我们仅仅认清现实:Windows上的原生的软件环境是一片野草密布的荒原,只有寥寥几个WPF层面,而UWP层面的生产量就来得不算了,还有一些Electron或结合层面可以意味着开发新人员的需求。我无论如何,在预见几年Flutter将带进这一层面内强有力的劲敌。

不过,就以外而言,虽然我始终很害羞Flutter,却不并不知道如何把这种害羞之情传达给CMake。

*本文由CSDN翻译,未经许可证,禁止刊出。

原文页面:

昆明看白癜风去哪里
昆明看男科哪家医院专业
成都白癜风医院哪家正规
南京肛肠医院怎么样
北京看眼科哪家比较好

上一篇: 锦州市疫情防控每日份文件

下一篇: 饮食照着这4点认真,血压或会心甘情愿降下来,高血压的人别偷懒

友情链接