标签 Electron 下的文章

ReactOS 项目冒泡表示还活着

ReactOS 是一个开源的操作系统,旨在复制微软的 Windows,可以不加修改地运行许多 Windows 应用程序。ReactOS 的上一次更新是在 2021 年 12 月。此前它的发布计划是每三个月释出一个新版本,但自从 0.4.14 之后就再无动静。面对用户的疑问,该项目发文称其还活着,只是之后的版本发布会根据质量而不是数量。新的发布规则是“一个新版本要达到 `发布’ 状态,需要有合理的低回归量(不超过 20个)”。但他们并没有给出下一个版本预计发布的时间,不过你可以随时尝试其每夜构建版本。

消息来源:ReactOS
老王点评:其实,没事发个新版本表示活着,至少是给社区一些信心的做法。

WhatsApp 关闭了基于 Electron 的桌面应用

当 WhatsApp 处于早期开发阶段时,开发者创建了一个基于 Electron JavaScript 框架的桌面应用程序,它在 Windows 和 macOS 上都能使用。大约四周前,这个桌面应用程序的主屏幕上出现了一个倒计时器,宣布其即将关闭。WhatsApp 让用户切换到其原生应用程序上,新的原生应用程序已经稳定运行了一年左右。

消息来源:Android Police
老王点评:有了原生应用,谁还用 Electron 的呀。

GitHub DDoS 攻击了一个重要的开源项目小网站

一个 GCC 核心的开源算术库 GMP 项目所使用的服务器遭受到了大量的来自 GitHub 的 IP 的连接。无奈之下,该项目只能封禁了数百个微软的 IP 地址。微软发现这是一个被复刻了 700 多次的存储库上的 Actions 工作流导致的。一位 GitHub 用户更新了 FFmpeg-Builds 项目中的一个脚本,该脚本从 gmplib.org 提取内容。这种活动应该不是恶意的,但 GMP 有限的基础设施无法应对这个量级的并发请求。这并不是第一次有软件项目因为繁重的流量需求而喊出被 DDoS。

消息来源:The Register
老王点评:这个事情里面没有主动的恶意行为者,但是 GitHub 这么大体量,稍有不慎对其它微小的基础设施都是毁灭性打击,所以,微软应该对其基础设施和应用更加慎重一些。

使用 Nativefier 和 Electron 从任何网站创建桌面应用。

 title=

Mastodon 是一个很好的开源、去中心化的社交网络。我每天都在使用 Mastodon,通过它的网页界面使用 Mastodon 可能是最常见的方式(尽管因为开源,它有许多不同的交互方式,包括基于终端的应用和移动应用),但我更喜欢专门的应用窗口。

最近,我发现了 Nativefier,现在我可以在我的 Linux 桌面上把 Mastodon 或其他任何网页应用作为桌面应用来使用。Nativefier 将一个 URL 用 Electron 框架包装起来,它将开源的 Chromium 浏览器作为后端,但使用自己的可执行程序运行。Nativefier 采用 MIT 许可证,可用于 Linux、Windows 和 MacOS。

安装 Nativefier

Nativefier 需要 Node.js。

安装 Nativefier 只需运行:

$ sudo npm install -g nativefier

在我的 Ubuntu 桌面上,我必须先升级 NodeJS,所以当你安装 Nativefier 时,一定要检查需要哪个 Node 版本。

安装完毕后,你可以检查你的 Nativefier 的版本,以验证它是否已经安装:

$ nativefier --version
45.0.4

运行 nativefier --help 列出了应用支持的所有选项。

设置

我建议你在开始用 Nativefier 创建应用之前,创建一个名为 ~/NativeApps 的新文件夹。这有助于保持你的应用有序。

$ mkdir ~/NativeApps
cd ~/NativeApps

为 Mastodon 创建一个应用程序

我将首先为 mastodon.technology 创建一个应用。

使用以下命令:

$ nativefier --name Mastodon \
  --platform linux --arch x64 \
  --width 1024 --height 768 \
  --tray --disable-dev-tools \
  --single-instance https://mastodon.technology

这个例子中的选项做了以下工作:

  • --name:设置应用的名称为 Mastodon
  • --platform:设置应用程序的平台为 Linux
  • --arch x64:设置架构为 x64
  • --width 1024 --height 768:设置应用启动时的大小
  • --tray:为应用创建一个托盘图标
  • --disable-dev-tools:禁用 Chrome 开发工具
  • --single-instance:只允许应用有一个实例

运行这条命令会显示以下输出:

Preparing Electron app...

Converting icons...
Packaging... This will take a few seconds, maybe minutes if the requested Electron isn't cached yet...
Packaging app for platform linux x64 using electron v13.4.0 Finalizing build...

App built to /home/tux/NativeApps/Mastodon-linux-x64, move to wherever it makes sense for you and run the contained executable file (prefixing with ./ if necessary)

Menu/desktop shortcuts are up to you, because Nativefier cannot know where you're going to move the app. Search for "linux .desktop file" for help, or see https://wiki.archlinux.org/index.php/Desktop_entries

输出显示,文件被放置在 /home/tux/NativeApps/Mastodon-linux-x64。当你 cd 进入这个文件夹,你会看到一个名为 Mastodon 的文件。这是启动该应用的主要可执行文件。在你启动它之前,你必须给它适当的权限。

$ cd Mastodon-linux-x64
chmod +x Mastodon

现在,执行 ./Mastodon 就可以看到你的 Linux 应用启动了!

 title=

为我的博客创建一个应用

为了好玩,我也要为我的博客创建一个应用。如果没有 Linux 应用,拥有一个技术博客有什么用?

 title=

命令是:

$ nativefier -n ayushsharma \
  -p linux -a x64 \
  --width 1024 --height 768 \
  --tray --disable-dev-tools \
  --single-instance https://ayushsharma.in

$ cd ayushsharma-linux-x64
chmod +x ayushsharma

findmymastodon.com 创建一个应用

最后,这是为我的宠物项目 findmymastodon.com 制作的应用。

 title=

命令是:

$ nativefier -n findmymastodon \
  -p linux -a x64 \
  --width 1024 --height 768 \
  --tray --disable-dev-tools \
  --single-instance https://findmymastodon.com

$ cd findmymastodon-linux-x64
chmod +x findmymastodon

创建 Linux 桌面图标

应用已经创建并可以执行了,现在是创建桌面图标的时候了。

作为示范,以下是如何为 Mastodon 启动器创建一个桌面图标。首先,下载一个 Mastodon 的图标。将该图标放在其 Nativefier 应用目录下,名为 icon.png

然后创建一个名为 Mastodon.desktop 的文件并输入以下文本:

[Desktop Entry]
Type=Application
Name=Mastodon
Path=/home/tux/NativeApps/Mastodon-linux-x64
Exec=/home/tux/NativeApps/Mastodon-linux-x64/Mastodon
Icon=/home/tux/NativeApps/Mastodon-linux-x64/icon.png

你可以把 .desktop 文件移到你的 Linux 桌面上,把它作为一个桌面启动器。你也可以把它复制到 ~/.local/share/applications 中,这样它就会出现在你的应用菜单或活动启动器中。

总结

我喜欢为我经常使用的工具配备专门的应用。我最喜欢的一个 Mastodon 应用特点是,当我登录到 Mastodon 之后,我就不必再次登录了! Nativefier 在底层运行 Chromium。所以它能够像其他浏览器一样记住你的会话。我想特别感谢 Nativefier 团队,他们让 Linux 桌面离完美更近了一步。

本文最初发表在 作者的网站 上,并经授权转载。


via: https://opensource.com/article/21/11/linux-apps-nativefier

作者:Ayush Sharma 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

三年半后,X.Org 服务器重焕新生

X.Org 服务器的上一个版本 1.20 发布于 2018 年,三年半后,在新的维护者的努力下 发布 了新的版本 1.21 —— 哦不,现在流行飙版本号了,新版本号为 21.1.0。虽然 Wayland 有很多优势,但是 X.Org 服务器仍然被广泛使用,Wayland 对这些使用 X.Org 服务器的应用的兼容还不够好,而且 X.Org 服务器也有一些 Wayland 所没有的独特优势。去年,X.Org 服务器项目的长期维护者说它几乎被放弃了,它能复活要感谢新的维护者 Kanapickas,他在 7 月份站出来 接过了开发维护工作。有用户评价说,“不是所有的英雄都穿斗篷”。

老王点评:很多开源项目不是软件老了,而是维护软件的人老了啊。

国家鼓励金融部门拥抱自由和开源软件

据报道,该文件 “鼓励金融机构将开源技术应用作为提高核心技术自主可控能力的重要手段”,“积极参与开源生态建设,依法合规分享开源技术应用经验,共享开源技术研究成果”。并提出“金融机构应当遵循开源技术相关法律和许可要求,合规使用开源技术”。文件要求遵循安全可控、合规使用、问题导向和开放创新等原则,并着重指出金融机构要“在操作系统、数据库、中间件等基础软件领域和云计算、大数据、人工智能、区块链等新兴技术领域加快生态建设”。

老王点评:向来比较保守的金融部门能主动拥抱开源,可见开源已经成为了一种普遍共识。

微软放弃 Electron

在 Electron 上运行的 Teams 已经成为占用内存和降低计算机速度的代名词,微软甚至 专门解释 了为什么 Teams 占用这么多内存。最近,微软宣布,Teams 将转向他们自己的 Edge Webview2 渲染引擎,放弃 Electron 以寻求性能提升。据介绍,转型后,Teams 的内存消耗将减少 2 倍,它将被称为 Teams 2.0。有很多知名的应用程序都是由 Electron 驱动的,该框架可以帮助 Web 开发者将他们的 Web 应用转到桌面平台。但每个 Electron 应用程序的后台都有一个唯一的 Chrome OS 实例,运行两个以上的此类应用程序会耗尽主机的性能。

老王点评:Electron 开发的应用就和 Java 开发的桌面应用一样臃肿笨重。这种跨平台的代价不菲啊。

Linux 基金会考虑放弃采用电子邮件列表的 Linux 内核的贡献方式

多年以来,Linux 内核邮件列表一直作为内核开发人员之间进行协作的主要工具而存在,纯文本电子邮件是内核开发的入门门槛。电子邮件机制确实是有效的,但它对新的贡献者来说也确实是一项障碍。Linux 基金会目前的想法是,从现有的基于文本的电子邮件系统迁移,或在此基础上拓展一个新近成长起来的开发者更为熟悉的方式。

来源:开源中国

拍一拍:当年能创新出 Git 的 Linux 内核开发者们,却一直守着上世纪的电子邮件列表不放,是 Linus 老了还是成长为大型软件组织的 Linux 内核开发者们僵化了?

跨平台桌面应用开发工具 Electron 10.0.0 发布

根据项目的支持政策, Electron 7.xy 已终止支持。鼓励开发人员和应用程序升级到新版本的 Electron。

来源:开源中国

拍一拍:比较有意思的是,原本为了跨平台应用而开发的 Java,在这方面越来越不受欢迎了。

Chrome 85 启用新技术提升 10% 性能

Google 释出了 Chrome 85。新版的一个重要变化是在编译时启用了名为 Profile Guided Optimization 的技术优化性能。Google 称,页面加载速度提升了 10%。Chrome 85 的其它特性包括标签组支持折叠和展开,改进 PDF,新的开发者特性。

来源:solidot

拍一拍:Chrome 形成压倒性优势的背后,与他们不断进取采用新技术也有很大关系。

如果你想重温或看看上世纪 90 年代使用的 Mac 是什么样子,那么现在有个机会。Slack 开发者 Felix Rieseberg 将 Mac OS 8 改造成了一个可以安装在 Mac 或 PC 上的 Electron 应用。

继 2018 年将 Windows 95 转化为应用后,Rieseberg 决定将 1991 年的 Macintosh Quadra 与 Mac OS 8.1 整个转化为一个 Electron 应用。该应用可以安装在 macOS、Windows 和 Linux 上。

它收录了一张 1997 年的 MacWorld 演示光盘中的许多游戏和应用的演示版,这包括《毁灭公爵 3D版》、《文明 2》、《龙与地下城》、《Namely》、《俄勒冈之路》、《Alley 19 Bowling》和《Damage Incorporated》等经典游戏,还有一些应用程序,如 Photoshop 3、Premiere 4、Illustrator 5.5、StuffIt 解压软件等等。

这个应用使用一个虚拟机来模拟 Macintosh Quadra 900,其 CPU 是苹果在过渡到 IBM 的 PowerPC 芯片之前使用的摩托罗拉 CPU。

Rieseberg 说,他是使用 JavaScript 编写的 Electron 应用,虽然效果看起来还可以,但是不要有过高的期望。有人尝试运行了《文明 2》,但是马上就崩溃了,总之,它可以作为娱乐和怀旧,但是显然不能用作正式的使用场合。

虽然这个应用里面预装了 Internet Explorer 和 Netscape,但由于这三十年来互联网发生了太多的变化,因此它不能访问互联网,Rieseberg 说“连 Google 都打不开”。但是,你可以将文件传输到该应用内,也可以挂载外部的磁盘镜像。不管怎么说,上世纪 90 年代版本的 Mac OS 被移植到 JavaScript 中运行,这让人印象深刻。

如果你有兴趣尝试这款应用,其独立版本都不到 250MB,可以从 GitHub 下载。请再次享受,一次回忆之旅。

北斗“收官之星”成功发射

2020 年 6 月 23 日 9 时 43 分许,西昌卫星发射中心,搭载着北斗系统第 55 颗导航卫星暨北斗三号最后一颗全球组网卫星的长征三号乙运载火箭点火升空,北斗三号全球卫星导航系统星座部署终于全面完成。

来源:雷锋网

拍一拍:可喜可贺,掌握在美国人手里的 GPS 会带来什么潜在的危害就不用多说了,据称大部分中国境内的安卓手机都使用了北斗,而 iPhone 等产品则使用的是 GPS。

Electron 成为 OpenJS 基金会的 Impact 项目

2019 年 12 月,OpenJS 基金会发文宣布,Electron 已加入基金会的孵化计划。现如今,在 OpenJS World 上,Electron 则宣布正式从 OpenJS Foundation 的孵化计划毕业,成为 OpenJS 基金会的 Impact 项目。OpenJS 基金会由 Node.js 基金会与 JS 基金会合并而来,其托管了许多开源 JavaScript 项目,包括 jQuery、Node.js 和 webpack。Electron 是一款基于 Node.js 和 Chromium 的跨平台桌面应用开发工具,支持使用 JavaScript、HTML 和 CSS 编写跨平台的桌面应用程序。它被广泛用于许多著名的应用程序,包括 Discord、Microsoft Teams、Skype,Slack、Visual Studio Code 等。

来源:开源中国

拍一拍:Electron 虽然是一套 JavaScript 框架,但是你可能想不到身边很多常用的应用都是它开发的。

Microsoft Edge 未经允许静默导入 Firefox 数据

用户反馈,通过 Windows Update 更新到设备的新版 Edge 会出现从 Firefox 导入数据的情况,即便用户未授权 Edge 进行此操作。除非通过任务管理器关闭它而不是执行强制设置,否则无论如何它都会复制数据。除此之外,微软还会取消系统的默认浏览器设置,所以当用户点击一个 URL 时,需要重新选择默认浏览器。微软对此一直保持沉默。

来源:开源中国

拍一拍:这……有点厉害了,不过,希望微软可以澄清一下。

CNCF 宣布首个中国原创项目 Harbor 毕业

Harbor 是一个开源制品(artifact)仓库,可通过策略和基于角色的访问控制来保护制品(如容器镜像、Helm Chart等),扫描镜像并避免受安全漏洞的危害,并对镜像签名成为受信内容。Harbor 源于 2014 年 VMware中国研发中心云原生实验室的一个内部项目,旨在为容器的开发人员解决镜像管理的问题。众多的企业、互联网公司和初创公司在生产系统中使用Harbor,包括中国移动、京东、才云科技、网易云、三星SDS、Hyland软件、Mulesoft、腾讯云、趋势科技和 VMware 等等。

来源:开源中国

拍一拍:中国人在开源方面做出的贡献越来越多了。