Utvikling av Electron-skrivebordsapper · leksjon

Implementere automatiske oppdateringer

Integrer funksjoner for automatiske oppdateringer i Electron-appen Deres ved hjelp av `electron-updater`, slik at nye versjoner leveres sømløst til brukerne.

Leksjon 2 av 411 trinn

Implementere automatiske oppdateringer er en gratis leksjon i Utvikling av Electron-skrivebordsapper på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Utvikling av Electron-skrivebordsapper, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Utvikling av Electron-skrivebordsapper inneholder totalt 4 leksjoner.

Hvorfor automatiske oppdateringer?

Det er avgjørende for brukeropplevelsen og sikkerheten å holde skrivebordsprogrammet oppdatert. Automatiske oppdateringer sørger for at brukerne alltid har de nyeste funksjonene og feilrettingene.

  • Forbedret sikkerhet: Sikkerhetshull blir raskt rettet.
  • Nye funksjoner: Forbedringer leveres uten manuelt arbeid.
  • Feilrettinger: Problemer løses sømløst.
  • Bedre brukeropplevelse: Brukerne får et konsekvent oppdatert og stabilt program.

Introduksjon til `electron-updater`

electron-updater er en kraftig modul som forenkler arbeidet med å legge til automatisk oppdatering i Electron-programmet. Den håndterer den komplekse logikken for å se etter nye versjoner, laste dem ned og installere dem.

Den ser etter nye utgivelser på en konfigurert oppdateringsserver, for eksempel GitHub Releases, Amazon S3 eller en egendefinert server, og administrerer oppdateringsprosessen.

Installasjon og konfigurasjon

Først må De installere electron-updater som en avhengighet i Electron-prosjektet. Det er best å legge den til som en vanlig avhengighet, ikke som en utviklingsavhengighet, siden den er en del av programmet som distribueres.

Åpne terminalen i rotmappen til prosjektet og kjør:

npm install electron-updater

Første konfigurasjon i `main.js`

For å bruke electron-updater arbeider De hovedsakelig i hovedprosessen til programmet, vanligvis main.js. De importerer autoUpdater og kaller metoden checkForUpdates() når programmet er klart.

Merk: Denne koden er en del av hovedprosessen i et Electron-program og krever et komplett Electron-miljø for å kjøre. Den kan ikke kjøres i en vanlig JavaScript-lekeplass.

const { app, BrowserWindow } = require('electron');
const { autoUpdater } = require('electron-updater');

// ... other app setup ...

app.on('ready', () => {
  // createWindow(); // Your window creation function
  autoUpdater.checkForUpdates();
  console.log('Checking for updates...');
});

// ... other app lifecycle events ...

Forstå oppdateringshendelser

electron-updater bruker en hendelsesdrevet modell. Det betyr at De «lytter» etter bestemte hendelser som oppstår under oppdateringsprosessen, og reagerer på dem. Slik kan De gi brukerne tilbakemeldinger.

  • checking-for-update: Oppdateringssjekken er startet.
  • update-available: En ny versjon er funnet.
  • update-not-available: Ingen ny versjon er tilgjengelig.
  • download-progress: Fremdrift for nedlasting av oppdateringen.
  • update-downloaded: Oppdateringen er klar til å installeres.
  • error: Noe gikk galt.

Håndtere `checking-for-update`

Hendelsen checking-for-update utløses så snart checkForUpdates() kalles. Dette er et godt sted å vise en lasteindikator eller en melding til brukeren.

Husk: Denne koden må ligge i Electron-filen main.js.

const { autoUpdater } = require('electron-updater');

autoUpdater.on('checking-for-update', () => {
  console.log('App is now checking for updates...');
  // You might send a message to the renderer process
  // to update the UI here.
});

Håndtere `update-available`

Når electron-updater finner en ny versjon, sender den ut hendelsen update-available. På dette tidspunktet starter nedlastingen av oppdateringen vanligvis automatisk. De kan bruke denne hendelsen til å varsle brukeren om at en oppdatering lastes ned.

const { autoUpdater } = require('electron-updater');

autoUpdater.on('update-available', (info) => {
  console.log(`Update available! Version: ${info.version}`);
  // Display a message to the user that an update is downloading.
});

Håndtere `update-downloaded` og installasjon

Når oppdateringen er lastet ned i sin helhet, sendes hendelsen update-downloaded ut. Dette er det avgjørende øyeblikket! De bør varsle brukeren og be vedkommende starte programmet på nytt for å ta i bruk oppdateringen.

Metoden autoUpdater.quitAndInstall() lukker alle vinduer og installerer oppdateringen, og starter deretter programmet på nytt.

const { autoUpdater } = require('electron-updater');

autoUpdater.on('update-downloaded', (info) => {
  console.log('Update downloaded. Restarting app to install...');
  // In a real app, you'd prompt the user here:
  // dialog.showMessageBox({ /* ... */ }).then(() => autoUpdater.quitAndInstall());
  autoUpdater.quitAndInstall();
});

Håndtere feil og manglende oppdateringer

Det er viktig å håndtere tilfeller der det ikke finnes oppdateringer, eller der det oppstår en feil under prosessen. Hendelsen update-not-available varsler Dem når programmet allerede har den nyeste versjonen.

Hendelsen error er avgjørende for feilsøking og for å informere brukerne hvis noe gikk galt under oppdateringssjekken eller nedlastingen.

const { autoUpdater } = require('electron-updater');

autoUpdater.on('update-not-available', (info) => {
  console.log('No new updates available.');
});

autoUpdater.on('error', (err) => {
  console.error('Error during auto-update:', err);
  // You might display an error message to the user.
});

Kontroll av oppdateringsflyten

De har lært om de viktigste hendelsene i livssyklusen til electron-updater. Hvilke av følgende påstander om automatiske oppdateringer er vanligvis riktige?

Oppsummering: Hold programmet oppdatert!

I denne leksjonen har De lært å implementere automatisk oppdatering i Electron-programmer ved hjelp av modulen electron-updater.

  • Vi gikk gjennom installasjon og grunnleggende konfigurasjon i hovedprosessen.
  • De utforsket viktige hendelser som checking-for-update, update-available, update-downloaded og error.
  • Ved å forstå disse hendelsene kan De bygge en robust og brukervennlig oppdateringsopplevelse, slik at brukerne alltid har den beste versjonen av programmet.
Gratis å komme i gang

Lær deg JavaScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
47

Ofte stilte spørsmål

Er leksjonen «Implementere automatiske oppdateringer» gratis?

Ja – hele teksten i «Implementere automatiske oppdateringer» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Utvikling av Electron-skrivebordsapper-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Utvikling av Electron-skrivebordsapper inneholder totalt 4 leksjoner.

Hva lærer jeg i «Implementere automatiske oppdateringer»?

Integrer funksjoner for automatiske oppdateringer i Electron-appen Deres ved hjelp av `electron-updater`, slik at nye versjoner leveres sømløst til brukerne. Du øver på Utvikling av Electron-skrivebordsapper med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Utvikling av Electron-skrivebordsapper?

Ingen tidligere erfaring er nødvendig. Utvikling av Electron-skrivebordsapper på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Implementere automatiske oppdateringer»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Utvikling av Electron-skrivebordsapper-leksjonen?

Ja. Alle Utvikling av Electron-skrivebordsapper-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Administrere hendelser i appens livssyklus
  2. Implementere automatiske oppdateringer
  3. Krasjrapportering
  4. Dyplenking og protokollbehandlere
← Tilbake til Utvikling av Electron-skrivebordsapper