编前语:小编的知识背景是MFC的开发(很多年前了)+JAVA的SSH的开发(也有很多年了)+了解python,没有做过node.js的开发,因此对于electron可以说是纯小白了。
本周小编按照上次的学习步骤,学习了Electron的 中文文档(
https://www.w3cschool.cn/electronmanual/)。
几点笔记供同样的小白学习时参考:
1.Electron 使用 web 页面作为它的 GUI,所以你能把它看作成一个被 JavaScript 控制的,精简版的 Chromium 浏览器。
这一点,应该来学习electron的小白应该都知道了,简单来说就是理论上,浏览器能做的,electron都能做,浏览器不让做的,electron也让做,想想都有点激动!当然,怎么做好才是关键!!!
2.主进程 & 渲染进程
主进程和渲染进程是electron中的核心概念。文档中有这么一句话
“由于 Electron 使用 Chromium 来展示页面,所以 Chromium 的多进程结构也被充分利用。每个 Electron 的页面都在运行着自己的进程,这样的进程我们称之为渲染进程”
看来electron的理解并不简单,一上来就整多进程了,想想当年windows开发要到很后面才考虑多进程的事情,一般不搞大动作,基本都可以不用考虑多进程的事情。web开发都不管进程,就更不用考虑多进程了。
继续阅读文档对electron进程的描述:“一个 Electron 应用总是有且只有一个主进程” ,“主进程使用 BrowserWindow 实例创建页面。每个 BrowserWindow 实例都在自己的渲染进程里运行页面。当一个 BrowserWindow 实例被销毁后,相应的渲染进程也会被终止“,”每个渲染进程都是独立的,它只关心它所运行的 web 页面。”
我们再结合实际来理解这些话。自己还没有做过electron应用,可以看看chrome,前面说了electron做出来的就是定制的chrome。我们来看看chrome的进程,打开一个简单的页面“竟然”启动了9个进程,每开一个页面,就添加了一个进程。原来chrome相当于主进程,我们的页面相当于一个渲染进程。原来其实我们做web开发一直在用进程,只是我们感受不到而已。
在来看看小编之前包的一个electron应用,原来也是一个多进程的应用,看来小编不知不觉竟然写了一个多进程的应用。想想又觉得electron高大上一些了
再继续看文档:“在 Electron,我们提供用于在主进程与渲染进程之间通讯的ipc模块。并且也有一个远程进程调用风格的通讯模块remote。”
原来electron为我们封装了一些进程间通信的模块,难怪之前小编在用electron的时候,完全没有感受到多进程的存在。不过理解主进程和渲染进程之间是通过进程间通讯来实现数据传递的概念,对我们理解electron应该蛮重要,后面在实践中要多注意去理解这个概念了。
3.“ 一些组件只可以在主进程中使用,一些只可以在渲染进程中使用,但是也有部分可以在这2种进程中都可使用。”“ GUI模块或者系统底层的模块只可以在主进程中使用”
前面半句很容易理解,不同的进程肯定是有分工的,目的也不一样,所以可以用的组件不一样很自然,后面实践中进一步熟悉即可。后面半句就有点晕了,GUI不是渲染进程干的活吗,怎么在主进程中使用了,而且还只能在主进程中使用。
回头看官网(http://www.electronjs.org/docs/tutorial/application-architecture#main-and-renderer-processes
)“在页面中调用与 GUI 相关的原生 API 是不被允许的,因为在 web 页面里操作原生的 GUI 资源是非常危险的,而且容易造成资源泄露。如果你想在 web 页面里使用 GUI 操作,其对应的渲染进程必须与主进程进行通讯,请求主进程进行相关的 GUI 操作。”
这一下更晕了,前面不是说了web页面就是electron应用的GUI吗?赶紧继续看文档,啊哈,看主进程的组件时看到了几个熟悉的“menu 模块、MenuItem 模块、dialog 模块
",看来上面说的GUI应该不是指web页面,而是指这些和系统相关的GUI。不过menu跟主进程相关可以理解,毕竟不可能每个页面都搞一个menu,不过dialog为什么放到主进程呢?有为什么会造成资源泄露呢,这个要慢慢去理解了
4.调试
“浏览器窗口的开发工具仅能调试渲染器的进程脚本(比如 web 页面)。为了提供一个可以调试主进程的方法,Electron 提供了 --debug 和 --debug-brk 开关”
代码的调试还是很重要的,在windows开发过程中,单步调试对初学者来说还是很有帮助的,这里electron还提供了调试的方法,不过从文档来看,类似于linux的gdb的调试了。小编还是习惯直接用日志的方式来调试了,就不去琢磨这个调试方法了
5.看了一圈文档下来,发现electron是在node.js之上的,看来还是很有必要补充一下node.js的知识,因此也就很有必要补充一下JavaScript的知识了。如果,以mfc来做一个类比的话,感觉基本上就是
C/C++---------------javaScript
库函数-----------------node.js
MFC------------------electron
因此,electron的门槛还是有一些的,不过如果有了node.js的基础,学习起来应该就不难了,关键还是如何做好。
文档中还有很多内容,需要通过实践,小编就一一列举了。后面,小编将开始进入electron的实践环节,通过实践来学习electron的各个组件,理解electron的原理。
本文由哈喽比特于4年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/elQZrCwveiKzIZO71JzV_w
京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。
日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。
据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。
今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。
日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。
近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。
据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。
9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...
9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。
据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。
特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。
据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。
近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。
据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。
9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。
《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。
近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。
社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”
2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。
罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。