Electron-työpöytäsovellusten kehitys · Oppitunti

Natiivimoduulien käyttäminen

Opetelkaa integroimaan olemassa olevia Node.js:n natiivimoduuleja (C/C++) Electron-sovellukseenne ja käyttämään niitä suorituskykyä vaativissa tehtävissä.

Oppitunti 1/411 vaihetta

Natiivimoduulien käyttäminen on ilmainen Electron-työpöytäsovellusten kehitys-oppitunti CoddyKitissä. Tämä on oppitunti 1/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 Electron-työpöytäsovellusten kehitys-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Electron-työpöytäsovellusten kehitys-kurssilla on yhteensä 4 oppituntia.

Mitä natiivit moduulit ovat?

Tervetuloa! Tänään tutustumme Electronin natiiveihin moduuleihin. Ne ovat erityisiä C- tai C++-kielellä kirjoitettuja Node.js-moduuleja.

Ajattele niitä tehokkaina laajennuksina, joiden avulla JavaScript-koodisi voi olla suoraan vuorovaikutuksessa käyttöjärjestelmän kanssa matalammalla tasolla tai suorittaa laskutoimituksia nopeasti.

Miksi natiiveja moduuleja käytetään?

Natiiveja moduuleja käytetään tiettyihin kriittisiin tehtäviin:

  • Suorituskyky: Suoritinta kuormittaviin toimintoihin, joiden kanssa JavaScriptillä voi olla vaikeuksia.
  • Matalan tason käyttöjärjestelmäyhteys: Laitteiston tai tiettyjen käyttöjärjestelmän ominaisuuksien käyttämiseen, joita Node.js:n tai Electronin vakiomuotoiset ohjelmointirajapinnat eivät tarjoa.
  • Olemassa olevat C/C++-kirjastot: Vakiintuneiden ja optimoitujen C/C++-kirjastojen uudelleenkäyttöön suoraan Electron-sovelluksessa.

Node.js-lisäosat Electronissa

Electron käyttää Node.js:ää sisäisesti. Tämä tarkoittaa, että kaikkia Node.js:n natiiveja lisäosia (Node.js:ää varten käännettyjä C/C++-moduuleja) voidaan käyttää myös Electron-sovelluksessa.

Yleensä lataat nämä moduulit pääprosessissa, koska sillä on täydet Node.js-ohjelmointirajapintojen käyttöoikeudet, ja paljastat tarvittavat funktiot renderöijäprosessille IPC:n tai preload-skriptien kautta (näihin perehdytään myöhemmillä oppitunneilla).

Koontiversion rakentamisen edellytykset

Natiivimoduulien rakentamiseen tarvitsette järjestelmäänne muutaman asennetun työkalun:

  • Python: Versio 2.7 (node-gyp-ohjelmaa varten).
  • C/C++-kääntäjä: Esimerkiksi Visual Studio (Windows), Xcode Command Line Tools (macOS) tai build-essential (Linux).
  • node-gyp: Node.js:llä kirjoitettu alustariippumaton komentorivityökalu natiivien lisäosamoduulien kääntämiseen.

`node-gyp` selitettynä

node-gyp on keskeinen työkalu natiivimoduulien kehityksessä. Se ottaa määritystiedostot (binding.gyp) ja käyttää niitä alustakohtaisten koontitiedostojen, kuten Makefile-tiedostojen tai Visual Studio -projektien, luomiseen.

Näin C/C++-koodinne voidaan kääntää oikein käyttöjärjestelmäänne ja Node.js-versiotanne varten, jolloin syntyy .node-tiedosto, jonka Node.js (ja Electron) voi ladata.

Perusrakenne (käsite)

Natiivimoduuliprojekti sisältää yleensä seuraavat:

  • C/C++-lähdetiedostot: Sovelluksen ydintoiminnallisuus.
  • binding.gyp: node-gyp-määritystiedosto, joka määrittää, miten C/C++-koodinne käännetään.
  • package.json: Määrittää moduulinne ja sen riippuvuudet.

