当前位置: 首页 > news >正文

【新书速递】深入浅出Electron

97a1fa2901f7ecafbd2c9bf5c2d03b92.gif

Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发经验。

如今,Electron领域发生了重大的变革,Electron版本更新换代极快,难以计数的Issue得到解决,同时也新增了很多重要的功能,废弃了一些重要的API和内置库。Electron领域最重要的库electron-builder和Spectron也升级了多个版本。

除Electron及其生态外,商业社会更加倾向于使用这种技术来开发桌面应用,像阿里巴巴、腾讯、京东、网易、美团、拼多多等大厂都有基于Electron开发的产品,也都在招聘具备Electron实战经验的人才,而且岗位薪资都相当可观,比同等岗位前端开发工程师的薪资要高出一大截。但这方面的人才目前还是非常匮乏的。

《Electron实战:入门、进阶与性能优化》,如今已经成为入门学习Electron的不二选择。这本书的内容是偏最佳实践的,希望开发者了解怎样以最佳的姿态进入这个领域,怎样用最佳的手段开发出Electron应用,目的是帮助开发者提升生产力。

现在《Electron实战》的作者刘晓伦老师带着第二本书《深入浅出Electron:原理、工程与实践》和大家见面了。

474ba2a5cc26464212a1253ecffa89d4.png

本书的内容是偏底层的,旨在帮助开发者了解Electron及其周边工具的底层运转逻辑,不畏Electron开发领域的难题,即使碰到问题也能找出根本原因和解决方案。本书帮你夯实基础,让你开发出稳定、健壮的Electron应用。

由于涉及了很多底层实现细节(C++编程、操作系统、Node.js和Chromium等),所以本书要求读者具备一定的前端开发基础。如果你的前端技术尚处于初级阶段,希望能通过Electron入门桌面端开发,那么建议你先读《Electron实战:入门、进阶与性能优化》并做一些实战练习,之后再来读本书。

609c85c57a0ba03b471f65c9cd7d1b91.png

2e731e38d5fecb96a5d6ee51e7fea5cc.png

本书特色

本书以“如何基于Electron开发桌面应用”为主线,介绍了大量的周边工具、库及技术。本书的目的是希望读者能从容地用Electron开发桌面应用,涉及了Qt开发框架、C++语言、Node.js框架甚至Vite构建工具等,希望读者不要把眼光局限在Electron这一单一的技术上,不是为了学习技术而学习技术,而是为了达到目的、创造价值而学习技术。

首先,这不是一本面面俱到地介绍Electron与周边生态的书,它只截取了我认为最重要的部分,如果你希望由浅入深、面面俱到地学习Electron,那么我建议你先读《Electron实战:入门、进阶与性能优化》一书,再学习一下官网文档。

其次,本书不会涵盖那些在互联网上随处可见的教程、文章甚至面试题所涉及的内容。本书介绍的内容大部分都是我踩坑付出代价后得到的经验,大部分书里的知识点都是具备独创性的,是首次公开的。

最后,本书假定读者具备现代前端开发能力,了解基本的Node.js知识,甚至拥有一定的原生桌面应用开发经验。在做了这方面的约束后,我才可以从容地绕开那些基础知识,直接与读者交流实际业务领域中的技术问题。

511b6f6a21258f96a30b3827759bea3b.png

cfc61218d10b55f825383d2c0ca5a6b4.png

本书结构

本书分为三部分。

第一部分“原理”介绍Electron及其周边重要工具的运行原理;

02a46f147abf6b7f8b5bfc92571a1f90.png

第二部分“工程”介绍使用不同的技术栈开发大型Electron工程的相关知识;

124ad564deb1db28aff15e8a3918c026.png

第三部分“实践”介绍实际项目开发中的一些具体的技术方案,如窗口池、跨进程消息总线等。

ea786692f006706a03092989495daa74.png

deb38b91d3380a7c75f71b1ba509acae.png

