要想开发好 Electron,要拥有一名 C++ 人员专门编写插件,一位后端出生的人员操作 sqlite 数据库(数据库升级虽然可以兼容老版本,但是复杂的应用设计得不好数据库就完了),一位前后端都懂并且熟悉调用操作系统插件的全栈工程师开发,这样才能 hold 得住复杂应用。如果你说这样是不是太浪费了,那我觉得你没有开发过复杂的软件,一个好的软件(客户端),要考虑程序反编译(保护)、奔溃守护进程等异常搜集、用户自动升级(差量 or 全量)、本地数据库加密、通信、激活唤醒。。。。太多了,但是大部分前端做的就是后台管理系统,这也是一个悲剧。。。面试造火箭像以前我就做过将微信和 QQ 里面一些插件拿出来经过一些处理用在项目里,至此打开了新世界, 总之 Electron 非常考验技术,是晋升伪全栈工程师最快的路径。
推荐学习指数:五颗星
在 Electron 项目之前,跨平台的桌面应用程序开发不是特别容易,因为开发人员经常要为每个操作系统维护单独的代码库。尽管有一些通用的 api 来构建跨平台应用程序,但是创建自定义 GUI 元素还是很困难的。
Electron 引入了一种新的开发跨平台桌面应用程序的方法,它使用一个代码库和 web 技术(HTML、JavaScript 和 CSS)。开发人员可以用他们最喜欢的前端框架构建高度灵活和用户友好的 gui。此外,他们可以使用 HTML 和 CSS 轻松地定制 GUI 控件。此外,Electron 有一个用于本地系统操作的全功能 API。
然而,Electron 应用程序在用户计算机上消耗的资源高于平均水平,这意味着许多开发人员都要寻找轻量级的 Electron 替代品。在这篇文章中,我将讨论 Electron 的两个替代品:Tauri (金牛座) 和 Neutralino.js (中性伴子)。我还将向您展示如何安装和使用这些框架。
考虑到大量的选项,对于一个寻找熟悉的基于 web 的开发体验的 web 开发人员来说,什么是最合适的并不总是清楚的。
有了这一点,我想证明 Capacitor(可以选择使用 Ionic framework 等以移动为中心的 UI 框架)是 web 开发人员构建移动应用程序的最自然、最简单的方式。
"Electron for Mobile"
Electron 是一种非常流行的解决方案,用于使用标准 web 技术构建跨平台桌面应用程序。Web 开发人员可以使用他们用于 Web 应用程序的标准 HTML、CSS 和 JavaScript,包括任何流行的库,如 React/Angular/Vue、Tailwind 或 Material UI,并将这些应用程序变成强大的桌面应用程序。
这个简单的公式使 Electron 成为最受欢迎的跨平台工具包之一。如今,Electron 为许多流行的应用程序供电,如 Slack 和 VS Code。
如果你发现自己在问“除了移动应用程序,什么是 Electron 的模拟?”答案是电容器(Capacitor)。
与 Electron 一样,Capacitor 采用了在浏览器中运行的标准 web 应用程序,并通过访问强大的本机 API 和原生 UI(如 Camera 和 Filesystem)对其进行了扩展。这些 API 适用于 iOS、Android、Web 和 Electron。
Electron 通过 Chromium 捆绑在“web视图”中,而 Capacitor 使用 iOS 和 Android 上提供的标准嵌入式 web 视图本地控件。这意味着电容器(Capacitor)不会像 Electron 那样出现膨胀问题。
净效应(结果)是电容器(Capacitor)实际上是一种 “移动电子(Electron for Mobile)”。
React Native 或 Flutter 呢?
你可能会问自己:为什么 React Native(或Flutter)不是 “移动电子(Electron for Mobile)” 呢?
原因是 React Native 和 Flutter 没有使用标准的网络浏览器环境来运行应用程序。相反,它们是对系统 UI 控件和 API 的抽象,以提供构建应用程序的“类似网络”的体验,而不是真正的网络环境。两者都需要专门为每个平台编写的代码,并且不能使用特定于 web 的库或代码。