Käännösprosessi muuntaa C/C++-koodinne .node-tiedostoksi, joka on käytännössä jaettu kirjasto.

Asennus ja kääntäminen

Kun asennatte natiivimoduulin sisältävän npm-paketin, npm suorittaa automaattisesti komennon node-gyp rebuild puolestanne.

Tämä komento kääntää natiivikoodin tiettyä Node.js- ja Electron-versiotanne varten ja luo .node-tiedoston esimerkiksi hakemistoon ./build/Release/ tai ./build/Debug/.

Lataaminen Electronissa

Kun natiivimoduuli on käännetty, voitte ladata sen Electron-sovellukseenne Node.js:n tavallisella require()-funktiolla.

Osoitatte vain käännettyyn .node-tiedostoon. Tämä tehdään yleensä Electronin pääprosessissa tai renderöintiprosessin preload-skriptissä, jos toiminnallisuus on tarpeen tuoda sinne turvallisesti.

Natiivimoduulin käyttäminen (JS-esimerkki)

Näin käyttäisitte oletettua natiivimoduulia Electron-sovelluksenne JavaScript-koodissa. Tässä suoritettavassa esimerkissä simuloimme sen toiminnallisuutta.

const path = require('path');

// In a real Electron app, you'd require the compiled .node file.
// Example: const myNativeAddon = require(path.join(__dirname, 'build/Release/myaddon.node'));

// For this runnable example, we'll simulate a native module interface.
const myNativeAddon = {
  greet: (name) => {
    return `Hello from native code, ${name}!`;
  },
  add: (a, b) => {
    console.log('Performing fast native addition...');
    return a + b;
  }
};

console.log("Electron app script running...");

// Use the functions exposed by the 'native' module
const greeting = myNativeAddon.greet("CoddyKit User");
console.log(greeting);

const sum = myNativeAddon.add(15, 25);
console.log(`The sum of 15 and 25 is: ${sum}`);

console.log("Script finished.");

Pikatarkistus

Mikä seuraavista EI ole ensisijainen syy käyttää Electronin natiivimoduuleja?

Kertaus ja seuraavat vaiheet

Hienoa työtä! Olette oppineet Electronin Node.js-natiivimoduuleista:

  • Ne ovat C/C++-koodia, joka on käännetty .node-tiedostoiksi.
  • Niitä käytetään suorituskyvyn parantamiseen, käyttöjärjestelmän kanssa toimimiseen sekä C/C++-kirjastojen integrointiin.
  • node-gyp on keskeinen käännöstyökalu.
  • Ne ladataan JavaScriptissä require()-funktiolla.

Seuraavaksi tarkastelemme ilmoitusalue- ja tunnistesovellusten luomista. Ne ovat toinen tapa hyödyntää natiivitoimintoja!

Aloita maksutta

Opi JavaScript 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
12
Oppitunnit
47

Usein kysytyt kysymykset

Onko oppitunti ”Natiivimoduulien käyttäminen” ilmainen?

Kyllä – oppitunnin ”Natiivimoduulien käyttäminen” 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 Electron-työpöytäsovellusten kehitys-kurssin, päivitä CoddyKit PROhon. Electron-työpöytäsovellusten kehitys-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Natiivimoduulien käyttäminen”?

Opetelkaa integroimaan olemassa olevia Node.js:n natiivimoduuleja (C/C++) Electron-sovellukseenne ja käyttämään niitä suorituskykyä vaativissa tehtävissä. Harjoittelet Electron-työpöytäsovellusten kehitys-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Electron-työpöytäsovellusten kehitys-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Electron-työpöytäsovellusten kehitys-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Natiivimoduulien käyttäminen”-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ä Electron-työpöytäsovellusten kehitys-oppitunnilla?

Kyllä. Jokainen Electron-työpöytäsovellusten kehitys-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

  1. Natiivimoduulien käyttäminen
  2. Ilmaisinalue- ja merkkisovellukset
  3. Näytön kaappaus ja media
  4. Virran ja laitteiston valvonta
← Takaisin: Electron-työpöytäsovellusten kehitys