linux环境qt程序打包发布_qt如何打包发布_qt程序打包发布太大

你们好,我是Echa。

时间过得好快,2013年3月13日Electron首次面世大众。到如今早已六年零八天了。小编从事IT行业13余载,说短不短说长不长。这一路走来也是见证了各种平台框架和开发技术的发展史,从后端(Web后端-桌面端-手机端(安卓和苹果))到前端,中国科技发展迅速,已然渐渐的离不开这种平台框架和技术支撑。

qt如何打包发布_linux环境qt程序打包发布_qt程序打包发布太大

图片来自Electron官网Blog

倘若开发一个兼容多平台的桌面应用,往年常用的技术框架有wxWidgets、GTK、QT等,这种框架受语言限制,且学习成本较高,效率有限。目前一些基于后端技术的hybrid框架很流行,且早已在多个领域得到了广泛的应用和验证,例如借助后端技术+相应的打包工具可开发适配多平台的应用(PC、微信公众号、小程序、Android、IOS等)。Electron就是这样一款框架,为后端技术人员借助web后端技术开发桌面应用带来了可能,开发人员可借助早已把握的后端技术如Html、CSS、JavaScript,以及结合一些后端技术框架:Vue、Angular、React、webpack,加之浏览器渲染引擎、Electron封装的API快速实现一款桌面应用的开发,Electron做了大部份复杂的工作,开发人员只须要专注在核心业务和后端技术本身。同时,通过一定的优化,Electron可以做到挺好的体验。

目前有不少著名桌面应用采用Electron开发,如:开发人员熟知的VisualStudioCode、MongoDB桌面版管理工具、Skype桌面版、WhatsApp桌面版、HTTP网路测试工具Postman等。所以后端开发者不用害怕技术问题。

linux环境qt程序打包发布_qt如何打包发布_qt程序打包发布太大

著名桌面应用采用Electron开发

明天小编就详尽讲解Electron六年的发展史,希望对你们有所帮助。

全文大纲Electron介绍Electron是如何来的Electron优点与不足解读Electron六年总结Electron介绍

官网:

Github:

Electron是借助web后端技术进行桌面应用开发的一套框架。

Electron的前身是atom编辑器,是在它的基础上实现过来的一套跨平台解决方案。最初被GitHub开发,2013年4月11日以Atom为名起步,2014年5月16日开源,2015年4月17日更名为Electron。

linux环境qt程序打包发布_qt如何打包发布_qt程序打包发布太大

Chromium:为Electron提供了强悍的UI能力,可以不考虑兼容性的情况下,借助强悍的Web生态来开发界面。electron本质上就是chromium(chrome开源版本)浏览器,最新的东西就会在chromium测试,所以electron可以体验最新的api,这也是用处之一)

Electron是基于Chromium和Node.js实现的,所以开发人员所须要使用到的后端技术主要包括以下方面:

linux环境qt程序打包发布_qt如何打包发布_qt程序打包发布太大

linux环境qt程序打包发布_qt如何打包发布_qt程序打包发布太大

Chromium多进程构架图

Electron构架

qt程序打包发布太大_linux环境qt程序打包发布_qt如何打包发布

Electron官网

Electron是如何来的

AtomShell是作为GitHubAtom编辑器的骨干建立的,该编辑器于2014年4月推出内测版。它是作为当时可用的基于web的桌面框架(node-webkit和ChromiumEmbeddedFramework)的代替品从头开始建立的。它有一个致命的功能:嵌入Node.js和Chromium,为web技术提供强悍的桌面运行时。

不到一年,AtomShell的功能和受欢迎程度开始急剧下降。大公司、初创公司和个人开发者都开始用它建立应用程序(一些初期采用者包括Slack、GitKraken和WebTorrent),该项目被恰当地改名为Electron。

从那时起,Electron就开始奔跑,未曾停止过。以下是提供的随时间推移的每年的下载量:

Electron每年的下载量

Electronv1于2016年发布,官方承诺提升API稳定性,并提供更好的文档和工具。Electronv2于2018年发布,并引入了语义版本控制,使Electron开发团队人员更容易跟踪发布周期。

