Learn Electron in Less than 60 Minutes - Free Beginner's Course

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 พ.ย. 2024

ความคิดเห็น • 364

  • @DesignCourse
    @DesignCourse  7 ปีที่แล้ว +99

    Coming soon: Electron + Angular 5 / Electron + Vue.js. -- and intermediate Electron tutorials.

    • @noormohammedshikalgar
      @noormohammedshikalgar 7 ปีที่แล้ว

      Hey Sorry For my comment , i realize that my timezone is further so im really sorry

    • @DesignCourse
      @DesignCourse  7 ปีที่แล้ว

      No problem, yeah, it's 11 AM here. ;)

    • @noormohammedshikalgar
      @noormohammedshikalgar 7 ปีที่แล้ว

      thanks for your reply i thought i was rude little bit...
      so thank you for the electron .... i am amze to learn more about electron.....

    • @kuldeepbhatt8475
      @kuldeepbhatt8475 7 ปีที่แล้ว

      Hey, I am stuck with routing issues with bootstrap 4 and angular5+ electron. It goes freeze for normal route link, not sure what i am doing wrong. I would be happy if you address elements such as navbar, menu and routing on your videos so i can rectify my mistake. Thanks, I am your new subscriber.

    • @noormohammedshikalgar
      @noormohammedshikalgar 7 ปีที่แล้ว

      Hey , Im trying to do notification but its not working , not showing there not any error in console log and also the btn click is working properly but the notification is not showing on the screen i also followed the written tutorial but it same as early what to do? any suggestions please!

  • @OpCode90
    @OpCode90 3 ปีที่แล้ว

    I am writing a custom inventory management and control application for personal use and was banging my head against the desk over the IPC stuff in Electron. I'm a developer of 30+ years and I'm also learning Electron for the first time. This tutorial explained perfectly on how to go about sending those IPC message events back and forth. I just wanted to send you a huge Thank You! I'm now a subscriber and look forward to your courses.

  • @nngogol244
    @nngogol244 6 ปีที่แล้ว +46

    Short and Excellent. That's what I called a "GREAT TUTORIAL".
    Nice montage. No 'emm..', no 'aaa'. Everything is *clean* and *understandable.*
    I just love you. Thanks for your work. *Thumbs up from Gogol.*

    • @zenisapirate
      @zenisapirate 3 ปีที่แล้ว

      noice feed back no read more usage !
      SIKE!

  • @kevinrauer
    @kevinrauer 6 ปีที่แล้ว +5

    Amazing.. I have been meaning to try Electron for more than a year now, and You tutorial has started the fire.. Thanks for laying it all out and answering so many of my question right in the video!! Kudos!!

  • @jason_liam
    @jason_liam 4 ปีที่แล้ว +6

    Those who're wondering why @35:13 the button is not working, below is the solution:
    *Just change*
    let win = new BrowserWindow({frame:false,alwaysOnTop:true,width:400,height:200,
    })
    *this to*
    let win = new BrowserWindow({frame:false,alwaysOnTop:true,width:400,height:200,
    webPreferences: {
    nodeIntegration: true,
    enableRemoteModule: true
    }
    })
    *After doing the above changes inside index.js file you will find that the close window button is working.*

  • @seandegee
    @seandegee 4 ปีที่แล้ว

    A bit late to the party here, but this is honestly the best tutorial on Electron I've come across to date.

  • @angrishlakshay
    @angrishlakshay 4 ปีที่แล้ว +12

    For enabling *Close Window* in the second window, we need to enable nodeIntegration as it is false by default. Otherwise you get the error: *Uncaught ReferenceError: require is not defined*.
    Also, for the latest crypto-compare API, you need to write *res.data.USD* instead of *res.data.BTC.USD*.

    • @asadullah8640
      @asadullah8640 4 ปีที่แล้ว

      how and where nodeIntegration is enabled?

    • @sajanmathew7192
      @sajanmathew7192 4 ปีที่แล้ว

      Thanks for pointing that out, saved me time

    • @sajanmathew7192
      @sajanmathew7192 4 ปีที่แล้ว +4

      @@asadullah8640 in the index.html file
      const modalPath = path.join('file://', __dirname, 'add.html')
      let win = new BrowserWindow({frame: false, transparent: true, alwaysOnTop: true, width:400, height:200, webPreferences: {
      nodeIntegration: true
      }})

    • @ashwingurbuxani317
      @ashwingurbuxani317 4 ปีที่แล้ว +1

      @@sajanmathew7192 Thank you Sajan! It worked. It's in the index.js file,.

  • @-lunte.
    @-lunte. 3 ปีที่แล้ว +2

    for anyone who cannot open or close the add window: in index.js change
    let win = new BrowserWindow({frame:false,alwaysOnTop:true,width:400,height:200,
    })
    to
    let win = new BrowserWindow({
    frame: false,
    alwaysOnTop: true,
    width: 400,
    height: 200,
    webPreferences: {
    nodeIntegration: true,
    contextIsolation: false,
    enableRemoteModule: true
    }
    })
    and in main.js change the new "function createWindow()" to this:
    function createWindow() {
    const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
    nodeIntegration: true,
    contextIsolation: false,
    enableRemoteModule: true,
    }
    })
    win.loadFile("src/index.html")
    in Electron Version "12.0.7" you need this.

  • @poloska9471
    @poloska9471 6 ปีที่แล้ว +3

    You made a very nice course, extremely clean, understandable, and very well recorded/ edited.

  • @blackdragoninnovations3563
    @blackdragoninnovations3563 6 ปีที่แล้ว

    Hey Gary,
    A little tip for Visual Studio Code: if you want to quickly create an HTML document layout, simply create the new HTML file and type *"!"* (without quotes) on the first line, followed by pressing the *TAB* key on the keyboard. It will automatically build out a basic HTML structure for you.

  • @heavenseyes1911
    @heavenseyes1911 4 ปีที่แล้ว

    Let me just say that this is the most impressive audio and visuals I have seen in a tutorial. Fantastic work!

  • @askimakdag
    @askimakdag 6 ปีที่แล้ว +2

    It was the best beginer course i have ever seen. Thank you gary !!

  • @Sladeofdark
    @Sladeofdark 6 ปีที่แล้ว

    OMG this.. is everything i have ever wanted in app development. how had i not heard of this before? if it could run on Powershell code, or .net it would be a dream come true.

  • @JAYCPRUDZ
    @JAYCPRUDZ 5 ปีที่แล้ว

    Legit.. with a little tweak,it's working 100% in 2019.

  • @Default64Bit
    @Default64Bit 4 ปีที่แล้ว +1

    you can toggle your terminal with ctrl+~
    also, you can make a new terminal with ctrl+shift+~

  • @ronakpunase80
    @ronakpunase80 6 ปีที่แล้ว +1

    Found the IPC thing really helpful. Great Work

  • @adamtemple9417
    @adamtemple9417 6 ปีที่แล้ว +2

    If anyone is getting a win not defined error, it's because of the new quick start code uses MainWindow not win so in your Main.js change the ipc to :
    ipc.on('update-notify-value', function(event,arg){
    mainWindow.webContents.send('targetPriceVal', arg)
    })

  • @Fabian-_-
    @Fabian-_- 6 ปีที่แล้ว

    How to make it like these desktop apps?:
    - many Steam Game Launchers have a complete own window appearance, like a custom outer form (f. ex. Paladins shows its logo outside the app) (think Google has a image of the launcher)
    Really good explained video! Thanks for that!

  • @MohMed-cx2bl
    @MohMed-cx2bl 5 ปีที่แล้ว +2

    that was the best tutorial i have seen in months ..it helped so much thank you so much,its great

  • @Javedboqo1
    @Javedboqo1 4 ปีที่แล้ว

    Explain delightfully

  • @badreenam4472
    @badreenam4472 6 ปีที่แล้ว

    Simply awesome. Gives me a good start with Electron. Thank You.

  • @Jaaasperrr
    @Jaaasperrr 6 ปีที่แล้ว +5

    If you have Menu error: ReferenceError: Menu is not defined, do the following:
    Add:
    const { Menu } = require('electron')
    Paste this above the line that states:
    var menu = Menu.buildFromTemplate([
    Now your menu will work!

  • @JustonianInstitute
    @JustonianInstitute 6 ปีที่แล้ว

    Thanks for the free, well produced, articulate and informative tutorial. I learned alot.

  • @Ohilipp
    @Ohilipp 6 ปีที่แล้ว

    Great videos! For me the best video-tutor until now, clear voice, excellent content and secondary resources! Many thanks from my side :)

  • @SmugMugg
    @SmugMugg 7 ปีที่แล้ว +6

    Thanks Gary! I've been anticipating this video all week!

  • @ChamaChama205
    @ChamaChama205 4 ปีที่แล้ว

    Very great & concise course, thank you for putting it together and making it available for free!

  • @Xdavidel
    @Xdavidel 7 ปีที่แล้ว

    Hi Gary, I think it is better to use require in the main.js file as less as possible... using string interpolation improves performance.

  • @michaelsimsek
    @michaelsimsek 5 ปีที่แล้ว +1

    loved it! Thank you!!! Tutorial about an app for people communicating, chatting?

  • @jannikmuller2554
    @jannikmuller2554 5 ปีที่แล้ว +1

    Awesome high-quality tutorial. Thanks man!

  • @mathemasbm
    @mathemasbm 3 ปีที่แล้ว +1

    **UPDATES**
    Use:
    const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
    nodeIntegration: true,
    contextIsolation: false,
    enableRemoteModule: true
    }
    }
    for creating BrowserWindow object in main.js
    Use:
    let win = new BrowserWindow({
    frame: false,
    transparent: true,
    alwaysOnTop: true,
    width: 400,
    height: 200,
    webPreferences: {
    nodeIntegration: true,
    contextIsolation : false,
    enableRemoteModule: true
    }
    })
    in your index.js and change add.css file to include:
    html, body {
    background: rgba(226, 226, 226. 0.5);
    height: 100%;
    opacity: 0.9;
    }
    Including "nodeIntegration" and "contextIsolation" removes your "Uncaught ReferenceError: require is not defined" that will show for index.js line 1 ( const electron = require("electron") )
    "enableRemoteModule" let you use "const BrowserWindow = electron.remote.BrowserWindow" in index.js while removing the "Uncaught TypeError: Cannot read property 'BrowserWindow' of undefined at index.js:3" error
    [NOTE: I've read comments and need suggestion on nodeIntegration: true security issue, I know it is okay for this small local project but how did you modify if you need to resolve the security issue because not good practice AND of course electron.remote is deprecated as you'll the warning in the console if you have win.webContents.openDevTools() ("win" is BrowserWindow object)]

  • @bubulelemimipopo
    @bubulelemimipopo 4 ปีที่แล้ว

    Thank you for sharing your knowledge. Your tutorial is very well built, easy to follow and put into action. Great stuff!!

  • @JavierLust
    @JavierLust 6 ปีที่แล้ว +1

    Thank you very much for the tutorial! It was awesome and helped me to understand a bit more electron :)

  • @Kimo007
    @Kimo007 7 ปีที่แล้ว +5

    Respect from EGYPT

  • @behroozzahedi
    @behroozzahedi 7 ปีที่แล้ว

    interrupt info in this video is cool, great idea 👍

  • @mohamedsuhailirfankhazi6628
    @mohamedsuhailirfankhazi6628 2 ปีที่แล้ว +1

    At first I was shocked at how low the BTC price was. Then I saw the date this video was uploaded at.

  • @harisamjad-pro
    @harisamjad-pro 4 ปีที่แล้ว

    Sir, kindly make react and electron videos, it helps us a lot in practical and professional experience as well.

  • @CarlosReyes-wx8pr
    @CarlosReyes-wx8pr 5 ปีที่แล้ว

    Great tutorial!!! Clean and easy. Subscribed right away

  • @szacsp
    @szacsp 7 ปีที่แล้ว

    Your teaching style is awesome. I like it. waiting for Electron + Angular 5 / Electron + Vue.js tutorial.

    • @DesignCourse
      @DesignCourse  7 ปีที่แล้ว

      I will cover Vue for sure.

  • @MrSuija
    @MrSuija 5 ปีที่แล้ว

    If you're looking for a way to automatically restart the server after every change, I found this useful script that uses nodemon. Add this to your package.json file: "dev": " nodemon --watch . --exec \"electron . --debug\" ", and then simply run `npm run dev` in your terminal.

  • @francispolignano4208
    @francispolignano4208 6 ปีที่แล้ว +1

    Great tutorial! Thanks for sharing, helped a lot.

  • @arnav236
    @arnav236 4 ปีที่แล้ว +1

    This tutorial could have been made simple by using ipcRenderer and ipcMain. For example here is the code for the notifyBtn part:
    index.js:
    const electron = require("electron");
    const path = require("path");
    const {ipcRenderer} = electron; //importing ipcRenderer
    const notifyBtn = document.getElementById("notifyBtn");
    notifyBtn.addEventListener("click", function(){
    ipcRenderer.send("addWindow");
    })
    and here is the main.js:
    //importing
    const electron = require("electron");
    const path = require("path");
    const {protocol} = electron;
    const url = require("url");
    const {app, BrowserWindow, ipcMain, Menu} = electron;
    const shell = require("electron").shell;
    function createAddWindow(){
    // create new window
    addWindow = new BrowserWindow({
    webPreferences:{
    nodeIntegration: true
    },
    width: 400, // defining the size
    height: 200,
    });
    // quit app when closed
    mainWindow.on("closed", function(){
    app.quit();
    });
    // garbage collection
    addWindow.on("close", function(){
    addWindow = null;
    })
    // load html file
    addWindow.loadURL(url.format({
    pathname: path.join(__dirname, "add.html"),
    protocol: "file:",
    slashes: true
    }));
    }
    ipcMain.on("addWindow", function(){
    createAddWindow();
    })

  • @luciafava374
    @luciafava374 7 ปีที่แล้ว +1

    Thanks Gary! Awesome videos! can you please make a video of how to deploy with gulp?

  • @wasserfest2219
    @wasserfest2219 4 ปีที่แล้ว

    Amazing Tutorial. Thanks a lot!

  • @paulpeeters
    @paulpeeters 6 ปีที่แล้ว +1

    Thanks for this. Great tutorial !

  • @thecodingowl
    @thecodingowl 4 ปีที่แล้ว +2

    Alright so if anyone watching in 2020, just a quick fix,
    JavaScript and node are disabled in the new frame so you have to explicitly set them to true,
    electron-builder is better and maintained for packaging.

    • @keithsherry262
      @keithsherry262 4 ปีที่แล้ว +1

      Great advice - thanls for the headsup on electron-builder!

    • @thecodingowl
      @thecodingowl 4 ปีที่แล้ว

      @@keithsherry262 :)

  • @tomasvancoillie
    @tomasvancoillie 5 ปีที่แล้ว +1

    Great tutorial Simon. There were no ";" in 2017?

  • @Thesrik23
    @Thesrik23 7 ปีที่แล้ว

    Hey Gary! Your tutorials are just awesome.

    • @DesignCourse
      @DesignCourse  7 ปีที่แล้ว

      Thanks, means a lot!

    • @Thesrik23
      @Thesrik23 7 ปีที่แล้ว

      Waiting for you Django beginner, intermediate and advance video series.

  • @deanzhang9099
    @deanzhang9099 6 ปีที่แล้ว

    very excellent. I learn much from this video

  • @wagyourtai1
    @wagyourtai1 6 ปีที่แล้ว

    let > var

  • @haidinurhadinata2661
    @haidinurhadinata2661 5 ปีที่แล้ว

    good tutorial.. and for me very easly to about first time learning electron js

  • @jamesjones3879
    @jamesjones3879 6 ปีที่แล้ว

    I have been watching your videos about electron. They are perfect. Well done.
    I have quick question though. I am trying have a small webcam window on the top of the main window. Cam window will stay always on top of main window and can be moved around within the main window. cam window cannot be resized...etc. Where I struggle is to keep the webcam window within the main window.
    Could you please help me about it?
    Thank you,

  • @Slate245Ivanovo
    @Slate245Ivanovo 5 ปีที่แล้ว +2

    Thanks for the great tutorials!
    Correct me if I’m wrong, but after reading the quick-start guide on electronjs I thought that MainProcess has to manage all the windows of an app. Does this mean you shouldn’t have created the “add” window in index.js but rather call main.js?

    • @keithsherry262
      @keithsherry262 4 ปีที่แล้ว

      I am only around half-way through the tutorial and wondered the same thing! I'm not sure for the reason why you would want index.js to know anything about add.html... but I am currently just as confused as to why it was called 'add' in the first place. So far, the 'notify' button opens an 'add' window (that doesn't 'add' [yet!]), which is created in 'index'.

  • @zeeshanyshaikh
    @zeeshanyshaikh 6 ปีที่แล้ว

    Awesome video 👌👍
    Just a query... How to pass multiple values through ipc. I mean if i have a form with multiple fields.

  • @a-raheemjamaal5564
    @a-raheemjamaal5564 6 ปีที่แล้ว

    Thumbs up Gary! Awesome video!

  • @de_inferno1613
    @de_inferno1613 4 ปีที่แล้ว

    If anyone is having issues with the JavaScript not working on your add.html page, add 'webPreferences:{nodeIntegration: true}' to your BrowserWindow options. Example:
    let win = new remote.BrowserWindow(
    {
    transparent: true,webPreferences:{nodeIntegration: true},frame: false, alwaysOnTop: true, width: 400, height: 200
    })

  •  6 ปีที่แล้ว

    You deserve more subs sir, super useful!

  • @viergehirn
    @viergehirn 6 ปีที่แล้ว

    This Video is awesome. Thank you Gary!

  • @nuwang1
    @nuwang1 6 ปีที่แล้ว

    Awesome stuff Gary thanks for contributing

  • @robertb4382
    @robertb4382 6 ปีที่แล้ว

    Nice tutorial. All worked for me except the final build. The packaged app is no longer is able to get the bitcoin price. Any suggestions? Thanks!

  • @iancarr3923
    @iancarr3923 6 ปีที่แล้ว

    Excellent, thanks!

  • @ahmedthebest
    @ahmedthebest 4 ปีที่แล้ว +1

    can you please make a update version of this tutorial in 2020?

  • @tomkache3857
    @tomkache3857 6 ปีที่แล้ว

    Great video! Thanks a lot!

  • @TheEvgenivasilev
    @TheEvgenivasilev 6 ปีที่แล้ว

    Just a small refresh, the latest version of Electron holds shell in electron module not in separate shell one!

  • @sonikasahay7677
    @sonikasahay7677 6 ปีที่แล้ว

    Waao.... Great one. Saved my life. Thank You :)

  • @hostlondonoempezar7906
    @hostlondonoempezar7906 6 ปีที่แล้ว

    hello , Thank you , i am from Colombia very big you helps

  • @dinobulja
    @dinobulja 6 ปีที่แล้ว

    Garry, thank you. I am new to Electron and Web in general but experienced in native. I was wondering if you could give some advice. I want to wrap code written in C# into some kind of web wrapper. The wrapper will have to talk to some web service and communicate information (uploads/downloads/changes etc) back to a web or native app. Is Electron built for that and what other technologies are required for something like this?

  • @surajkumarvishwakarma5146
    @surajkumarvishwakarma5146 6 ปีที่แล้ว

    Loved your video.

  • @nkl_sl
    @nkl_sl 3 ปีที่แล้ว

    Thanks a lot

  • @tknoodle
    @tknoodle 6 ปีที่แล้ว

    TL;DR - index.js and src/main.js should be swapped for consistency of correspondence of view/controller (html/js) pairs. Otherwise, great tut :-)
    ---
    Doing some extra stuff, I tried to get `document` object in main.js and was stumped getting `document is not defined` error
    In fact, src/main.js and index.js in this tutorial should be swapped, so that index.js is the bootstrapping script, whereas main.js becomes the in-window rendering scripting, just as add.js corresponds to add.html
    That way, I could finally use win.webContent.send() to use a menu item from the newly renamed index.js to send data to the main window using ipcRenderer.on()

  • @vmars316
    @vmars316 4 ปีที่แล้ว

    Do you have a Tutorial 'Create a web browser with Electron' , using browserView , webcontent (not webview) ?
    Thanks

  • @nitrotech9701
    @nitrotech9701 6 ปีที่แล้ว

    Thanks a lot for great tutorials.

  • @SudipBhattacharyya
    @SudipBhattacharyya 5 ปีที่แล้ว

    Got an idea of Electron. THANKS! ;-)

  • @TananBaboo
    @TananBaboo 3 ปีที่แล้ว

    Awesome job

  • @stormbytes
    @stormbytes 6 ปีที่แล้ว

    ATT MAC USERS: In OSX the first menu item MUST BE "Electron". You cannot change this behavior. So if you want a 'Menu' label as the second menu bar item. Eg. { label: 'Electron' }, {label: 'Menu', submenu: [{label: 'File'}, ....... etc....]. You can read about it here: github.com/electron/electron/blob/master/docs/api/menu.md#main-process

  • @WissTune
    @WissTune ปีที่แล้ว

    Thank you Gary, @ 31:00 -> I got, "Uncaught ReferenceError: require is not defined" and I did not get the index box!!! Any idea how to solve this?

  • @haroldramos1567
    @haroldramos1567 6 ปีที่แล้ว

    Gary what framework do you prefer between react and Vuejs?

  • @techboy5019
    @techboy5019 3 ปีที่แล้ว

    Best content thanks

  • @Saad-pj7ip
    @Saad-pj7ip 4 ปีที่แล้ว +2

    Around 45:00 my target price update wasn't working. I'd get an error about win not being declared. Even with 'let win' in my main.js, it didn't work. To fix it, I replaced 'let win' with 'var win = null' then in createWindow() replaced 'const win =...' with just 'win = ...' Problem is that declaring const win inside a function is only on the function scale, not the global scale. For our ipc.on to access win, win needs to be globally available. Don't know why let didn't work but oh well.

    • @psyno1856
      @psyno1856 3 ปีที่แล้ว +1

      I had the same problem, but I made my createWindow function return the win value and store it in the global win which was declared with let and yeah it worked

  • @ThePakovia
    @ThePakovia 7 ปีที่แล้ว

    great videos, love the camera, graphics, sound all :)

  • @teslacam5777
    @teslacam5777 5 ปีที่แล้ว +2

    For those who couldn't close the child window, try this in your index.js
    let win = new remote.BrowserWindow({
    webPreferences: {
    nodeIntegration: true
    },
    width: 400,
    height: 200
    });

    • @kakarnyori5457
      @kakarnyori5457 5 ปีที่แล้ว

      Thanks!

    • @vinoth4167
      @vinoth4167 4 ปีที่แล้ว

      why are we doing this? Why it did worked for author and why not for us?

  • @maitreyapatni29
    @maitreyapatni29 4 ปีที่แล้ว +1

    39:08, The api has changed a bit so change cryptos = res.data.BTC.USD to cryptos = res.data.USD

    • @jason_liam
      @jason_liam 4 ปีที่แล้ว

      No it is working without making any changes don't write things without testing.
      *cryptos = res.data.BTC.USD* is correct

    • @jason_liam
      @jason_liam 4 ปีที่แล้ว

      I found the solution.It is posted in the comment section above.

    • @maitreyapatni29
      @maitreyapatni29 4 ปีที่แล้ว

      @@jason_liam that was 3 months ago bro... APIs keep changing. It worked for me that way earlier

  • @TheAfranzy
    @TheAfranzy 7 ปีที่แล้ว

    Great stuff. I enjoyed your tutorial.

  • @miskellil4844
    @miskellil4844 6 ปีที่แล้ว

    Thank you

  • @MultiColetrickle
    @MultiColetrickle 6 ปีที่แล้ว

    Hi,
    My First tutorial, great course, congrats.
    I have two problems
    1) notification not works
    2) I cannot make a package to windows

    • @Abdulhaceeb
      @Abdulhaceeb 5 ปีที่แล้ว

      Notifications did not work for me either for (Windows 10 - 1803 update , electron 4.1.3)
      This fixed it. (Copied from electronjs.org/docs/tutorial/notifications#windows)
      On Windows 10: a shortcut to your app with an Application User Model ID must be installed to the Start Menu. This can be overkill during development, so adding node_modules\electron\dist\electron.exe to your Start Menu also does the trick. Navigate to the file in Explorer, right-click and 'Pin to Start Menu'. You will then need to add the line app.setAppUserModelId(process.execPath) to your main process to see notifications.
      On Windows 8.1 and Windows 8, a shortcut to your app with an Application User Model ID must be installed to the Start screen. Note, however, that it does not need to be pinned to the Start screen.
      On Windows 7, notifications work via a custom implementation which visually resembles the native one on newer systems. Electron attempts to automate the work around the Application User Model ID. When Electron is used together with the installation and update framework Squirrel, shortcuts will automatically be set correctly.
      Furthermore, Electron will detect that Squirrel was used and will automatically call app.setAppUserModelId() with the correct value. During development, you may have to call app.setAppUserModelId() yourself.
      Furthermore, in Windows 8, the maximum length for the notification body is 250 characters, with the Windows team recommending that notifications should be kept to 200 characters. That said, that limitation has been removed in Windows 10, with the Windows team asking developers to be reasonable. Attempting to send gigantic amounts of text to the API (thousands of characters) might result in instability.

  • @thecastiel69
    @thecastiel69 4 ปีที่แล้ว +11

    Will it run on my i9-10900k machine with RTX 3090?

  • @saleschen8691
    @saleschen8691 3 ปีที่แล้ว

    Just be curious, What markdown editor did you use for "ELECTRON API DEMOS" at 2:12 ? it seems better than Typora.

  • @tiptail
    @tiptail 4 ปีที่แล้ว

    Great Video... setup worked nicely on my Mac. However, at 14:38, I am unable to get a menu to show on my MacBook. I'm reading the documentation on Menus but it's not solving my issues. I'd love an updated video and Mac support!
    and any help to create a menu. Thanks!

    • @tiptail
      @tiptail 4 ปีที่แล้ว

      This works on my MacBook:
      // Mac App menu - used for styling so shortcuts work
      if (process.platform === 'darwin') {
      // Create our menu entries so that we can use MAC shortcuts
      const template = [
      {
      label: 'File', submenu: [
      { role: 'quit' },
      ],
      },
      {
      label: 'Edit', submenu: [
      { role: 'undo' },
      { role: 'redo' },
      { role: 'separator' },
      { role: 'cut' },
      { role: 'copy' },
      { role: 'paste' },
      { role: 'pasteandmatchstyle' },
      { role: 'delete' },
      { role: 'selectall' },
      ],
      },
      {
      label: 'Help', submenu: [
      { role: 'reload' },
      { role: 'toggleFullScreen' },
      { role: 'toggleDevTools' },
      ],
      },
      ];
      Menu.setApplicationMenu(Menu.buildFromTemplate(template));
      }

    • @ABHI-ml4ip
      @ABHI-ml4ip 3 ปีที่แล้ว

      Actually on Mac the menu is not on the window itself but on the top of desktop.

  • @bilaltariq50
    @bilaltariq50 6 ปีที่แล้ว

    you are God sent

  • @MrFooSteven
    @MrFooSteven 4 ปีที่แล้ว

    Hey do you know if its possible in electron programming, for it to bring up a window if a mouse cursor is moved towards the edge of monitor?? ie.. similar to Windows "autohide" on the taskbars. Or do you need to use C++ to implement such a feature?

  • @gilbertocarrillo7097
    @gilbertocarrillo7097 6 ปีที่แล้ว

    Thank you for this video

  • @mikadebruijn9890
    @mikadebruijn9890 5 ปีที่แล้ว +1

    This is soo cool, and explained by the best ♥...

  • @juliusmubajje7510
    @juliusmubajje7510 6 ปีที่แล้ว

    Hey Gray i might have asked late but would you please make an electron and vue js tutorial basically setup using vue cli 3 or whatever you can please, but the boilerplate has given me a lot of headache

  • @BytesAndBrackets
    @BytesAndBrackets 7 ปีที่แล้ว

    Great toturial. I also had hard time with formatting once; here is what I got! in settings (Set default Tab to Space and adjust 4 or 2 spaces config) and install marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode and press Alt+Shift+F and vola :-)

  • @TheEricBrian
    @TheEricBrian 6 ปีที่แล้ว

    Great tutorial... one thing: it is "et cetera" and not "ex cetera."

  • @ranjitredekar8257
    @ranjitredekar8257 6 ปีที่แล้ว +1

    Hey, thanks for awesome video. I tried this with existing Angular 6 application and I'm getting this error
    "Not allowed to load local resource: ". please help me.

  • @briansteyer
    @briansteyer 4 ปีที่แล้ว

    Thanks for sharing this video. Do you have a link to the CSS files somewhere that you use around 26:00 in the video?

  • @AJonesB83
    @AJonesB83 7 ปีที่แล้ว

    Awesome, loved it!

  • @FPChris
    @FPChris 3 ปีที่แล้ว

    Will large projects (4.5GB) with thousands of files load fast from dvd or usb stick?

  • @mriganksingh7586
    @mriganksingh7586 7 ปีที่แล้ว

    It's easy to pick when you teach 😊

  • @ilclaudio123
    @ilclaudio123 6 ปีที่แล้ว

    Very interesting and useful video, thank you :-)