Työpöytäalustojen paketointi ja jakelu
Rakentakaa macOS-, Windows- ja Linux-asentimet electron-builderilla sekä koodin allekirjoituksella ja automaattisilla päivityksillä.
Työpöytäalustojen paketointi ja jakelu on ilmainen React Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu React Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. React Academy-kurssilla on yhteensä 4 oppituntia.
electron-builderin kokoonpano
electron-builder on vakiotyökalu Electron-sovellusten pakkaamiseen ja jaettavien asennusohjelmien luomiseen. Sen määritys sijaitsee package.json-tiedostossa "build"-avaimen alla, ja siinä määritetään sovelluksen metatiedot (appId, productName), kuvakkeiden polut sekä alustakohtaiset kohdemuodot.
Koontikohteet alustoittain
electron-builder tukee macOS:ää (dmg ja zip), Windowsia (nsis-asennusohjelma) ja Linuxia (AppImage ja deb). Voitte kohdistaa koonnin useille alustoille yhdellä build-komennolla tai määrittää CI:n kokoamaan sovelluksen kullakin alustalla sen omassa natiivissa runner-ympäristössä parhaan yhteensopivuuden varmistamiseksi.
macOS:n koodin allekirjoitus
macOS edellyttää koodin allekirjoittamista Apple Developer -varmenteella, jotta Gatekeeper sallii käyttäjien avata sovelluksen ilman suojausvaroitusta. electron-builder lukee varmenteen macOS Keychainista koontiprosessin aikana ja allekirjoittaa kaikki binäärit automaattisesti.
macOS:n notarointi
Koodin allekirjoittamisen lisäksi moderni macOS edellyttää myös notarointia – sovellus lähetetään Applen notarointipalveluun, joka tarkistaa sen haittaohjelmien varalta ja myöntää lipukkeen. electron-builder voi automatisoida notaroinnin electron-notarize-paketin avulla, ja macOS 10.15+:n käyttäjät eivät voi avata sovellusta ilman sitä.
Windowsin koodin allekirjoitus
Windows edellyttää luotetulta varmentajalta (CA) hankittua Authenticode-varmennetta, jotta SmartScreen luottaa asennusohjelmaan. Ilman allekirjoitusta käyttäjälle näytetään "Windows suojasi tietokonettasi" -varoitus. Extended Validation (EV) -varmenteet poistavat varoituksen heti, kun taas tavalliset OV-varmenteet rakentavat luottamusta ajan mittaan.
Koontitulosten rakenne
Onnistuneen koonnin jälkeen electron-builder kirjoittaa alustakohtaiset asennusohjelmat dist/-hakemistoon. Sieltä löytyvät macOS:n DMG- tai zip-tiedosto, Windowsin NSIS .exe -tiedosto ja Linuxin AppImage- tai .deb-tiedosto sekä automaattisten päivitysten manifesti latest.yml (tai latest-mac.yml).
Sovelluksen kuvakkeet
Electron-sovellukset tarvitsevat alustakohtaisissa muodoissa olevat kuvakkeet: Linuxille 512x512 PNG-tiedoston, macOS:lle ICNS-tiedoston (useita resoluutioita) ja Windowsille ICO-tiedoston (useita resoluutioita). electron-builder voi luoda kaikki muodot yhdestä 1024x1024 PNG-tiedostosta --icon-lipun avulla.
Automaattiset päivitykset electron-updaterilla
electron-updater-paketti integroituu electron-builderiin ja tarjoaa automaattiset päivitykset. Julkaiskaa koontiversiot GitHub Releasesiin tai S3:een, jolloin electron-updater voi tarkistaa päivitykset käynnistyksen yhteydessä, ladata delta-päivityksen taustalla ja pyytää käyttäjää käynnistämään sovelluksen uudelleen.
Päivitysten tarkistaminen käynnistyksen yhteydessä
Kutsukaa autoUpdater.checkForUpdatesAndNotify()-funktiota main.js-tiedostossa, kun sovellus on valmis. electron-updater hakee latest.yml-manifestin julkaisukohteesta, vertaa versioita ja, jos päivitys on saatavilla, lataa sen ja näyttää natiivin ilmoituksen, kun päivitys on valmis asennettavaksi.
ASAR-arkisto
electron-builder niputtaa sovelluksen JavaScript-tiedostot yhteen ASAR-arkistoon (tar-tiedoston kaltaiseen) jakelua varten. Tämä parantaa käynnistyksen suorituskykyä vähentämällä tiedostojärjestelmähakuja ja vaikeuttaa lähdekoodin suoraa tarkastelua, mutta ei tee siitä mahdotonta.
Natiivimoduulien purkaminen ASAR-arkistosta
Natiivimoduuleja (.node-tiedostoja) ei voi ladata ASAR-arkiston sisältä – ne on purettava tiedostojärjestelmään. Määrittäkää electron-builderissa asarUnpack-asetus ja luetelkaa siinä natiivimoduulien kuviot. Tällöin moduulit sijoitetaan app.asar.unpacked-hakemistoon arkiston rinnalle.
macOS:n notarointivaatimus
Miksi notarointia tarvitaan macOS-jakelussa pelkän koodin allekirjoittamisen lisäksi?
Oppitunnin kertaus
Electron-sovelluksen jakelu edellyttää electron-builderin kohteiden määrittämistä, koodin allekirjoittamista sekä macOS:lle (notarointi mukaan lukien) että Windowsille (Authenticode) ja haluttaessa automaattisten päivitysten määrittämistä electron-updaterilla. ASAR-arkisto niputtaa sovelluksen jakelua varten, ja natiivimoduulit puretaan erikseen. Hyvä CI/CD-putki käsittelee nämä vaiheet automaattisesti alustakohtaisesti.
Opi React tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 88
- Oppitunnit
- 324
Usein kysytyt kysymykset
Onko oppitunti ”Työpöytäalustojen paketointi ja jakelu” ilmainen?
Kyllä – oppitunnin ”Työpöytäalustojen paketointi ja jakelu” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko React Academy-kurssin, päivitä CoddyKit PROhon. React Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Työpöytäalustojen paketointi ja jakelu”?
Rakentakaa macOS-, Windows- ja Linux-asentimet electron-builderilla sekä koodin allekirjoituksella ja automaattisilla päivityksillä. Harjoittelet React Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni React Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin React Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Työpöytäalustojen paketointi ja jakelu”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä React Academy-oppitunnilla?
Kyllä. Jokainen React Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Electronin arkkitehtuuri: pää- ja renderöintiprosessit
- Reactin määrittäminen Electronin kanssa
- Prosessien välinen IPC-viestintä
- Työpöytäalustojen paketointi ja jakelu