477e3d7aa9dd83b167f29df1e1ea31d7.png

关于作者

刘晓伦,资深技术专家,有10余年研发经验,是Electron及其相关技术在企业应用领域的早期实践者,GitHub/Gitee优秀开源项目作者。作者还为Electron项目提交过数个Issue和Pull Request均被官方接纳。原远传研发中心负责人、小远机器人研发总监。现在担任一家创业公司的技术负责人,负责的产品以Electron为主要技术方向。除此之外,作者还有着十余年的前端及C++(Qt)的开发经验,深入研究过Chromium的源码及相关的协议(DevTools Protocol和V8 Debugger Protocol),其主导研发的产品为数家世界五百强企业提供服务。

0e53e6c634e5be286cf7241c03bdf0be.png

de713e7f69fa62a548cd2db3d32349d5.gif

679650dc920fd0fd23308c0bca68a3cc.png

扫码关注【华章计算机】视频号

每天来听华章哥讲书

0e6512e2e59ad191dd7ae4c2ca426a24.gif

更多精彩回顾

书讯 | 1月书讯(下)| 2022年的第一本书

书讯 | 1月书讯(上)| 2022年的第一本书

资讯 | 重磅!达摩院发布2022十大科技趋势

书单 | 6本书,读懂2022年最火的边缘计算

干货 | Flink1.14.2发布,除了log4j漏洞你还需要关注什么?

收藏 | Docker冲顶技术热词,微服务应用热度不减,中国云原生开发者真实现状如何?

上新 | 【新书速递】金融领域可解释机器学习模型与实践

150a26ef1f300b8aee22e4ae812d6cca.gif

4447b24f545c23f0f25170c32927aabb.gif

点击阅读全文了解本书详细目录

相关文章:

  • Java静态编译技术:突破Java“冷启动”桎梏,实现启动性能“质”的飞跃
  • 脑机接口新进展!只凭意念,操纵机器移动、拿取物体成为现实
  • 【第87期】程序员怎样上元宇宙的车?
  • 什么是贝叶斯定理?朴素贝叶斯有多“朴素”?终于有人讲明白了
  • 数据中台怎么选型?终于有人讲明白了
  • 一幅真实的产品世界全景图,产品小白向上突破必看!
  • 自主IT行业生态需要会造计算机的人才
  • AI正在模仿人类大脑!2021年10篇顶会论文:大脑也在「无监督」学习
  • 终于有人把“嵌入式人工智能”讲明白了
  • 数据分析的 5 种归纳方法
  • 四位RISC先驱获「工程学界诺贝尔奖」,图灵奖得主David Patterson、John Hennessy获奖...
  • 【第88期】这10本硬核技术书,带你读懂5G、物联网和边缘计算,玩转元宇宙
  • 抖音的推荐技术这么强,为什么还有人觉得推荐的一点都不准呢?
  • 【新书速递】如何高效学习存储系统?一本书全都讲明白
  • 学会这10个设计原则,离架构师又进了一步!!!
  • python3.6+scrapy+mysql 爬虫实战
  • co.js - 让异步代码同步化
  • isset在php5.6-和php7.0+的一些差异
  • Javascript设计模式学习之Observer(观察者)模式
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • leetcode388. Longest Absolute File Path
  • MySQL的数据类型
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Python爬虫--- 1.3 BS4库的解析器
  • Vim Clutch | 面向脚踏板编程……
  • Vue学习第二天
  • webpack4 一点通
  • 不上全站https的网站你们就等着被恶心死吧
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 前端之React实战:创建跨平台的项目架构
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • Hibernate主键生成策略及选择
  • Mac 上flink的安装与启动
  • Spring第一个helloWorld
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #if #elif #endif
  • $.ajax,axios,fetch三种ajax请求的区别
  • (3)选择元素——(17)练习(Exercises)
  • (9)目标检测_SSD的原理
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (四)linux文件内容查看
  • (一)认识微服务
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)