Electron入门资源
2017-07-07 09:52
323 查看
Electron入门资源
白话讲解Electron和一些资源什么是 Electron?
Electron是一个基于JavaScript, HTML 和 CSS的开发库,可以用来编写桌面程序。这些应用程序可以被打包运行在Mac, Windows 和 Linux电脑上,而且可以被上传到Mac和Windows的AppStore上。定义:
JavaScript, HTML and CSS 是网页语言, 意味着它们可以编写网站,类似Chrome的浏览器知道如何把这些代码转换成人们看到的可使画面。Electron 是一个开发库 Electron 是一套可重用的开发库,不需要重新造轮子。你可以用它来开发应用程序。
资源:
使用 Electron 编写的程序列表Electron API Demos (看看那些东西你可以使用)
为什么是它?
通常每个操作系统的桌面应用程序都是用原生代码开发。这就是说你的应用程序要有三个开发团队。Electron 让你编写一次而且是使用网页语言。资源:
操作系统原生开发语言 大部分操作系统原生开发语言包括如下: Mac, Objective C; Linux, C; Windows, C++.还有更多嘛?
Electron 组合了Chromium和Node.js,还有一些原生操作系统功能,例如:打开文件对话框,通知,icons等等定义:
API API 描述了一套函数,你可以在开发库中看到它们。Chromium Google开发的,是一个开放源代码的程序库,用来构造Google的浏览器 Chrome。
Node.js (或叫 Node) 用JavaScript构造的在服务器端使用的工具,可以访问文件系统和网络(当然,你的PC也是一台服务器!)。
资源:
Node.jsChromium
Electron 博客文章: 使用Node来开发 (deep dive)
Electron 版本号
使用它的感觉?
使用 Electron 来开发就像编写一个网站,你可以平滑的使用Node,或者就像编写Node程序,用 HTML 和 CSS 来编写界面UI。并且你只需要最新版的Chrome浏览器来进行开发。定义:
使用Node 还有很多东西! 除了使用的Node全部API,你可以使用npm中的超过300,000多个模块,npm是一种Node包管理器。同一个浏览器 很多浏览器有一些细微的差别, 网站设计师和开发者通常需要弥合这些差异, 使在不同的浏览器上看起来是一样的。
最新版 Chrome 实现了90%的ES2015标准, 更新到最新的JavaScript, 有一些很库得特性,例如 CSS 变量.
资源:
Can I Use? (see what each browser supports)Updates to Chrome (Chromium Blog)
CSS Variables
准备一下
既然 Electron 的两个主要组成部分是网页和JavaScript, 开始编制程序前,你最好有一些这两个得经验。来看看一些HTML, CSS和JS的教程,然后开始安装 Node 到你的电脑上。定义:
让我们开始吧, 学习网页知识和编写Node程序不需要通宵达旦,真的,你只需要从下面的链接开始。资源:
Install Node (chose the LTS version)NodeSchool Tutorials (try learnyounode)
JS for Cats (by Max Ogden)
Learn to Code HTML & CSS (by Shay Howe)
CSS Tricks (learn CSS best practices and tips)
Mozilla Developer Network (like a dictionary for websites and JavaScript)
两个进程
Electron 有两种类型的进程:主进程和渲染进程。有些模块工作在单个进程上有些模块工作在两个进程上。主进程主要工作在后台上面,你的APP的每个窗口实际上代表了渲染进程。定义:
模块 Electron的API根据他们的功能被组合在了一起。例如:dialog模块定义了所有关于原生对话框的API,打开文件对话框,保存文件对话框,警告窗口。
资源:
Electron APIs 列表主进程
主进程,通常是文件main.js, 是每一个Electron程序的入口。它定义了程序的生命周期,从打开到关闭。它调用原生的控件和创建程序中的每一个渲染进程。而且全部Node API集成在里面。
定义:
调用原生控件 打开文件对话框和其他原生控件与操作系统进程通信的操作比较消耗资源,所以这些都在主进程中执行,不需要打断渲染进程的执行。资源:
Electron APIs 列表渲染进程
渲染进程就是你的程序中的浏览器窗口。跟主进程不同,他们有很多个,而且相互之间是独立的。他们也可以被隐藏起来。通常渲染进程有一个命名为index.html。 他不像一个典型的HTML文件,但他可以访问全部的Node API,不像真正的网页浏览器那样。
定义:
相互之间独立 每个渲染进程是一个独立的进程,意味着即使一个崩溃了而不会影响其他。隐藏 你可以把窗口隐藏起来,使用它就像在后台一样,执行一系列操作。
资源:
Electron APIs 列表想象一下Electron程序的逻辑
在Chrome或其他浏览器中,每一个tab和他的网页内容就像Electron中的一个渲染进程。如果一个关掉了所有的tab,Chrome仍然在那里没有退出,就像Electron中的主进程一样,你可以继续操作打开新的页面或者退出程序。资源:
主进程和渲染进程的区别主进程和渲染进程如何保持联系
主进程和渲染进程之间需要保持通信,他们共同完成不同的任务。这里他们使用了IPC,进程间通信,使用它来在主进程和渲染进程之间交换信息。定义:
IPC 主进程和渲染进程都有相应的IPC模块。把他们组合在一起
Electron程序与Node程序有些类似,都使用package.json文件。这个文件定义了那个是程序的主进程,以及程序的入口点。 然后主进程创建渲染进程,你可以使用IPC在他们之间交换信息。
定义:
package.json文件 这个是Node程序中的常用文件,包括了项目的信息和一系列的依赖项。
程序模板
Electron 程序模板仓库是一个Electron程序的骨架,包括package.json,
main.js和
index.html文件,你可以仔细查看一下,这是一个编写程序开始的地方! 同时,你可以选择下载查看一些模板,框架组成的程序样板。
资源:
Electron 程序模板各种精巧的样板
打包
当你的程序已经编写完成以后,你可以使用工具程序electron-packager来打包,包括 Mac, Windows 或 Linux 版本。把这个工具加入到
package.json中,下载查看下面的资源关于如何上传到 Mac 和 Windows app stores 中。
定义:
command-line tool This is a program that you interact with by passing commands to it in your terminal.资源:
electron-packagerElectron API Demos packaging scripts
Mac App Store Electron Guide
Windows App Store Electron Guide
更多资源
在这里概念上已经足够了,需要更多的了解请看下面的一些资源。资源:
Full Electron docsAwesome Electron: tools, videos, components, meetups
Spectron (Electron testing library)
Devtron (Inspect your Electron app)
相关文章推荐
- iBatis入门的一些网上学习资源
- JSP开发入门(五)----JSP其他相关资源
- MFC入门(三)资源
- NHibernate的基本使用、快速入门 - Microsoft.NET开发框架应用资源(zhuan)
- MTK 个人入门笔记(各个模块资源占用)
- Silverlight 3入门资源
- ASP.NET 入门资源
- netBeans开发j2ME入门一些资源
- Flex3 快速入门:嵌入应用程序资源
- Spring入门14 - 资源文件的取得
- C#免费入门资源汇总
- ASP入门教程(带教程文件_文件在我的资源里面)
- 学习使用资源文件[1] - 入门
- NHibernate 入门学习和工具资源收集
- xslt入门资源
- JSP开发入门(五)--JSP其他相关资源
- appfuse入门资源收集
- Java入门之资源
- [WM].NETCF/C++项目中部署你的资源(入门)
- MTK 个人入门笔记(WMD产品占用资源情况 (以240X320界面为例))