Electron学习二:学习Electron和Node.js需要知道的JavaScript知识

Electron 简介:Node.js 桌面开发的起点 在信息技术迅猛发展的时代,桌面应用作为用户与计算机交互的核心载体,一直扮演着至关重要的角色。从上世纪80年代的命令行界面,到90年代的图形用户界面(GUI),再到如今的跨平台、多设备生态,桌面开发的范式经历了多次革命。传统桌面应用开发往往依赖于特定操作系统的原生框架,例如 Windows 平台的 WinForms 或 WPF,macOS 的 Cocoa,以及 Linux 的 GTK 或 Qt。这些框架虽然强大,但也带来了诸多挑战:开发者需要掌握多种编程语言和工具链,导致学习曲线陡峭、代码复用性差、跨平台兼容 阅读详情

写在前面

我们在Electron、Node.js上面做开发,开发语言就是JavaScript,另外,很多库也是利用JavaScript封装而成,了解JavaScript的核心知识是必须的。

JavaScript入门学习地址参见:W3chool 教程,里面教程简洁全面,入门足够。这里只将学习的核心的一些概念和知识列出。

JavaScript语言特性

  • Javascript语言标准规范是ECMAScript,浏览器内置的JavaScript脚本引擎大部分实现遵循该规范;
  • 通用支持:浏览器自带脚本引擎,无需插件,因此现在前端动态语言基本上只有JavaScript,后端五花八门;
  • 动态性:
    • 动态类型:变量的类型可变,根据变量当前的值的类型确定,提供获取变量类型的方法;
    • 运行计算:提供eval函数,在运行时对字符串语句代码进行动态执行和计算;
  • 基于原型和面向对象:
    • 一切几乎都是对象,对象本质上是个关联数组,支持使用原型进行扩展,对象属性可以在运行时添加、重新绑定、删除;
    • 原型:JS利用原型实现继承性,与Java等面向对象语言使用类实现不同,原型和类一样,是对象的元定义和模板;
    • 函数作为对象构造器,使用new和object.create创建原型实例,也就是对象;
    • 函数也作为方法,函数定义和对象方法定义没有区别;
  • 支持函数,函数本质上也是对象,有方法和属性,支持内嵌函数和匿名函数;
DOM、BOM和JavaScript的关系
  • 完整的JavaScript应该包括ECMAScript、DOM和BOM;
  • ECMAScript:规定语言语法规则,定义语言的所有属性、方法和对象;
  • DOM:文档对象模型,定义对象和方法,使用树来表示文档,从而提供对文档所有元素的控制能力,可以在不重载网页的情况下改变网页外观和内容;
  • BOM:浏览器对象模型,定义对象和接口,提供访问浏览器交互的能力,可以控制窗口、屏幕、cookie以及IE中的ActiveX插件等;
  • JavaScript网景自发布起,基本就提供语言、BOM、DOM不同程度的支持,单独的JavaScript语言并无法发挥最大作用;

JavaScript开发调试

开发环境
  • 开发工具:记事本、vs code、JetBrains Webstorm、网页编辑器都可
  • 测试运行:chrome浏览器、IE浏览器开发工具,建议用chrome的开发者模式
浏览器内置引擎直接执行js脚本
  • 在地址栏输入:javascript:alert(“运行JS”),回车即可运行
  • F12打开开发者工具,在控制台输入js代码,即可运行,或者新建snippet脚本片段运行
  • 新建空白网页,引入js脚本,用浏览器打开即可运行
设置断点和控制台输出
  • javascript代码中加入 debugger;手工设置断点;
  • 打开chrome的开发者工具,手工设置断点,执行观察调试;
  • 代码行太长换行,只能在文本字符串中使用反斜杠\换行,不能随意断行;

重点知识

undefined值和null的区别
  • 变量声明时未赋值,读取该变量时输出
electron 基础知识 Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用程序的开源框架。它是由 Github 公司推出的,可帮助开发者在浏览器和操作系统之间构建原生应用程序界面。普通的网页只能运行在浏览器中,无法直接运行在操作系统中,因此网页应用程序也就无法访问文件操作系统。它们也无法执行非JavaScript编写的代码,他们无法调用桌面应用程序可以使用的众多操作系统接口。而通过 Electron,开发人员可以通过使用 Web 网络技术来构建桌面应用程序。 阅读详情

相关推荐

JavaScript全栈实战:从Node.js到Electron,解锁跨平台开发与物联网应用

JavaScript作为一门动态脚本语言,其核心在于基于事件驱动和非阻塞I/O模型的异步编程原理。这一特性使其在构建高并发、实时性应用方面展现出独特的技术价值,尤其适合I/O密集型场景。随着Node.js的出现,JavaScript突破了浏览器限制,成为全栈开发的重要工具,广泛应用于服务器端编程、API网关和实时通信服务。在工程实践中,JavaScript进一步扩展到桌面应用开发领域,通过Electron框架实现跨平台解决方案,并借助Canvas和WebGL技术满足复杂数据可视化需求。此外,在物联网领域,J

weixin_34337381的博客 422

JS教程之Electron.js设计强大的多平台桌面应用程序的好工具

