Electron,我与你,今天不谈技术谈感情!

news2024/9/21 16:35:34

目录

  • 前言
  • 一、无知
  • 二、初见
  • 三、再见
  • 四、相遇
  • 五、行动
  • 总结


前言

今天不谈技术,谈谈我和 Electron 的缘分。可能有人觉得,或许有些人认为,和一个框架谈感情这不是疯了吗?但是,我相信每个开发者都会有同样的经历,真正热爱编程,只是一种关注细节的生活态度。编程是一种温度,一种艺术。我们的开发过程,就如同创造一件艺术品,创造一种价值。

可能大多数开发者会认为编程语言、框架仅仅是实现我们的实现理想和实现价值的一块基石,并没有太多感情上的联系。但实际上,我们对这些工具是有一定感情的,只是我们没有真正静下来思考过这件事。


一、无知

我还记得当我刚刚进入编程开发行业时,接触了公司的一些小项目,并且利用空闲时间探索编程开发相关的新技能和新闻。在那个时候,我总是充满幻想地构思和设计自己的 Web 系统和网站,只是为了满足自己的精神上的快感。尽管我只具备 CURD 的能力,却整天想着开发一个超酷的系统。很无知,但是从另一个层来看,这些构思是我保持编程兴趣的一种方式。

或许,你也有过这样的情况,时常想象和构思各种各样的项目,但是没有一个去行动的。这些想法和计划虽然让我们感到兴奋和满足,但它们没有得到实现也让我们感到失落和沮丧。

然而,随着技能的积累和经验的累积,我意识到建立一个成功的系统网站需要更多的耐心、毅力和坚定不移的决心。慢慢地,我开始少想那么多,转而将时间和精力投入到实现项目上。尽管构思次数和频率下降许多,但我仍然享受用自己的技能和智慧去创造新系统的过程。

随着技能的提高和经验的积累,我们都会意识到自己以前的无知和浅薄。

二、初见

曾经在一个月黑风高的夜晚,在我躺在床上漫无目的地刷手机的时候,突然看到了微信公众号发布的一则消息。一直从事 Web 后端开发的我,也曾经想着自己能够开发出 APP 或者 PC端桌面应用程序。然而,学习开发 APP 或桌面应用会消耗大量的时间成本,而且在我忙于工作之余,还需要学习新的技术。因此,我只能敲着 Web 后端开发的键盘为工作而努力,并放弃对 APP 和桌面应用技能的学习。

不久,一个名为 Electron 的开发框架出现了,使得使用 Web 前端技术开发桌面应用变得容易了许多。作为一个略懂前端技术的后端程序员,我为这个框架的出现感到充满了兴奋,因为我的桌面应用开发难度被降低了许多。

于是,我开始阅读这篇文章,并将其收藏起来,这发生在2019年初。
在这里插入图片描述
读完整篇文章后,我发现它是用来推销课程的,并对 Electron 进行了一顿夸。虽然使用 Electron 开发桌面应用程序需要掌握 HTMLCSSJavaScript 等知识,但也需要学习 Node.js 才能进行操作。但是学习这些对于开发者来说成本较低。尽管我被 Electron 的功能所吸引,但是由于诸多原因(例如自己的懒惰和忙碌的事务),我最终没有开始学习。我放弃了将“想象”变成现实的机会,如今我再去阅读这篇文章,它的公众号阵地都转移了…
在这里插入图片描述

三、再见

后来,我从一线城市回到了家乡——一个五六线的山城。由于工作和生活的需要,我进入了教学培训行业,并有幸能够与一位开发经验丰富的领导共事。在向领导请教相关技术名称时,我了解到了许多有关桌面应用开发的知识。我发现,JavaC++Python 等语言都可以用于桌面应用程序开发,并且一些优秀的开发工具如 QT 框架,能够为我们提供更多功能和便利。

QT 框架使用 C++ 编写,并提供了一系列的 GUI 控件、网络通信和数据库访问等相关工具,具有动态布局、主题和样式、多语言支持等特点,可轻易构建跨平台和本地化的应用程序。采用 QT 开发桌面应用程序,不仅可以在多种操作系统上实现应用程序的兼容性,而且能够提供良好的用户体验和交互效果。

当时,我也想到了 Electron 框架,并向领导推荐了这篇文章。尽管 Electron 使用 Web 前端技术来开发桌面应用程序,而 QT 则提供了一种基于本地桌面应用程序构建的完整解决方案,但这两种框架都是善于构建跨平台的应用程序的工具。

