一、前言 前几天在Python白银交流群【无敌劈叉小狗】问了一个Python通信的问题,问题如下:大家能帮我看看为什么我在客户端发送信息的时候按发送按钮无法发到服务器端?...具体的表现就是点了发送但服务器收不到,如下图所示: 二、实现过程 这里【啥也不懂】给了一个指导,他当时在赶车,电脑不太方便,让粉丝截图了代码,直接看图的。这里提出来了几个怀疑的点。...顺利地解决了粉丝的问题。 如果你也有类似这种Python相关的小问题,欢迎随时来交流群学习交流哦,有问必答! 三、总结 大家好,我是Python进阶者。...这篇文章主要盘点了一个Python库下载失败的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【无敌劈叉小狗】提出的问题,感谢【啥也不懂】给出的思路,感谢【莫生气】等人参与学习交流。
从最开始我开始写文章就讲过Node.js与Java的优缺点,我当时说过,JAVA能做的如果非要使用Node.js最后肯定是能实现的,但是我们会考虑用什么更加适合。...接下来建立一个index.js,在这个文件里面创建桌面窗口以及页面渲染。 首先在文件顶部引入所需的包以及定义一个全局变量win ? 为什么需要这个全局变量呢?...我们需要监听ready方法,该方法将会在Electron完成初始化并准备创建桌面窗口时调用。在ready方法中调用创建桌面窗口的逻辑处理。 ?...在macOS中,当点击应用图标并且没有其他窗口打开时,会重新创建一个窗口 ,所以在activate方法中要做判断,如果窗口对象win为null,则创建一个新窗口。否则展示已存在的窗口。 ?...到这里我们最基本的桌面应用搭建完成了,我们可以用electron进行测试,命令为: electron . ? 点击按钮会跳出hello world。 ?
嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发...背景说明: 窗口指的就是我们在电脑端经常使用的软件时候显示Logo,标题和操作最小化,最大化,关闭按钮的标题栏及标题栏下面显示内容的整个窗口,这往往在Web前端中接触的不是那么多,但要开发一款体验不错的...环境: nodeIntegration 是否启动Node.js,默认不启用 nodeIntegrationInWorker web worker中是否启动Node.js,默认不启用 nodeIntegrationInSubFrames...,在窗口对象上新增frame属性且设置值为false,如下图: 在Vue的App.vue中通过html标签来绘制我们的标题栏,绘制后的结果如下图所示: 为标题栏的按钮增加事件: 按钮事件和调用函数的定义均与...Vue一致,我们需要考虑的是如何与Electron联通来调用对应的API: 调整窗口对象中的如下所示属性,切记启用remote: 在App.vue中导入electron对象: const { remote
该应用程序将利用只有在现代的浏览器中才能使用的特性。 在上一章的高层次讨论中,我提到了Electron是一个类似于Node的运行时。这仍然是正确的,但是我想回顾下这一点。...在传统的浏览器环境中_dirname不可用,在Node中document或alert是不可用的。但在Electron,我们可以无缝地将它们结合在一起。让我们在页面上添加一个按钮。..._dirname仅在Node中可用。当我们点击按钮时,我们被处理成Node和Chromium在一起工作,甜美和谐,如图2.7所示。 ?...我将包含链接到样式表的HTML标记—因为,在我作为web开发人员的20年里,我仍然不记得如何第一次尝试就做到这一点。 列表2.11 在HTML文档中引用样式表: ....我们使用另一个匿名函数传递带有错误消息的URL。这主要是为了提供更好的错误消息。如果不希望在错误消息中包含URL,则没有必要这样做。 图2.32 在获取、解析和呈现链接时捕获错误: .
electron在跨平台应用方面做的还是挺好的,著名的编辑器VS Code与Atom都是使用Electron来开发的。...我觉得touchbar是Mac上一个鸡肋的功能,我在使用Mac的时候很少去关注touchbar。昨天忽然想到Electron可以开发桌面应用,那么是否可以做touchbar相关的功能呢?.../node_modules/.bin/electron touchbar.js 你可以看到我们安装Electron的时候加了一个ELECTRON_MIRROR的参数,为什么要带这个参数呢?...,虽然github是可以访问的,但是网速不咋样。...代码中第29行的图标点击这里下载。 上面使用了2个组件,一个是TouchBarButton,代表的是一个按钮,另一个是TouchBarLabel,代表的是一个简单的标签。
问: 假设我有这个脚本: export.bash #!...echo $VAR 有没有一种方法可以通过只执行 export.bash 而不 source 它获取 $VAR? 答: 不可以。 但是有几种可能的解决办法。...在调用 shell 的上下文中执行脚本: $ cat set-vars1.sh export FOO=BAR $ . set-vars1.sh $ echo $FOO BAR 另一种方法是在脚本中打印设置环境变量的命令...-f 指 shell 函数 -n 从每个(变量)名称中删除 export 属性 -p 显示所有导出变量和函数的列表 ---- 参考: stackoverflow question 16618071...help eval 相关阅读: 用和不用export定义变量的区别 在shell编程中$(cmd) 和 `cmd` 之间有什么区别 ----
工程简述 他src目录下,有两个子目录,一个是main;一个是renderer 之所以这样分目录,跟electron的工作原理有关系 electron与nwjs不同, nwjs把nodejs里的v8和chrome.../dist/electron/main.js" 这是electron程序启动的入口, 这里的main.js就是index.js和index.dev.js合并打包出来的 注:nwjs入口程序是一个.html...的文件;electron的入口程序是一个.js的文件 electron通过js入口程序加载画面 在咱们这个工程下,他加载的事src目录下的index.ejs画面 这其实也是vue程序的宿主页面 根目录下...我为什么不通过一个隐藏的iframe,来控制博客园的界面 通过它获取我想呈现在自己界面上的数据; 也通过它,提交我自己界面上的用户数据; 这样就只要用博客园前端页面内置的jquery获取文章数据; 然后再用...jquery操作提交、草稿按钮就可以了。
多思考和讨论这个需要个人主动一些,遇到问题喜欢多问为什么,在多次重构和思考的过程中,我们就会慢慢积累出一类问题的 “最佳实践” 方式,成为自己宝贵的经验。 ...我个人对于 Swift 的预期是:在 1、2 年内能够全面替代 Objective-C。但在近期,我个人还是会使用 Objective-C 来完成公司的项目。 ...对于技术实力的提升,我比较推荐最近 tinyfool 写了一篇文章,叫《不要轻易在简历上写我热爱编程,我热爱学习》。我觉得你提的这个问题的根本还是在于:iOS 开发者到底热不热爱编程。...在我看来,任何一件事情,如果你做到了热爱它,把它当作乐趣,那么在同行中做到出类拔萃应该是理所当然的。如果不热爱,我感觉做到会比较难。 ...多思考和讨论这个需要个人主动一些,遇到问题喜欢多问为什么,在多次重构和思考的过程中,我们就会慢慢积累出一类问题的 “最佳实践” 方式,成为自己宝贵的经验。
当你在 Electron 应用中的一个窗口操作时,实际上是在操作一个网页。当你的操作需要通过操作系统去完成时,网页会通过 Node.js 去和操作系统交互。...'electron') // 保持一个对于 window对象的全局引用,如果你不这样做, // 当 JavaScript对象被垃圾回收, window会被自动地关闭 let win // 打开主窗口...启动的窗口其实是一个网页,启动时会去加载在 loadURL 中传入的网页地址。 每个窗口都是一个单独的网页进程,窗口之间的通信需要借助主进程传递消息。 ?...总体来说开发 Electron 应用和开发 Web 应用很相似,区别在于 Electron 的运行环境同时内置了浏览器和 Node.js 的 API,在开发网页时除了可以使用浏览器提供的 API 外,还可以使用...接入 Webpack 接下来做一个简单的 Electron 应用,要求为应用启动后显示一个主窗口,在主窗口里有一个按钮,点击这个按钮后新显示一个窗口,且使用 React 开发网页。
我们暂时先不看缓存读写的逻辑,着重了解远端下载的逻辑,所以我们进入@electron/get包中的downloadArtifact: 查看@electron/get包下的index.js内容: 前面我们提到...配置值不区分大小写,因此 NPM_CONFIG_FOO=bar 的工作方式相同。...那我们在.npmrc中配置的ELECTRON_MIRROR,在process.env中变成了什么呢?...macOS解决方式 终于,我们能解释为什么当我们在.npmrc配置大写的ELECTRON_MIRROR的时候,使用yarn add -D electron安装electron的时候,二进制镜像地址没有生效了...关于Windows的特别说明 process.env | Node.js API 文档 (nodejs.cn) 在 Windows 操作系统上,环境变量不区分大小写。
在技术调研选型时,本身后端逻辑就是用的Java,所以自然也想用Java的窗体程序实现。 经调研发现使用JavaFx、Swing可以实现桌面应用程序开发,感觉都不太理想,为什么呢?...于是,我又去找强哥(之前北京同事),强哥给我推荐了electron,我一查,才发现真的太秀了,太好看了吧,结果我就被种草了,真的是太想学了.........2、点击按钮可以打开另一个界面 在根目录下创建一个名为renderer的文件夹,并创建index.js,其作用就是向主进程发出通信,具体代码如下: const { ipcRenderer } = require.../index.js"> 再创建一个名为add.js,示例代码如下: const { ipcRenderer } = require('electron.../add.js') 接着再来修改main.js代码,使用ipcMain来接收渲染进程发起的点击事件,示例代码如下: const { app, BrowserWindow
作为一个跨平台的桌面应用开发框架,Electron 的迷人之处在于,它是建立在 Chromium 和 Node.js 之上的 —— 二位分工明确,一个负责界面,一个负责背后的逻辑,构成了一个成本低廉却十分高效的优秀...而且在实际开发项目中推行 Electron,工程化建设流程上有很多技术关键点和坑,需要丰富的实战经验来化解。 这些问题,我也曾遇到过。...我为什么推荐这个 Electron 课。 相比市面上的其他 Electron 资料,邓耀龙是以 Web 前端工程师的视角设计这门课的。也因此,更贴合真实开发,主要有 2 个吸引我的点: 1....偏实战,让你在项目中熟悉 Electron 的技术特点并感受其乐趣。 2. 重工程化,为你梳理在工作中推行 Electron 工程化的建设思路,讲述真实项目中遇到的坑和具体的解决方案。...我们常说“不积跬步,无以至千里”,这句话中的“跬步”,我把它定义为:做成一件事。我们总会做很多事,但大多数时候,能真正得到提升的是“把事做成”。 成事的目标不分大小。
自我介绍 欢迎大家来到今天的早早聊跨端跨栈专场,今天我分享的主题是《如何基于 Electron 开发跨终端的应用》。...为什么说叫 JS 上天了呢?因为有传言说它是基于 Electron 开发的,不过这个消息并没有得到证实。...那么,这样的桌面端 GUI 的技术,能给我的前端开发工作带来什么不一样呢? 左边这个流程相信大家不陌生,在我们开始新项目开发的时候,可能需要做哪些事情?...在刚才的示例中,其中 main.js 是运行在主进程中, index.html 则是运行在渲染进程之中。...将 Git 仓库克隆到本地的工作区内,同时完成整个项目的依赖安装。在依赖安装之后,我们会借助桌面端的通知能力,包括钉钉的接口去完成通知和反馈。
前言 一.关于我 我是一名全职的 iOS 开发者,非前端开发者。由于接触了 Weex 开发,从而接触到了 Vue.js。 二.为什么会写这个项目?...至于为何选择 Objc 中国,理由其实很简单,因为我是 iOS 开发者。在 iOS 开发者中,Objc 基本上人尽皆知(有不知道的?)...这就是 email 的表单验证了,没有太多的技术含量。 这里是购物车页面,这里用到了 MVVM 页面的绑定的思想,页面上4个按钮,点任意一个按钮都会立即改变下面的总价。...在跨平台的这几个应用中,体验最好的,我觉得还是 Mac 的应用。使用起来满意度非常高。...最后就是 Cordova 框架搭建的 手机 app,体验度不高,具体如何,看图吧,总之不优化的 Cordova ,对于挑剔的我来说,我是不满意的。
将清单4.1中的代码添加到app/main.js中,就在需要其他Electron模块的地方。...我们在前面为文件扩展名过滤器提供名称时就看到了这一点,这个名称出现在Windows中,但是macOS没有这个功能。Electron利用了这个特性,如果它是可用的,但它仍然在没有的情况下工作。...列表4.6 在macOS中创建工作表对话框: ....这些模块代表了Electron的代码功能,到您阅读本文时,这个列表可能还会增长,并且可能还不完整。我鼓励您访问文档以查看最新的和最棒的特性。...当我们在渲染器进程中工作时,我们使用内置的require函数导入的任何功能都将是渲染器进程的一部分。当我们在主进程中工作时,我们需要的任何功能都将是主进程的一部分。
性能差别不大 由于几乎都是一个模子搞出来的东西,都用的Chrome内核去解释JS来运行程序,理所当然的,这两个技术在性能上差别并不大。...当然,它们都还有一个help process进程,负责处理一些额外的工作。...但是对于微软这么一个Windows的厂商,它的这个承诺多久能实现,我个人还是觉得有待观察的。 也许大家会很奇怪,为什么WebView2还没有真正跨平台,只是号称。...严格的来说,WebView2是一个组件或叫控件。无论是移动端,还是桌面原生开发中,都有非常多的组件或控件,比如按钮,图片或是网页,对吧。...(大公司,有钱,土豪请自觉将自己排除在外) 远方以及更远 当然,我在这篇文章中,主要还是围绕前端开发技术下的跨平台桌面开发。
,我负责赚钱养家」,为什么 Electron 能够开发跨平台的桌面应用也就可以理解了。...这个东西网站也可以为什么需要客户端?...Electron 和 NW.js 之间,为何选择前者? 我没怎么用过 NW.js,但当时在没有时间深入体验的实际情况下,我选择生态好的。...内容的(因为 Electron 中,你是用 web 写的界面) 可以在渲染进程使用的: •ipcRenderer:用于渲染进程中,和主进程通信的 •remote:可以方便你在渲染进程中直接调用主进程的...举个栗子,在开发实际应用一段时间后,我觉得我们的 Electron 应用,从开发到打包,再到构建安装包,最后到发行,整个开发工作流效率低下,很不流畅,这个时候我就去看很多的项目,借鉴很多的优秀实践,感谢他们
我就点去看看用的啥技术结果是 Electron 这个我见到过一直想玩玩桌面应用, 正巧我在逛 dromara 开源社区的时候看到了一个开源框架 它是一个入门简单、跨平台、企业级桌面软件开发框架 我滴妈完美适合我这种前端小白选手...为什么使用?...electron-egg 先进行 Fork 一份到自己仓库 fork 完毕复制自己仓库当中的 eeg 项目 我这边使用 WebStorm 工具进行开发 进行 git clone 克隆到我们电脑本地 准备...成功打包 windows 程序和 mac 程序 我前面打错了打了个 wind 的哈哈哈哈 测试 我是原本就打包了一个程序所以我就去 builder.js 当中修改了下打包名称 直接进行安装 打开软件 完美运行...最后 本期结束咱们下次再见~ 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。
相信做 JavaScript 开发的读者对 Node.js 不陌生,Node.js 诞生于 2009 年,类似于 ASP.NET,是用来开发服务端程序的框架,使用的编程语言是 JavaScript。...在这个生态系统中,有一个分类就是用来开发桌面应用,成为了桌面 GUI,比较著名的包括 NW.js 和 Electron,其中,Electron 更有名气,连微软都使用 Electron 开发自己的 IDE...至此,也许很多读者会有新的疑问,为什么要开发跨平台的桌面应用?为什么用 Node.js 和 Electron 来开发呢?...其实在使用 Node.js 和 Electron 之前,我也有这个疑问,下面就来回答一下。...在购买软件时,要确保软件可以兼容自己的操作系统(那时候大多数人使用的是 Windows 操作系统),然后从包装盒中取出光盘,将光盘中的软件安装到自己的计算机中。
安装Electron依赖包 开发者往往通过npm install(或 yarn add)指令完成为Node.js工程安装依赖包的工作, 安装Electron也不例外,下面是npm和yarn的安装Electron...下载Electron的二进制文件 在install.js中,程序获取了当前操作系统的版本,并通过如下代码下载Electron的二进制文件与相应的资源: downloadArtifact({ version...路径中的斜杠,使得其能成为文件路径), 在我的电脑上,这两个路径是如下形式: ?...而且目前Electron版本发布相当频繁,平均一到两周就会有一个新的稳定版本发布, 大量的更新不仅仅带来了更多的新功能、解决了更多的问题, 也意味着你所使用的版本即将成为无人理睬的版本了,这也是为什么我推荐大家紧跟官方团队版本发布步伐的原因...,不推荐在商业项目中使用这些版本。
领取专属 10元无门槛券
手把手带您无忧上云