- 作者:老汪软件技巧
- 发表时间:2024-09-09 21:02
- 浏览量:
熟悉我的粉丝们应该知道,我最近很少写文章了。我现在有些对技术本身去魅了,因为纯粹的技术并不足以让我们有更好的发展。事实也证明,我去年的年终总结对前端的判断是对的,虽然那篇被举报限流,但我依旧相信我的观点。
现在写文章并不是纯粹的为了写而写,而是发现了社区在某些内容上有一些缺陷,所以来补全缺憾。
文章地址:给大家一些建议,2024 要多路开花,前端已死(衰弱)不只是说说而已
前言为什么有了这个系列文章
最近有需求要使用 Electron ,我在中文互联网搜索 Electron 相关的文章,想拿来做参考,毕竟官方文档写的并不满足需求。
于是我的得到了这些:
然后我想,可能免费的不太行,去看看小册,花点儿也行。
于是我又收到了一份暴击:
于是我才开始这个系列文章,我对这个系列的最终目的是,写一个完整的 Electron 教程,最终会带大家写一个游戏的管理器,能使用 手柄 更舒适的打游戏。
代码全部开源、步骤完整可靠、前期以文章形式供大家观看,也算是对大家的小小福利 ~
最终大概会以小册的方式整理呈现给大家。
需求来源
最近玩儿游戏遇到一个很蛋疼的事儿,最近下载了很多游戏,我很喜欢躺在床上拿手柄玩儿。
但我每次想换个游戏玩儿,都需要下床拿起鼠标键盘,把游戏退了,在选择进入。手柄不可以操作选择游戏。我也在网上找了一些开源的东西,但总是感觉用起来不够舒服。
所以我便动了自己写一个的心思,最终实现效果应该跟 PS5 差不多,直接可以将电脑接在电视上或者大屏,自己坐在远一点的位置玩儿游戏。
最核心的功能如下:
为什么用 Electron
我选择框架,一直有一个理念:如无必要、勿增实体 。
对市面上很多的软件进行观察,大家会发现,很多 APP 完全可以只需要浏览器就可以完全实现,但他们一定要用一个 APP 来占用你的内存,就为了那么些权限、那么点流量、多赚那么点钱。
作为对此深恶痛绝的开发者,拒绝这种行为,从你我做起。
如果现有的技术栈可以满足需求,不要轻易的选择新的技术栈(学习小玩具除外)。避免由于新技术栈带来的不确定性导致项目稳定性下降。
那有什么需求导致必须要桌面端应用呢?
就是导入和启动游戏,由于浏览器的特性,浏览器不可以直接操作电脑的文件,所以这些功能必须依赖于 windows 的壳子,同时由于对 JS 的熟悉、对 UI 的想法,同时也不怎么需要软件性能, Electron 无疑就成了最好的选择。
Electron 简介
很多人一聊到 Electron 简介,就开始长篇大论了。
什么 Electron 是一个开源框架,由 xxx 开发,基于 xxx,核心是 xxx 、 ....
在我看来,这些都是 没用的废话 ,我想他们很多人自己都没想清楚,为什么要使用 Electron ,为什么不直接使用网站?所以才会写出来一堆假大空的东西。想看这些,我为什么不去官网?官网写的不如你的清晰吗?
这仅是针对文章而言。对小册而言,还是需要补充 Electron 的详细能力,因为文章与小册的目的不同。
上面的内容,都在官网看过,大家有兴趣也可以直接去 Electron 官网 看一下 ,对于本软件而言,选择 Electron 重点在以下几个功能。
我们的需求是,通过一个语言让一个网站包装成一个 APP ,然后在 APP 中管理游戏、启动游戏、且通过手柄控制游戏选择。
对于我们来讲,这些功能就已经足够了,至于其他杂七杂八的,对于我们来说都是锦上添花。
给 chrome 一个壳子包装成一个 app
这个功能对于开发者来讲,是一个鸡肋的功能。通常情况下,网站能实现的我们更愿意使用网站,而不是单独下载一个 APP ,既消耗性能又占用内存,同时还会降低启动速度。
但对于非开发者而言,其实 APP 更具有安全感,尤其对于国内的使用者。国内的使用者不仅仅是不使用 Chrome 的问题,包括收藏夹、链接地址,都是非常规操作(相信很多非开发者的书签栏,都是少儿不宜的内容)。
因此我们其实也需要一个 APP 的壳子。虽然 Electron 本质仍然是个浏览器,只不过是在 Chromium 的内核下缩减了非必要的功能,同时集成了 NodeJS ,然后通过一套 rpc 系统进行通讯。和本地直接启动一个 NodeJS + Chrome 网页进行接口调用也没有太大的区别。
同时支持 Mac、Windows、Linux
这点其实没有太多可说的,既然是基于 Chromium 和 NodeJS ,那它势必在多平台的支持上有很大的优势。
可以通过 node 运行脚本,操作本地软件与文件
这点可以说是我们使用的核心。
作为一个游戏启动器,我们势必要在本地文件中存好游戏的配置文件,以供我们对游戏的配置进行保存。
作为一个游戏启动器,同时我们势必需要通过 NodeJS 来进行游戏的启动与关闭。
所以这是我们选择使用 Electron 的核心诉求。
总结
这篇文章林林总总写了三千字,我预期整个系列大概在 5 - 10 万字,这篇作为开篇,写了比较多的碎碎念。
同时,简单的介绍下 Electron 的一些特点及对于我们需求的关注点。
下期将带大家开始入门 Electron ,从如何下载、安装,安装失败怎么办?怎么搭建我们的框架?等等开始我们的 Electron 入门系列课程。