electron-ipc通信性能分析】的更多相关文章

electron-ipc通信性能分析 electron的主进程和渲染进程间通信方案 ipc通信 借助外部存储通信(通过ipc通知其它进程去读取) 方案描述 ipc通信 使用 主进程 ==> 渲染进程 发送:webContents.send(channel[, arg1][, arg2][, ...]) channel String arg (可选) 通过 channel 发送异步消息给渲染进程,你也可发送任意的参数.参数应该在 JSON 内部序列化,并且此后没有函数或原形链被包括了. 渲染进程可…
Electron ipcRenderer 模块 ipcRenderer 模块是一个 EventEmitter 类的实例. 它提供了有限的方法,你可以从渲染进程向主进程发送同步或异步消息. 也可以收到主进程的响应. 发送消息 ipcRenderer 模块有如下方法来发送消息: ipcRenderer.send(channel[, arg1][, arg2][, ...]) channel String arg (可选) 通过 channel 向主进程发送异步消息,也可以发送任意参数.参数会被JSO…
有段时间没更新博客了,之前计划由浅到深.从应用到原理,更新一些RN的相关博客.之前陆续的更新了6篇RN应用的相关博客(传送门),后边因时间问题没有继续更新.主要是平时空余时间都用来帮着带娃了,不过还是要挤挤时间来总结下,目标是完成由浅到深.由应用到原理的RN系列博客.本篇算是属于原理部分的博客,不过不在之前计划中.本篇是本人在公司内部某事业群大前端月刊中发布的一篇纯技术分享的博客,是基于Facebook的RNTester工程进行的TurboModule的源码分析,因为不涉及公司内部的敏感代码及相…
目录结构: index.js是主进程js. const electron = require('electron') const app = electron.app const BrowserWindow = electron.BrowserWindow //主进程 const ipc = require('electron').ipcMain; app.on('ready',function(){ var mainWindow = new BrowserWindow({ width: 800…
对于electron是个新手,下面纯属个人理解.如有错误,欢迎指出.   一.安装 如果你本地按照github上的 # Install the `electron` command globally in your $PATH npm install electron-prebuilt -g 安装不起来的话,没事.按照这个博友的方法来安装即可.Electron安装   二.Electron是什么 类似NW.js.但是好像比它强大很多.而且社区很活跃,很有前途.   三.废话不多说,直接上实例.…
Electron能干嘛 Vscode 基于Electron开发的,他是用来开发桌面软件的,可以轻易的跨平台 他的前身是atomshell,图标很丑,不用在意,一点也不像vscode也不用在意.   Let's go Electron 是基于Node Chromium V8 组合而来,目前的版本是1.3.3   https://github.com/electron/electron/releases/download/v1.3.3/electron-v1.3.3-win32-x64.zip  …
一个能让你用Web技术开发桌面应用的开源项目.这里做一个笔记(非正式文章): 官网地址:http://electron.atom.io/ API相关 Electron提供的主进程接口.渲染进程接口.共用接口等. Process(进程):继承NodeJS的process模块,增加属性和方法.事件. Chrome 命令行开关 :Chrome相关的配置. <webview> Tag :单独的进程中运行(与iframe相比),并增强很多地方,比iframe好用. window.open相关接口. 主进…
使用 electron 做个播放器 本文同步更新在:https://github.com/whxaxes/blog/issues/8 前言 虽然 electron 已经出来好长时间了,但是最近才玩了一下,写篇博文记录一下,以便日后回顾. electron 的入门可以说是相当简单,官方提供了一个 quick start,很流畅的就可以跑起来一个应用.因此,如何入门就不赘述了,直接说一下如何做个播放器. 为啥要做个播放器呢,因为我在很久很久以前写过一个网页版的音频可视化播放器,但是因为是在页端,所以…
github地址 本地安装环境准备 安装node: * https://nodejs.org/en/download/ 配置webpack: npm install -g webpack(sudo权限) windows配置cnpm: npm install -g cnpm --registry=https://registry.npm.taobao.org 因为npm的默认仓库在国外,下载很慢,国内淘宝搞了个CNPM,每10分钟同步一次,完全够用了 当然也可以使用yarn下载 npm insta…
前言 Electron 是一个搭建跨平台桌面应用的框架,仅仅使用 JavaScript.HTML 以及 CSS,即可快速而容易地搭建一个原生应用.这对于想要涉及其他领域的开发者来说是一个非常大的福利. 原文作者:林鑫,作者博客:http://blog.gdfengshuo.com/ 项目介绍 仓库地址:lin-xin/calculator 我这里通过 Electron 实现了仿 iPhone 的计算器,通过菜单可以切换横屏和竖屏,横屏有更多的运算.而对于 JavaScript 进行浮点数计算来说…
前言 前端开发桌面程序这个概念已经出现有一段时间了,这项技术也已经走向成熟,Github上nw和光electron的star就差不多有10w颗星了,github也衍生出了很多开源的桌面项目俨然成了一个热门项目.既然这么热,那就一个字:学. 本文主要帮助js基础比较薄弱,又没有接触过electron的同学更好的学习electron,文中有什么不足之处或者错误,欢迎指出. electron 安装 npm命令安装electron库 npm install electron --save-dev --s…
一.快速搭建一个electron 项目结构 # 克隆示例项目的仓库 $ git clone https://github.com/electron/electron-quick-start # 进入这个仓库 $ cd electron-quick-start # 安装依赖并运行 $ npm install && npm start 二.关于<webview> 标签 的使用 <webview> 标签 可以把一个第三方页面嵌入到你的应用中,在一个最简单的 webview…
Electron桌面应用实现两个窗口(渲染进程)之间的通讯,传输数据: 方法1:在两个网页(渲染进程)间共享数据最简单的方法是使用浏览器中已经实现的 HTML5 API. 其中比较好的方案是用 Storage API, localStorage,sessionStorage 或者 IndexedDB. 方法2:使用Electron 内的 IPC 机制实现.将数据存储在主进程的某个全局变量中,然后在多个渲染进程中使用 remote 模块来访问它.例: //主进程中 Global.saveData…
Electron介绍 简单来说,Electron就是可以让你用Javascript.HTML.CSS来编写运行于Windows.macOS.Linux系统之上的桌面应用的库.本文的目的是通过使用Electron开发一个完整但简单的小应用:记事本,来体验一下这个神器的开发过程.本文犹如Hello World一样的存在,是个入门级笔记,但如果你之前从未接触过Electron,而又对它有兴趣,某想信这会是一篇值得一看的入门教程. PS:这篇文章是基于Windows的开发过程,未对macOS.Linux…
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以 从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情况.磁盘I/O.CPU效率.内存使用状况. 进程活动及IPC有关的活动等.本文主要以CentOS 6.3 x64系统为例,介绍sar命令. 格式 sar [options] [-A] [-o file] t [n] 参数 说明 t 为采样间隔,默认是秒 n 为采样次数,默认是1 -o file 表…
文档知识点 https://electronjs.org/docs/tutorial/about (1)Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的. 即electron内置了浏览器和node环境. Electron包括2个进程:main-process ,render-process. main-process:控制应用的生命周期 render-process:浏览器渲染. 这2个进行之…
1.Electron支持的平台: OS XWindowsLinux 2.一个标准的electron app包含的结构: Windows 或是 Linux中:electron/resources/app|_package.json|_main.js|_index.html 3.electron程序打包: 一般使用asar来进行打包,electron中一般包含两种API:Node.js和Chromium提供的Web APINode API如fs.readFile 4.使用Native Node模块…
1.获取当前设备的屏幕可用区域的分辨率winW=electron.screen.getPrimaryDisplay().workAreaSize.widthwinH=electron.screen.getPrimaryDisplay().workAreaSize.height 2.主进程和渲染进程通信或渲染进程之间通信,除使用ipc外,还可使用remote和global结合,例如:(1)获取第一步:在主进程中定义electron的全局变量global.sharedObject = { newTe…
一.ELECTRON引用JQUERY.JS electron不能像正常的html文件引用jq.js那样(为嘛不造),elecron引用jq.js的方式为: <script>window.$ = window.jQuery = require('jquery.js');</script> 二.ELECTRON跟JS之间的通信 他们之间不能直接通信,需要使用ipc来实现通讯.例: //发信方 var ipc = require('ipc'); ipc.send('isMessage')…
转:https://blog.csdn.net/xusensen/article/details/54606401#sar%E7%AE%80%E4%BB%8B Linux使用sar进行性能分析 Linux使用sar进行性能分析 sar简介 sar命令常用格式 sar常用性能数据分析 整体CPU使用统计-u 各个CPU使用统计-P 内存使用情况统计-r 整体IO情况-b 各个IO设备情况-d 网络统计-n sar日志保存-o References sar简介 sar(System Activity…
Electron 框架的前身是 Atom Shell,可以让你写使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序.它是基于io.js 和 Chromium 开源项目,并用于在 Atom 编辑器中.Electron 是开源的,由 GitHub 维护,有一个活跃的社区.最重要的是,Electron 应用服务构建和运行在 Mac,Windows 和 Linux. 安装Electron npm install electron-prebuilt -g //cnpm instal…
[From] http://www.myk3.com/arc-8856.html 很久没有更新博客,人越来越懒了,唉 说好做的electron教程距离上次玩electron已经过去了好几个月了.. 这次对electron做一个实战流程的介绍,关于electron的介绍,可以看这里 http://www.myk3.com/arc-4486.html 关于electron的demo安装,请看 http://www.myk3.com/arc-4483.html 使用 electron 您需要有一定的n…
12. sar 找出系统瓶颈的利器 sar是System Activity Reporter(系统活动情况报告)的缩写.sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态.它的特点是可以 连续对系统取样,获得大量的取样数据:取样数据和分析的结果都可以存入文件,所需的负载很小.sar是目前Linux上最为全面的系统性能分析工具之一, 可以从14个大方面对系统的活动进行报告,包括文件的读写情况.系统调用的使用情况.串口.CPU效率.内存使用状况.进程活动及IPC有关…
本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.   在开始之前,我想您一定会有这样的困惑:标题里的Electron 是什么?Electron能做什么?许多伟大的公司使用Electron框架的原因又是什么? 带着这些问题和疑惑,通过本文的介绍,可助您全面地认识Electron这门新兴的技术,迅速找到其入门途径,并理解Electron为何被称为当下开发桌面App的最佳选择.   初探Electron一.Electro…
ipcMain 从 主进程 到 渲染进程 的异步通信. ipcMain模块是EventEmitter类的一个实例. 当在主进程中使用时,它处理从渲染器进程(网页)发送出来的异步和同步信息. 从渲染器进程发送的消息将被发送到该模块. 举个例子 // 在主进程中. const { ipcMain } = require('electron') // 监听asynchronous-message,接收渲染进程发送的消息 ipcMain.on('asynchronous-message', (event…
在Electron中我们创建一个托盘需要如下几个文件: 1. main.js 用来存放应用代码.2. 一张PNG格式的图片用作应用图标.3. 一个package.json文件用来描述应用配置. 下面是我们项目的目录架构如下: |--- electron-demo5 | |--- node_modules | |--- app.css | |--- app.js | |--- main.js | |--- icon@2x.png | |--- index.html | |--- package.j…
如下是对窗口最大化,最小化等相关操作: import { ipcMain, ipcRenderer, remote } from 'electron' import is from 'electron-is' // ipc 通信发送的窗口状态改变事件的channel名称 export const windowStateChangeChannel = 'window-state-changed' // window的当前状态 export const WINDOW_STATE = { FULLSC…
如何新建一个 Electron 项目? electron快速入门笔记: https://www.jianshu.com/p/f134878af30f 然后自己新建一个 Electron 项目,在项目中输出 Hello World! Electron 的背景信息 搭建完这个 Electron 项目后,相信大家对 Electron 已经有了初步的认知,接下来我们可以查看文档来获取 Electron 更多的背景信息: https://electronjs.org/docs/tutorial/about…
electron-master\electron-master\shell\browser\api\atom_api_web_contents.cc // Copyright (c) 2014 GitHub, Inc. // Use of this source code is governed by the MIT license that can be // found in the LICENSE file. #include "shell/browser/api/atom_api_web…
刚开始看到页面跳转,大家一般会想到用 window.location.href = './index.html'; 这样的代码.结果是可以跳转,但 DOM事件 基本都会失效.到最后还是使用的 electron 提供的 ipc 接口来创建新的窗口. 2-0.在接收到命令后创建下一个窗口(创建窗口需要时间,期间可能出现空白): //在main.js中:: const ipc = require('electron').ipcMain; //进行监控,如果有new-window 发送过来,则重新创建一…