Electron with React JS under 40 min!

preview_player
Показать описание

Electron:
If you can build a website, you can build a desktop app. Electron is a framework for creating native applications with web technologies like JavaScript, HTML, and CSS. It takes care of the hard parts so you can focus on the core of your application.

React JS:
React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes.

Firebase:
Firebase gives you functionality like analytics, databases, messaging, and crash reporting so you can move quickly and focus on your users.

--- Course Overview ---
In the first section, you are going to learn what Electron JS is and what features it offers. We will learn basic concepts like the main and renderer process among many others. The UI part of the application will be handled by React Library, we will install React and we will prepare Webpack which will be responsible for bundling of our source files.

In the second section, we will create multiple views like Home, Chat, Settings views, and many others. We will integrate the routing system so we can navigate between the views. State management of the application will be handled by redux architecture and the data will be stored in the Firestore database. I will show you how to use Firestore queries, how to fetch and manipulate data.

The third section will be dedicated to authentication. We will create a login and register form and I will teach you how to handle errors coming from Firestore. Only logged in users will have full access to our application.

In the fourth section, we will explain redux middleware and we will work on the Notification feature. The application will be able to detect whether the user is offline or online. Connection changes will be displayed by the Notification system.

In the fifth section, we will be working on chat management features. The first one will be chat create functionality. After the chat will be created it will be displayed in the list of available chats. Upon clicking on the join button chat will be joined and added into the list of joined ones. The online status of a user will be displayed when the user will be joined in the chat. A green dot will indicate that the user is online, the gray dot will be reserved for offline status.

In the sixth section, we will be working on the messaging feature. Users will be able to write a message and send it out to our Firestore database. Our Application will be able to detect new messages and display them in the current active chat. Messages will be synchronized amongst many active clients.

Next, we will work on the settings view. Users will be able to change the global settings of our application. Settings will affect mostly the theme of our application and the way how Notifications work. We will store settings in local storage so we are able to retrieve them in the next load of our application.

In the seventh section, we will work on small adjustments in the Electron environment. We will create an application menu with multiple settings. We will add a tray icon to the top or bottom menu of our operating system. We will change the icon of our application and we will start working on the splash screen. The splash screen will be displayed before our main application will be fully loaded. In the last lectures, we will prepare the build configuration and will build up our application into executable files that can run on Windows, Linux, and macOS.

That’s it from the preview. There is much more covered in the lectures. I hope you like the application we are going to work on and I hope to see you in the course.
Рекомендации по теме
Комментарии
Автор

TL;DR
For people who don't like to type:
All the things you'll need to install

npm install --save electron react react-dom
npm install --save-dev
@babel/core @babel/preset-env @babel/preset-react css-loader style-loader sass-loader babel-loader webpack webpack-cli electron-reload

For Window 10 users:
If you didn't see notifications on button click - check your notification settings & remember to turn off 'Focus Assist'

cindy
Автор

Awesome man, I came here just to run react+electron because i already have some react projects, but you open my mind to electron with this simple notification at the end. Amazing!

alessandrof.m.
Автор

Thanks, man! Over 1 thousand articles, quickstarts and videos, you are the first one who explained electron-react solution and how it should work.

jester_x
Автор

This isn't a simple video, but a masterpiece! Thank you very much for this amazing lesson!

ewertoncassianoxavier
Автор

This video has been a lifesaver for me. I've had a ton of trouble for whatever reason, setting up an electron app, setting it up with React, then trying to configure webpack or whatever else, trying to set it up with Sqlite3 and not being able to, then running around trying to download boilerplate templates, Googling errors, additional npm packages...

This is my favorite video that I've found on getting started with Electron. Perfect balance between brevity and depth. You clearly have expertise on the subject and on the ecosystem in general, it's not just copied information available everywhere, you explain things just enough rather than leaving things for granted, like you totally get your target audience. Everything works as advertised. I haven't had to go off and troubleshoot or Google additional things because parts of it were outdated. No bloat, no downloading or copying and pasting anything crazy, or (go and add this npm package with <1000 weekly downloads because I said so), everything included is bare essentials to get working stuff going.

I'm just so thankful for this video! Coding tutorials can be a kind of oversaturated niche, and yet we need more people giving tutorials like this, especially on a somewhat growing technology like Electron. I like your style. Kudos, and thanks so much! Commenting to thank you, and also to help get this video to the top of whatever search algorithm.

mattb
Автор

This is the cleanest way to implement your own pure JS scripts into an Electron app with a frontend framework/library that I have found - This process worked in December 2021 even though the first Google search was a medium article implying Electron only worked with TypeScript. Tysm.

ProjectOceanFloor
Автор

Wow, this is great tutorial! Your explanation is not too theoretically but the fundamental is covered in the same time. I also really like that very simple boilerplate. Thank you!

giffarialfarizy
Автор

Wow, I've learned A LOT of really useful info in just 36 minutes. Amazing work Filip, thanks!!

mikelexp
Автор

thank you very much for your time! you helped me very much! I finally managed to fill the gap between react and electron!

allhailalona
Автор

Thx for the detailed walkthrough. It was quite insightful. Made lot of sense and good rhythm.

louisgirardin
Автор

thats the best tutorial for building pure electron-react app! thanks!

aenkas
Автор

You really do have a great grasp on this stuff. I'm kinda jealous!

amingrateful
Автор

Really really great tutorial👍 The right amount of theory and practice. I just bought the full course because i am sure it will save me a lot of time learning this things.

reinioyeah
Автор

Great boilerplate actually you pointed out from scratch which is amazing

reactnativecoder
Автор

This video was sharp, straight to the point

marcosmercedesn
Автор

thans for this great work!
I was complicated with those docs of Electron React Boilerplate until I find this!

finally figure out these settings, ESM stuffs and structure of the project

sadcandy
Автор

BROH!! if YOU'RE the reason why i get this gig.... I'm donating to this channel

Ebizzill
Автор

You have saved me so much time with this tutorial. Thank you

shinobigamer
Автор

Ok so why doesnt this guy have 1 million followers. Very clear and consise. You can tell he knows what hes doing. Everyone could relate to spam clearing console. Made me laugh everytime. And went at a very good pace.

crimps.on.slopers
Автор

Some people simply have art of excellent explanation. And you are one of them. +1

bilaleme