到了Electronv6,官方改为常规的12周主要发布节奏,以匹配Chromium的节奏。这一决定改变了该项目的态度,将“拥有最新的Chromium版本”从“必须拥有”变成了优先事项。这降低了升级之间的技术债权,使我们更容易保持Electron的更新和安全。

从那之后,我们仍然是一台润滑良好的机器,在每位Chromium稳定版的同三天发布了新的Electron版本。当Chromium在2021将其发布时间表推进到4周时,我们就能耸耸肩,并相应地将发布节奏降低到8周。

我们现今使用的是Electronv23(并且还在不断降低),但是依然旨在于建立跨平台桌面应用程序的最佳运行时。虽然近些年来JavaScript开发工具蓬勃发展kali linux,Electron一直是桌面应用程序框架领域稳定、久经考验的中坚力量。现在,电子应用程序无处不在:你可以用VisualStudioCode编程,用Figma设计,用Slack通讯,用Notion做笔记(以及许多其他用例)。我们为这一成就倍感无比自豪,并谢谢所有使之成为可能的人。

Electronv23版本介绍

Electron优点与不足解读

Electron优点:

Electron开发效率高

相较于基于C++库开发桌面软件来说,基于Electron开发更容易上手且开发效率更高。

因为JavaScript语言是一门解释执行的语言,所以C++语言固有的各类问题都不再是问题。诸如:

-C++没有垃圾回收机制LINUX虚机,开发人员要当心翼翼地控制显存,以免引起显存泄露;

-C++语言特点繁杂且复杂,学习难度曲线险峻,须要针对不同平台进行编译,应用分发困难。

Electron执行效率高

在执行效率上,假如后端代码写得足够优秀,Electron应用完全可以作出与C++应用相抗衡的用户体验,VisualStudioCode就是先例。

另外,Node.js本身也可以很便捷地调用C++扩充,Electron应用内又包含Node.js环境,对于一些音视频编解码或图形图象处理需求,可以使用Node.js的C++扩充来完成。

无需考虑兼容性问题

在完成Web后端开发工作时,开发者须要考虑好多浏览器兼容的问题,例如:用户是否使用了低版本的IE浏览器,是否可以在款式表内使用Flexbox(弹性盒模型)等。这种问题最终会造成后端开发者束手束脚,写出一些丑恶的兼容代码以保证自己的应用能在所有终端表现正常。

但因为Electron外置了Chromium浏览器,该浏览器对标准支持特别好,甚至支持一些仍未通过的标准,所以基于Electron开发应用不会碰到兼容问题。

基于JavaScript生态

随着Web应用大行其道,Web后端开发领域的技术生态足够繁荣。Electron可以使用几乎所有的Web后端生态领域及Node.js生态领域的组件和技术方案。截止本文发布时,发布到平台上的模块早已超过90万个,覆盖领域广,优秀模块繁杂且使用特别简单便捷。

Electron可以使用操作系统插口

Web后端受限访问的文件系统、系统托盘、系统通知等,在Electron技术体系下均有API供开发者自由使用。

Electron不足:

打包后的应用容积巨大

一个小应用打包出来可能就须要几十兆linux环境qt程序打包发布,不过目前c盘储存早已不是哪些大问题,随着网络环境越来越好,c盘体积也越来越大,这个问题给用户带来的负担越来越不显著,几乎可以忽视。

开发复杂度较大

除须要把握必要的后端知识外,基于Electron开发仍须要了解跨进程通讯的一些知识点,进程上的一些问题常常还是容易给开发者带来一定的困扰,有一定的学习成本,并且通过系统学习还是容易攻破的。

qt如何打包发布_qt程序打包发布太大_linux环境qt程序打包发布

安全性问题

Electron提供给了开发人员足够的便利,同时也有一些具有风险的开关,开发者须要在开发中妥善处理,防止对应用顾客带来安全隐患,开发人员须要关注安全问题。

资源消耗较大

