跨平台技术总结
- 移动端: React Native,Flutter,Weex;
- 小程序端: Taro,Uniapp;
- 桌面端: NW.js,Electron,Flutter for desktop,Tauri,Wails,
桌面
Electron
Electron最初是针对Atom代码编辑器所开发的,这是一个开源的框架,开发方为GitHub。它使用了最新的Node.js,允许开发者编写跨平台桌面UI,支持多种受欢迎的Web技术:HTML、CSS和JavaScript。微软、Facebook、Stack和Docker等多家公司都在使用Electron。
优点:
- 它依赖于每一个Web开发者都已经熟知的Web标准,让你可以用它编写桌面软件。
- 它允许开发者专注于核心功能,它去负责软件开发中复杂的部分
- 它为桌面应用提供了多种核心功能,例如自动更新、崩溃报告、安装器创建工具和一些具体的系统功能
缺点:
没有内置的MVC,无法完全支持Chrome平台。
NW
NW或Node Webkit可以使用HTML、CSS3、JavaScript以及WebGL等现代Web技术帮你开发跨平台软件。它针对所有Node.js的API和大多数第三方模块提供了支持,你可以用它创建Windows、Mac OS X和Linux软件。这个框架非常适合想要使用Web技术创建桌面程序的开发者。
优点:
- 有着大量的程序和游戏demo
- 提供了优秀的社区支持,可以轻松的找到各种问题的解决方式
- 相比Electron,其功能更加丰富,也更加成熟
缺点:
Electron一些处理复杂工作的功能,NW.js并未提供,例如自动更新和崩溃报告。而且使用NW.js需要你付出更多努力,并且准备额外的模块。