但是吧,忙于教学,也就没有下文了…

四、相遇

最近我非常关注博客,并偶然发现了官方的 “新星计划”。这个计划提供了由导师带领学习的机会,我觉得非常有吸引力,也想着趁着这个机会学习一番。我仔细阅读了各个学习方向,发现自己对 uniapp 开发和 Electron 桌面开发都比较感兴趣。

幸运的是,@中二少年学编程 的大佬正好带着一个 Electron+Vue3 桌面开发的课程,我想都没想就报名了,我记得我是第二个报名的。该课程适合那些具有一定 Node.jsES6 基础以及前端框架 Vue 开发经验的人。而这正好符合我的技能背景,让我感到非常兴奋和期待。

我相信这个机会将让我更深入地了解并掌握 ElectronVue 框架相关的技术,从而能够开发出更高质量和更实用的桌面应用程序。

五、行动

经过快一周的学习和实践,我已经能够借助导师的小 demo,独立完成一些小功能的开发了。虽然我还不够熟练,每前进一步或一个小思路的实现都需要查询半天资料和进行实践试错,但是我已经迈开了第一步,开始了实际的行动。

然而,我发现官网提供的这种导师带队的教学模式并不适合小白。如果你是完全没有相关经验的开发初学者,建议还是先找一套详细的课程进行学习,能够更好地掌握基础知识和技能,从而更快地进行实际开发工作。


总结

以此为契机,进入 Electron 的学习,并将自己的学习、实践进行详细记录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/547705.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于蒙特卡罗方法及其在信号处理中的应用

说明 最近想探讨一下毫米波雷达测量准确度及其改善的问题,这个话题下可供讨论的问题有很多,蒙特卡罗方法(或者说基于蒙特卡罗方法对测量准确度以及精度的评估)是其中之一,该方法是一个十分有效的工具,在科研(发paper)上也是不可少…

UE5 C++类如何读取Excel配置表?

UE5 插件开发指南 前言0 如何编写读取数据的结构体?1 如何读取数据?1.0 如何获取数据资产的路径?2 如何调用商店子系统来读取数据?前言 虚幻引擎兼容CSV和JSON格式的数据结构,这里的CSV是Excel表格的保存格式,如下图所示: 打开任意Excel表格,点击文件菜单,然后鼠标悬浮到…

一文2000字从0到1教你搭建有效的测试环境

作为软件测试行业的从业者,搭建测试环境一定是在工作中少不了的任务安排,那么如何有效的搭建测试环境,咱们今天和大家聊一聊。 首先大家要明白测试环境是为了完成软件测试工作所需要的硬件资源,软件资源,网络资源&…

计算机网络实验(ensp)-​实验2:PPP协议及PAP认证

目录 实验报告: 实验操作 1.建立网络拓扑图并开启设备 2.修改路由器名字 1.输入命名:sys 从用户视图切换到系统视图 2.输入命名:sysname 姓名 修改路由器名字 3.重复步骤1和2配置每台路由器 3.抓包 1.点击菜单栏的“数…

(转载)从0开始学matlab(第7天)—运算的优先级与内置函数

1运算的优先级 许多的数学运算写入一个表达式是非常平常的事。例如,考虑初速度为 0 的匀加速运动的位移表达式 distance 0.5 * accel * time ^ 2 这个表达式有二个乘法运算和一个幂运算。在这样的表达式中,知道运算的先后顺序是十分重要的。如果幂运算先…

Redis系统学习篇-02

目录 redis进阶使用 redis作为数据库、缓存的区别 缓存常见问题、面试回答思路 redis的持久化 参考文档(redis.net.cn):Redis 教程_redis教程 系统学习01篇,总结起来就是,可以把redis想象成一个key/value的hashmap,只不过val…

Linux之路SNAT策略及应用