有传言说构建桌面应用程序已经无关紧要。但事实并非如此。Electron.js是一种很好的桌面软件开发方法,在软件工程师中广受欢迎。为什么?这就是我要讨论的内容。您将了解这种 Web 技术背后隐藏着什么,以及为什么要以所需的桌面应用程序为例来应用它。使用 Electron,不需要特定的技能或 SDK。这项技术最好的一点是每个初级开发人员都可以尝试并取得成功。它已经采用了域逻辑、设计和整体 Web 应用程序架构。因此,它有助于降低多平台应用程序开发的价格。此外,该框架由 Chromium 引擎提供支持,可实现最

iCloudEnd的博客 1924

Electron理论知识 14 - Electron和NW.js的对比分析

类似的技术方案 快速开发并部署客户端的现有技术方案中,NW.js可以说和Electron是最相似的了,它们都允许使用Html、Javascript、Node.js技术完成客户端的开发工作。 总体来说作为intel的技术方案,NW.js也有不俗的表现,它起步早,最开始的时候有很大的市场占有量。只是目前已经被后起之秀Electron超越了。类似的技术技术方案,Electron为什么能够后发制人呢?一定有对应的原因。结合官网的信息,我们来分析一下二者的区别和优劣。 不同的表现 1. 应用程序入口 NW.

liuzhen007的专栏 5099

前端开源库-electric

前端开源库-electric使用大豆模板和metal.js的静电发生器。

泛微E9统一待办接口说明

需要第三方表单,在提交自己的流程后,通过【window.location.href=‘oa地址/workflow/request/ViewRequestOS.jsp?需要第三方表单,在提交自己的流程后,通过【window.location.href=‘oa地址/workflow/workflow/WfRefreshList.jsp’】通过中转页面与第三方系统对接,按照第三系统的验证方式开发中转页面中的程序。C)第三方根据相同的数据加密,结果一致就认证成功,打开流程。优点:可以灵活的对接各个系统。

泛微二次开发后端知识总结 6387

3D识别建模 — 基于ReconstructMe和EAGLE EYES SCANNER的实现

3D实体识别建模,作为3D打印反向工程的一个重要环节,今天就让我们利用ReconstructMe和EAGLE EYES SCANNER来了解一下。 第一步、软件和硬件准备就绪 ReconstructMe下载并安装 http://reconstructme.net/?wpdmdl=160 EAGLE EYES SCANNER直接将相应USB插入电脑接口即OK,之后在    中点击搜索“设备管理...

qq_40013290的博客 880

基于MYD-YT153与AD7616的16通道高速ADC采集系统实战指南

在嵌入式系统与工业数据采集领域,模拟信号采集是连接物理世界与数字系统的关键技术。其核心原理是通过模数转换器(ADC)将连续的模拟电压信号转换为离散的数字码值,供处理器处理。这项技术的价值在于实现了对温度、压力、振动等关键物理量的精确感知与数字化,是工业自动化、设备监测、科学实验等场景的基石。本文聚焦于**多通道**、**高精度**采集这一常见需求,深入剖析如何利用全志T153处理器的LocalBus并行总线接口,高效驱动ADI的16位、16通道同步采样ADC芯片AD7616,构建一个稳定可靠的高速数据采集系

weixin_30335353的博客 443

LMI线性矩阵不等式之非线性变量处理

​ 如果一个LMI线性矩阵不等式中的某项存在两个矩阵变量相乘,那么称该类情形为非线性矩阵不等式,而要直接求解时很困难的,而且LMI工具箱也无法求解非线性矩阵,所以需要通过变量替换法进行处理。 ​...

Mr.邹的博客 4549

自动驾驶车辆纵向控制实战:基于CARLA与ROS2的PID算法实现

本文详细介绍了基于CARLA与ROS2的自动驾驶车辆纵向控制实战,重点讲解了PID算法的实现与应用。通过搭建仿真环境、实现定速巡航和自适应巡航功能,帮助开发者掌握自动驾驶核心技术。文章还分享了系统集成、仿真验证及常见问题的调试技巧,为自动驾驶开发提供实用指导。

weixin_33728708的博客 354

深度解析 Android 开发工程师岗位:技术栈、职责与面试全攻略

本文深度剖析Android开发工程师职位要求,从核心技术栈到面试准备进行全面解读。关键点包括:1)掌握Kotlin语言特性和Jetpack组件;2)具备UI开发、性能优化和逆向分析能力;3)理解MVVM架构和Room数据库;4)熟悉常用工具链和开发流程。文章提供了详细的面试题库及解析,涵盖基础概念、UI优化、架构设计等方向,并给出职业发展建议:夯实基础、拓展技术广度、培养工程素养。旨在帮助开发者系统性地准备Android岗位求职,把握移动开发领域的技术趋势。

郑伟强dev的专栏 172

virtuoso:layout如何做flat修drc

有些drc在virtuoso layout中修更节省时间,比如遇到一些via array需要做删改时,发现工具把via array做成了一个cell,如图。去改cell可能会影响很多via,所以最好的办法是做flat,去调整cut,比如删除。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 342

MAC-H3C官网inode客户端下载安装

MAC-H3C官网inode客户端下载安装

兴趣是最好的老师 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: Electron学习一:Electron、Node.js、JavaScript、JQuery、Vue.js、Angular.js的不同
下一篇: PPT出现MCI错误提示:无法在指定的MCI设备上播放指定的文件。文件可能已损坏,或格式不对,或没有此格式的文件处理程序可用
壹零Boy
博客等级 码龄14年 31粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值