Electron, v3

Wrapping Up

Steve Kinney

Steve Kinney

Electron, v3

Check out a free preview of the full Electron, v3 course

The "Wrapping Up" Lesson is part of the full, Electron, v3 course featured in this preview video. Here's what you'd learn in this lesson:

Steve wraps up the course by discussing packaging OS-specific applications and some key takeaways of this course.


Transcript from the "Wrapping Up" Lesson

>> Kind of like, yes, the things we said we weren't gonna talk about too much today is the unique, packaging for every OS. In Electron Forge, there is an npm-run package which will get you 90% of the way there. Putting in the App Store and getting the signed certificates through Apple, that is not any different than doing it for a native app.

And also very like before I drag everyone on a Windows computer through how to do it through the app store, dropping a $100 in Apple developer thing. And again, through the Windows store, that one I will kind of leave as a, separate process on the actual productionalizing it, because that will always be also a moving target too.

Because Apple changes rules, Microsoft changes the rules, and if you wanna be in the app store, that's obviously different than if you just wanna sign an app and put it out there, so on and so forth. But just npm-run package, we'll go ahead and create you for the OS that you are presently on, that's the other part too.

If you wanna build a Mac, electron app, you need to run NPM run package on a Mac, right, if you wanna build it for Linux, you've got to run it on Linux, if you wanna build on windows, you have to build it on windows. I will say that you are like one Google search away from a 10 line GitHub action script that says with a matrix of Mac, Linux, and Windows, npm-run publish on each of those and store the asset in there.

There's a really great workshop called Enterprise UI Development that goes really into GitHub Actions and how to store the assets and all that stuff. So you should just watch that if you want to figure out how to actually like bring those two things together. But generally speaking, that piece, obviously, the signing stuff is very much Apple, Microsoft, what have you, specific.

But the npm-run package will work for all those things, and that's why I would highly recommend using Electron Forge. Even if you think that you don't need it, having TypeScript support out of the box, being able to just plug in to React Thing very easily, having the native modules taken care of for you.

Being able to package it does have support for like you do need servers that you are running for the crash reporting, and or use something like Sentry. These are like most of those things don't really differentiate too much from like how you doing normally on the web, it's just that you also get a like Report crash like method in electron as well.

So those are kind of like a little bit beyond the like first initial like pass of getting comfortable and exploring. Something we can talk about a later date if we want to, but I think for the most part, like using Electron Forge and being mindful that all of the performance characteristics that are true in the browser and true in node.

Just because you're using node in the browser doesn't like expunge you from either of those, and just kind of keeping those in mind. On the other hand, you have a lot of power and you have the ability to mix and match these things in like incredibly interesting ways to build UIs on top of Node modules or command line tools that you hate.

You could just orchestrate them and not have to think about that anymore, like I like the GitHub App for making commits and cherry picking and all that stuff. And it's easier for me than getting the sha and remembering the syntax and like rebasing in Vim and all those kinds of things that don't want to anymore.

And we're not going to. Awesome, thank you so much. And have fun building cool stuff right on.

Learn Straight from the Experts Who Shape the Modern Web

  • In-depth Courses
  • Industry Leading Experts
  • Learning Paths
  • Live Interactive Workshops
Get Unlimited Access Now