目录 二、SNAT实验的部署设计 三、具体实验步骤 第一步:做好实验前的虚拟机设置 1)网关服务器的设置 ①添加网卡,修改vmnet ②修改ens33为网关服务器的内网网卡 ③修改新加网卡ens36(这里添加的网卡是什么就用什么&#xff…

FATFS移植 - 基于N32G4FR在SD卡(sd nand)上移植FATFS文件系统

FATFS移植 - 基于N32G4FR在SD卡(sd nand)上移植FATFS文件系统 文章目录 FATFS移植 - 基于N32G4FR在SD卡(sd nand)上移植FATFS文件系统1. 前言2. FATFS文件系统介绍2.1 文件系统的概念和作用2.2 FATFS的特点和优势 3. 相关源码获取3.1 FatFs文件源码下载3.2 国民技术N32软件开发…

我们详细讲讲UI自动化测试最佳设计模式POM

概念 什么是POM? POM是PageObjectModule(页面对象模式)的缩写,其目的是为了Web UI测试创建对象库。 在这种模式下,应用涉及的每一个页面应该定义为一个单独的类,类中应该包含此页面上的页面元素对象和处…

【Java校招面试】实战面经(一)

目录 前言一、单链表找三等分点(链表可能有环)二、讲几个熟悉的设计模式三、Spring IoC、AOP是什么,是如何实现的,Spring MVC是什么?四、怎么实现线程安全,各个实现方法有什么区别,synchronized…

Linux防火墙之iptables(下)

目录 一、通用匹配 1)协议匹配 2)地址匹配 3)接口匹配 二、隐含匹配 1)端口匹配 2)TCP标志位的匹配 3)ICMP的类型匹配 ①请求规则设置 ②回显匹配 ②显示目的不可达匹配 三、显示匹配 1 &…

教你精通Java语法之第十三章、反射

目录 一、定义 二、用途 三、反射基本信息 四、反射相关的类 4.1Class类 4.1.1Class类中的相关方法(方法的使用方法在后边的示例当中) ​编辑 4.2反射示例 4.2.1获得Class对象的三种方式 4.2.2反射的使用 五、反射优点和缺点 六、重点总结 一、定义 Java的反射&am…

计算机图形学 | 实验十:几何纹理(法线贴图)

计算机图形学 | 实验十:几何纹理(法线贴图) 计算机图形学 | 实验十:几何纹理(法线贴图)什么是法线贴图为什么需要切线空间加载法线贴图引入切线空间结果 华中科技大学《计算机图形学》课程 MOOC地址&#…

PCB基础~电源和地平面,去耦电容

电源和地平面 • 应该尽可能的使用电源和地平面, Why? – 在设备和电源之间提供一个低阻抗的路径 – 提供屏蔽 – 提供散热 – 降低分布电感 • 一个完整的无破损的平面是最优选择 – 破碎的地平面会在走线的上下层之间 引入寄生电感 • Remember! • 低频时&…

【服务器】利用树莓派搭建 web 服务器-无需公网IP

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员,2024届电子信息研究生 目录 概述 使用 Raspberry Pi Imager 安装 Raspberry Pi OS 设置 Apache Web 服务器 测试 web 站点 安装静态样例站点 将web站点发布到公网 安装 Cpolar内网穿透 cpolar进行tok…

SQL-DDL语句DQL语句

SQL学习笔记 DDL语句--操作数据表 /* 快捷键: insert键 在插入 和 替换模式之间切换 ctrl 字母z 撤销上一步操作 tab 往后缩进(默认4个空格) shift tab 往前缩进(默认4个空格) …

SpringBoot配置文件和日志

目录 SpringBoot配置文件 SpringBoot配置文件的作用 项目中的重要数据写在配置文件当中 降低代码耦合 SpringBoot配置文件的格式 properties配置文件 读取配置文件中的内容(Value注解使用${}格式读取) properties优缺点 yml配置文件 yml特…

ChatGPT官方APP正式发布!附安装使用教程

目录 前言 APP功能演示 1.与机器人聊天,询问问题 2.语音输入,人机交互 3.聊天历史,新建聊天分组 安装教程 1.下载应用 2.登录账号 3.愉快的玩耍吧 总结 写到最后 大家好,我是大侠,AI领域的专业博主 前言 …

Docker安装常用软件-Kafka集群

零、为了方便开发调试,使用kafka部署一套kafka环境,进行功能调试,方便快捷 一、部署zookeeper 1、下载镜像 docker pull wurstmeister/zookeeper 2、运行zookeeper镜像 docker run -d --restartalways --log-driver json-file --log-op…

(转载)从0开始学matlab(第10天)—自顶向下的编程思想

在前面的内容中,我们开发了几个完全运转的 MATLAB 程序。但是这些程序都十分简单,包括一系列的 MATLAB 语句,这些语句按照固定的顺序一个接一个的执行。像这样的程序我们称之顺序结构程序。它首先读取输入,然后运算得到所需结果&a…