无边框和透明窗口

1.4万 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
electron程序员,node.js程序员,web程序员,javascript程序员,极客
你将会学到
让学员了解Electron窗口相关API的使用方法
课程简介

 购买本课程后,可以加51CTO学堂李宁老师官方交流群:550369460     注意,该群只允许购买李宁老师课程的学员进行技术交流,加群时需要提供在51CTO购买李宁老师课程的订单编号(任何一个课程的订单编号即可)。

 

本课程是《Electron实战》专题的第2个课程,本课程将帮助学员学习Electron中窗口的各种用法。

本课程同时在WindowsMac  OS X平台上操作和演示,同时也适合于Linux。不管学员使用什么平台,本课程的源代码都可以运行。


本课程的主要内容:

1. 窗口尺寸和位置
2.全屏窗口
3.无边框窗口和透明窗口
4.kiosk应用(锁定模式)
5.设置窗口图标
6.优雅地加载页面
7.父子窗口
8.模态窗口
9. 在关闭多窗口
10.窗口之间的交互(传递数据)
11. 文件展示窗口
12.打开对话框
13.保存对话框
14.消息对话框
15.错误对话框
16. 用HTML5 API打开子窗口
17. 在窗口中嵌入其他页面
18. 用eval方法向子窗口传递数据
19. 渲染当前页面
20. 屏幕API
21. 任务栏进度条

     Electron是Github推出的开源免费的开发桌面应用的框架,现在Github被微软收购,所以Electron目前属于微软公司。 Electron依赖于Node.js,Node.js允许用JavaScript语言开发服务端程序和终端程序(也就是命令行程序),也就是说对于Web应用来说,Node.js + JavaScript = PHP。当然,Node.js不仅能做Web应用,还能做服务端的应用,通过Electron的加入,又让JavaScript增加了一项新技能,这就是开发跨平台桌面应用。Electron使用的技术与开发Web应用的技术基本相同,也就是Web三剑客:HTML、CSS和JavaScript。前两个是做界面的,JavaScript是编写逻辑代码的。通过Electron处理后,可以让Web应用在本地运行,也就是说,用Electron开发的桌面应用本质上就是在本地运行的Web应用。也就是说,Web程序员可以很容易地利用electron开发出强大的桌面应用。


     那么可能有很多同学要问,既然Electron桌面应用就是在本地运行的Web应用,那么我们为什么要使用Electron呢?直接做些网页在本地运行不就可以了吗?用Electron主要有如下两点好处。

1.  由于Electron是基于Node.js的,也就是说,Electron应用可以调用Node.js中的大量API(包括第三方的API)、如网络、加密、存储等。

2.  桌面应用和Web应用的最显著差异就是桌面应用可以访问本地的资源,如连接到计算机上的本地硬件(打印机、扫描仪、摄像头、蓝牙等),还有OS的一些资源,如托盘、docker、touchbar等。而Web应用不可以(即使可以,也是通过安装本地的Web插件实现的)。Electron中提供了大量的API可以完成这项工作。




51CTO学堂推荐专题


李宁老师达芬奇级课程专题李宁老师达芬奇级课程专题   微信小程序实战套餐(JS+ES6+小程序+项目实战)微信小程序实战套餐(JS+ES6+小程序+项目实战)   Web和小程序项目实战系列专题Web和小程序项目实战系列专题   Electron实战专题Electron实战专题   深度学习Python常用函数库系列专题深度学习Python常用函数库系列专题   



51CTO学堂推荐视频课程


Electron实战(1):基础知识视频教程Electron实战(1):基础知识视频教程   Electron实战(3):菜单视频课程Electron实战(3):菜单视频课程   Electron实战(4):高级API视频课程Electron实战(4):高级API视频课程   Electron实战(5):发布Electron应用视频课程Electron实战(5):发布Electron应用视频课程   PyQt5开发与实战视频课程PyQt5开发与实战视频课程   Python数据结构实战(5):链表Python数据结构实战(5):链表   深度学习视频课程(2):Tensorflow与神经网络深度学习视频课程(2):Tensorflow与神经网络   征服ES6(JavaScript)征服ES6(JavaScript)   征服JavaScript征服JavaScript   征服Node.js 7.x征服Node.js 7.x   征服C++ 11征服C++ 11   征服HTML5征服HTML5   项目实战:小程序版网上商城(Node.js + Express + MySQL)视频教程项目实战:小程序版网上商城(Node.js + Express + MySQL)视频教程   Vue视频课程,学习Vue和web开发必备Vue视频课程,学习Vue和web开发必备   项目实战视频课程:美团网(Vue2+Python+Flask)项目实战视频课程:美团网(Vue2+Python+Flask)   开发Node.js本地模块开发Node.js本地模块   Python科学计算与图形渲染库视频教程Python科学计算与图形渲染库视频教程    人工智能-机器学习实战视频课程** 人工智能-机器学习实战视频课程**   

展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交