底层基于的Chromium浏览器仍然以来都因资源占用较多被人非议,目前来看这个问题还没有挺好的解决办法,只能依赖Chromium团队的优化工作。

版本发布过快

由于是基于Chromium的,所以Electron追随Chromium的版本发布节奏,版本迭代较快,这可能会造成一些兼容问题,但辛运的是目前Electron的核心功能仍然都算是很稳定的。

linux环境qt程序打包发布_qt程序打包发布太大_qt如何打包发布

Electron六年总结

Electron通往六年大关的公路是漫长而坎坷的。以下是一些关键诱因,它们帮助我们运行了一个可持续的小型开源项目。

Electron官方必须克服的一个挑战是,一旦Electron首次大受欢迎,就要处理该项目的常年方向。作为一个由分布在公司、国家和时区的几十名工程师组成的团队,我们该怎么应对?

初期,Electron官方的维护小组依赖于非即将的协调,这对于较小的项目来说是快速和轻量级的,但不能扩充到更广泛的协作。2019年,官方团队转向了不同工作组有即将职责范围的整治模式。这有助于简化流程,并将部份项目所有权分配给特定的维护人员。现在,Electron团队每位工作组负责哪些?

大概在官方转向整治模式的同时,我们还将Electron的所有权从GitHub转移到了OpenJS基金会。虽然最初的核心团队明天仍在谷歌工作,但她们只是组成Electron整治的更大合作团队的一部份。

其实这些模式并不完美,但在全球疫情和持续的宏观经济逆风中,它特别适宜我们。展望未来,我们计划更改整治章程,以指导我们渡过Electron的第二个六年。

社区

开源的社区部份很难,尤其是当你的外联团队是十几名穿着睡衣的工程师,里面写着“社区总监”时。也就是说,作为一个小型开源项目,意味着我们有好多用户,借助她们的能量为Electron构建用户农地生态系统是维持项目健康的关键部份。

官方仍然在做哪些来发展官方的社区影响力?

构建虚拟社区

2020年,官方推出了社区Discord服务器。官方在Atom的峰会上有一个部份linux环境qt程序打包发布,但决定使用一个更非即将的消息传递平台,便于在维护人员和Electron开发人员之间有一个讨论空间,并提供通常的调试帮助。

2021,官方在@BlackHole1的帮助下完善了ElectronChina用户组。该团队在中国蓬勃发展的科技领域的Electron用户下降中发挥了重要作用,为她们提供了一个在我们的德语空间之外就看法进行合作和讨论Electron的空间。官方还要谢谢cnpm为支持Electron在npm的中国镜像中的夜晚发布所做的工作。

参与高著名度的开源程序

自2019年以来,官方每年都在欢庆黑客节。Hacktoberfest是DigitalOcean组织的年度开源庆典,每年官方还会有几十位热情的贡献者希望在开源软件上留下自己的印记。

2020年,官方参与了微软文档季的首次迭代,与@bandantonio合作,重新设计了Electron的新用户教程流程。

2022年,官方第一次指导了一名微软代码之夏的中学生@aryansridhar做了一些很棒的工作来构建ElectronFiddle的核心版本加载逻辑,并将其bundler迁移到webpack。

手动化布署

现在,Electron整治有大概30名活跃的维护人员。官方中只有不到一半的人是全职贡献者,这意味着还有好多工作要做。官方有哪些方法可以让一切顺利进行?我们的铭是计算机很实惠,人的时间很高昂。以典型的工程师形式,我们开发了一套手动化支持工具,使我们的生活更轻松。

发展历史

具体版本更新内容请见:

最后

一台笔记本,一个按键,恣意激扬智慧的人生;几行数字,几个字母,认真编撰生活的美好;

一个灵感,一段程序,促进科技进步,推动社会发展。

创作不易,喜欢的老铁们加个关注,点个赞,打个赏,前面会不定期更新干货和技术相关的资讯,速速收藏,感谢!大家的一个小小举动就是对小编的认可,更是创作的动力。

本文原创地址://gulass.cn/qdkfzbydxjsw.html编辑:刘遄,审核员:暂无