我想为网络(所有流行的浏览器)、移动设备(Android 和 iOS)和桌面(Windows、MacOS 和 Linux)创建一个应用程序。我知道在这种情况下,特定于平台的代码是不可避免的,但我正在寻找一种最小化它的方法。
我读到的一种方法是利用 JavaScript/TypeScript 堆栈,使用 React(针对 Web)、React Native(针对移动设备)和 Electron(针对桌面)。例如,我知道 Electron 的替代品是 NW.js。有些人建议 Capacitor.js 而不是 React Native。此外,React Native 支持 Windows 和 MacOS 的桌面应用程序,但似乎不支持 Linux。
另一种方法是 Dart 语言的 Flutter 框架。
您可以为此类跨平台开发建议哪些方法和技术堆栈?
我推荐世博会。请注意,如果您需要一些真正的本机功能,则必须从 expo 中“分离”,这在以后是可能的,但您可能希望从一开始就避免这样做。随着时间的推移,世博会的改进程度越来越高,这一点已经变得越来越不那么必要了,但这只是值得注意的事情。 https://docs.expo.dev/tutorial/introduction/