This course is out of date and does not reflect our standards or industry best practices.

Check out a free preview of the full Electron Fundamentals, v2 course:
The "Course Overview" Lesson is part of the full, Electron Fundamentals, v2 course featured in this preview video. Here's what you'd learn in this lesson:

Steve discusses what the itinerary is for the class, including building an app, using Selenium to test the app, packaging the app for distribution, and setting up a server to receive crash reports.

Get Unlimited Access Now

Transcript from the "Course Overview" Lesson

>> Steve Kinney: So what are we going to build, is the next question. We're gonna build two applications in a few different forms. We're going to build a little mini text editor which renders mark down. And you can kind of see the scope of it from those buttons along the top.

[00:00:15] We'll be able to open, read, and write from the file system. You can't do that in the browser. Or we'll write to the file system, that would be a terrible idea in the browser, so on and so forth. We'll be able to trigger okay, open this into whatever the default application is.

[00:00:28] And for you, that might be a very different text editor than it is for me, but luckily your operating system knows what you want to open up markdown files in. And so it'll basically just ask the OS, hey I want to open this in whatever text editor you use.

[00:00:42] I'm probably the last Text Mate user on the planet so it'll open in that on my file system. But you can also show the file in your file system. A bunch of stuff that you could not do in the browser. We're also gonna build this application called Clip Master, which is gonna be a little clipboard manager.

[00:00:57] So you can read and write to the system clipboard. We'll actually be able to persist it using a SQLite database that'll live on the file system that we'll talk to directly. So that'll be a native module. And this'll also be done in just, effectively, baby's first React app as well, just to show how we can transpile SAS, and typescript, and Babel in our Electron apps.

[00:01:18] And this is what I was talking about earlier, we'll have a build process and you'll barely even notice. This will be application that will do that. And then just for kicks we'll take this application and we'll make it a menu bar application that lives either in the system tray on Windows or Linux, or up in the menu bar on Mac OS.

[00:01:38] So then you would have this clipboard manager not have it be a full app that you have to command tab to. This also will support global shortcuts, so you'll be able to hit just a keystroke on your computer from anywhere and it will write to the clipboard manager.

[00:01:48] If you wanna take the most recent thing and put it back on the clipboard, we'll add a keystroke for that as well. So that'll just be, you can be anywhere in your operating system, hit this keystroke and interact with this application. It'll use native notifications, so on and so forth.

[00:02:04] We'll also cover writing integration tests. How can we fire up our application, have Selenium go poke at it, press a bunch of buttons, and see what's going on? We'll learn to then, at first, when we're developing the application, we're gonna spin it up from the command line. And that's neat, but eventually we're gonna wanna give to humans.

[00:02:25] And to say, hey, mom, I made this really great app, just open the command line and make sure you have Node installed. Cool. [LAUGH] That's not a great user experience. So we'll talk a little bit about packaging the application for distribution. We won't get into stuff like code signing cuz that involves money and very operating system-specific things.

[00:02:46] So we'll have to kind of just talk about that briefly, we won't go all the way into that. And then I think the scariest part about distributing an application is once you install that application I hope it works. And if it doesn't, we wanna know. So there are built in ways of getting crash reports.

[00:03:04] So will look into how to tap into that. So once your application goes out on the world you can be confident that it's doing the thing it's supposed to do and not just falling over. Cuz it'd be better if you knew that the application was crashing before you just find really, really angry people who are telling you.

[00:03:20] One way or another, crash reports are gonna get back to you. But ideally, if you can patch it first, that's better. And then we'll write our own custom way of tracking uncaught javascript exceptions as well