de Andrea Zanin

Actualizări automate rapide și nedureroase în Electron

Actualizari automate rapide nedureroase in Electron

Să recunoaștem: majoritatea utilizatorilor nu vor reveni la site-ul dvs. și nu vor descărca actualizările pentru noua aplicație Electron. În schimb, ar trebui să puneți în aplicare un fel de sistem de actualizare automată.

Din păcate, documentația online pentru acest lucru nu este nici foarte ușor de găsit și nici de urmărit. Aici, vă voi ghida printr-un proces rapid pentru a configura un actualizator automat, utilizând GitHub ca gazdă.

Configurarea depozitului

Pentru a publica în numele dvs., constructorul de electroni are nevoie de un jeton de acces GitHub. Dacă nu știți ce sunt acestea sau cum să creați unul, consultați GitHub’s ghid rapid.

Constructorul de electroni are nevoie de un jeton cu acces la domeniul repo. Creați unul așa cum este descris în link și copiați-l undeva în siguranță (vi se va afișa simbolul o singură dată!).

Configurarea bibliotecii

Vom folosi constructor de electroni pentru a împacheta aplicația noastră, deci să începem prin a o instala:

npm install electron-builder --save-dev

Să instalăm și noi actualizator de electroni pentru a gestiona actualizările automate:

npm install electron-updater --save

Apoi, trebuie să ne configurăm versiunea. În package.json adăugați acest fragment:

Să analizăm acest lucru puțin câte puțin:

  • repository link-ul este destul de explicativ – nu uitați să îl înlocuiți cu al dvs.!
  • build scriptul va crea aplicația dvs. local, fără publicare.
  • ship scriptul va crea și publica aplicația dvs.

Notă pentru dezvoltatorii React: electron-builder și create-react-app au unele conflicte în mod implicit. Am creat un generator care configurează o aplicație electron + react + electron-builder cu zero configurații necesare. Îl poți găsi aici.

Acum creați un fișier numitelectron-builder.yml cu următorul conținut:

  • appId este numele aplicației dvs. din registrul sistemului de operare. O puteți alege liber.
  • provider este platforma care va stoca programul de instalare al aplicației dvs.
  • token este simbolul de acces GitHub. Înlocuiți-l cu cel pe care l-ați creat mai devreme.

Nu uitați să adăugați acest fișier la .gitignore pentru a nu vă împărtăși simbolul cu întreaga lume! 😉

Gestionarea logicii de actualizare

Acum trebuie să configurăm logica de actualizare în aplicația noastră Electron. Integrează acest lucru în fișierul de intrare (de obicei index.js sau electron.js). Dacă creați o aplicație nouă, puteți copia și insera codul de mai jos:

Modulele IPC sunt modalitatea standard de a trimite mesaje între procese în Electron. Puteți afla mai multe despre ele aici.

Codul este destul de auto-explicativ și gestionează partea electronică a actualizării. Acum trebuie să anunțăm utilizatorul.

Iată un exemplu de pagină HTML. Afișează un buton a cărui subtitrare este „nu sunt pregătite actualizări” sau „este pregătită noua versiune!”. Când se face clic pe buton, se apelează o metodă care îi spune lui Electron să renunțe și să instaleze noile actualizări.

Și în cele din urmă, nava

Când sunteți gata să publicați, editați fișierul version câmp în package.jsonși executați următoarea comandă:

npm run ship

Accesați pagina GitHub din depozitul dvs. și faceți clic pe „Release” (este pe aceeași linie cu „Commits” și „ramură”). Acolo veți găsi o versiune preliminară. Faceți clic pe „editați” și apoi „publicați versiunea”.

Nu vă panicați dacă butonul afișează „nu există actualizări pregătite” când porniți aplicația. Acest lucru se va schimba numai după ce a terminat descărcarea noii versiuni.

Dacă doriți să utilizați un proiect funcțional pentru a afla mai multe și pentru a începe, puteți clona acest exemplu de depozit.

Dacă vi s-a părut util acest articol, asigurați-vă că dați palme?