王小维的博客

我根本不会写代码


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

Electron进程通信

发表于 2019-09-01 | 分类于 技术向

前言

Electron中的进程,其实就是计算机中的进程,我们先来看看什么是进程通信

进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法

每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。

一个Electron应用有一个主进程和多个渲染进程,渲染进程还可能内嵌多个webview。两两之间都可能需要进行通信,情况还是比较复杂的。

阅读全文 »

浏览器启动本地软件

发表于 2019-09-01 | 分类于 技术向

背景

许多本地应用(例如vscode、QQ),都支持通过浏览器来启动PC上的本地软件

这个功能够使网页端和客户端联动起来,用户体验还是很好的,实现起来也并不复杂。酷家乐客户端已经支持了这个功能,如下图:
从浏览器启动酷家乐

阅读全文 »

Electron软件自动更新

发表于 2019-09-01 | 分类于 技术向

更新原理

在讲客户端更新方案之前,我们先了解一下web和客户端更新的原理

web应用

在web应用的世界里,我们通常会更新web服务器上的前端代码(模板、HTML,也可能是js、css),来发布新的功能。在此之后用户再访问我们的web服务器,拿到的已经是更新过后的前端代码了。

web应用更新如此方便,得益于它中心化存储的方式:

  1. web应用的前端代码,一般集中储存在服务器或云服务上
  2. 浏览器每次都会都会去服务器拉取最新的资源,用户本机实际上没有持久化储存web应用的代码

浏览器缓存也算是在用户本机存储了前端代码,但是在web应用需要更新的时候,肯定是会禁用缓存的,否则这次发布对有缓存的用户无效。

阅读全文 »

Electron入坑篇

发表于 2019-09-01 | 分类于 技术向

本文的初衷

Electron所使用的技术栈(JavaScript、NodeJs、HTML、CSS)和web前端工程师完美契合。于是,越来越多的前端工程师,用Electron来开发桌面客户端的开发,我也是其中的一员。

虽然Electron技术栈对前端工程师比较友好,但是概念较多,和web前端开发还是有很大差别的,写个入坑指南希望能帮助读者快速上手Electron。

阅读全文 »

Electron下载器

发表于 2019-09-01 | 分类于 技术向

背景

打开酷家乐客户端,可以在左下角的更多菜单中找到下载管理这个功能,今天我们就来看看在Electron中如何实现一个下载管理器。

下载管理器

阅读全文 »

在酷家乐实习的日子

发表于 2017-09-08 | 分类于 随笔

前言

在写这篇文章时,我在酷家乐实习已经有两个月了。趁着前端团队强化对外输出的机会,我写一下我实习时候的一些经历和感受。一方面可以对外介绍一下我们公司,另一方面也算对自己的实习做一个小的总结。

阅读全文 »

从JQuery到Vue

发表于 2017-08-13 | 分类于 技术向

从JQuery到Vue

目前公司主站以及老的KMS页面采用的是JQ + ES6, 而新版KMS则是由Vue开发的。

使用Vue开发更加高效,优雅。但是从JQuery转到Vue其实有个过程,我在开发前自认为对Vue还是挺了解的,但是真正动手起来发现还是有一些不适应。因此在此写下一些心得,记录下来。

阅读全文 »
王小维

王小维

生活就像写代码,总是有bug

7 日志
2 分类
7 标签
GitHub 知乎 E-Mail
© 2017 - 2020 王小维
由 Hexo 强力驱动
主题 - NexT.Muse