托盘

Electron是什么,都可用来做什么

发布时间:2023/6/28 20:40:33   
小儿白癜风怎样治疗 http://m.39.net/baidianfeng/a_4359108.html

在经济学中,“有需求的地方就有市场”在技术领域也不例外。电子因应需求而诞生。Electron推出后,不仅满足了现有的大部分发展需求,还创造了大量新需求,开辟了新生态。

在本章中,我们从Electron的起源、需求来自何处以及它如何满足这些需求开始。

Electron的由来

如果你想开发一个可以同时在Windows、Linux和Mac平台上运行的桌面GUI应用软件,那么没有很多可选的技术框架。早期,人们主要使用wxWidgets、GTK或Qt来完成这类工作。

这些框架大多是用C/C++语言开发的。由于语言开发效率的限制,开发人员很难通过它们快速完成桌面应用程序的开发。近年来,这些框架的现代编程语言绑定库层出不穷,如Python、C#、Go等。其中大部分由开源社区提供。然而,出于历史原因,仍然需要C/C++代码来使用这些框架的所有特性。高质量的节点js的绑定库很少。前端程序员更难通过这样的框架开发桌面应用程序。

StackOverflow的联合创始人杰夫·阿特伍德(JeffAtwood)曾表示,任何可以用JavaScript实现的东西都必须用JavaScript来实现。桌面GUI应用程序也不例外。近年来,两个重量级框架NW。js和Electron的出现为前端开发人员打开了这一领域的大门。

这两个框架都深深植根于中国人民。年左右,中国英特尔开源技术中心的RogerWang希望使用NodeJ来运营WebKit,并创建一个NodeWebKit项目,即NW。Js的前身。英特尔大力支持该项目,不仅允许王文瑞将部分精力投入到开源项目中,还允许他招募其他工程师来完成该项目。

年,故事的另一位主人公程昭加入了王文瑞的团队,并对nodewebkit项目进行了大量改进。后来,赵成离开英特尔,帮助github团队尝试将节点webkit应用到Atom编辑器。然而,由于当时nodewebkit还不稳定,而且nodewebkit项目的趋势已经不在赵成的控制之下,这一尝试以失败告终。

然而,赵成和github团队并没有放弃。相反,他们开始开发另一个类似于node-webkit的项目:AtomShell。这个项目是Electron的前身。赵成在这个项目上投入了大量精力,这是后来这个项目走红的关键因素之一。后来,github打开了这个项目,并最终将其重命名为Electron。

Electron的价值

Electron和NWjs框架基于Chromium和Nodejs,使前端程序员能够使用JavaScript、HTML和CSS知识轻松构建跨平台桌面应用程序。

传统桌面应用程序开发的困难似乎也变得极为容易。例如,绘制漂亮的界面可以使用更灵活的HTML和CSS功能,使用CSS动画或Web动画API可以实现简单的动态效果。

这两个框架封装了系统API,如系统对话框、系统托盘、系统菜单和剪贴板。当开发人员开发基于Electron的应用程序时,他们可以直接使用JavaScript访问这些API。诸如网络访问控制和本地文件系统访问控制之类的其他访问控制由节点J控制。通过这种方式,开发人员可以使用前端技术来开发大多数桌面应用程序。

前端技术是当今软件开发领域应用最广泛的技术之一。进入门槛很低,周边生态繁荣,历史悠久。与基于C++库开发桌面软件相比,基于Electron的开发更容易、更高效。由于JavaScript语言是一种用于解释和执行的语言,C++语言中固有的各种问题不再是问题。例如,C++没有垃圾收集机制。开发人员应该仔细控制内存以避免内存泄漏。C++语言具有许多复杂的特性,其学习难度曲线很陡。它需要针对不同的平台进行编译,并且很难分发应用程序。使用Electron开发桌面应用程序时,您无需担心这些问题。

在执行效率方面,如果前端代码足够优秀,它完全可以实现与C++应用程序媲美的用户体验。VisualStudio代码是一个先例。其他节点J本身也可以轻松调用C++扩展,Electron应用程序包含节点J环境。对于某些音频和视频编解码器或图形图像处理要求,可以使用节点J。

随着几十年来Web应用程序的普及,Web前端开发领域的技术生态已经足够繁荣。Electron可以使用js生态领域中几乎所有的web前端生态域和节点组件和技术解决方案。当前发布到

转载请注明:http://www.aideyishus.com/lkjg/5306.html

------分隔线----------------------------