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ä.
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-gypon keskeinen käännöstyökalu.- Ne ladataan JavaScriptissä
require()-funktiolla.
Seuraavaksi tarkastelemme ilmoitusalue- ja tunnistesovellusten luomista. Ne ovat toinen tapa hyödyntää natiivitoimintoja!
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
- Natiivimoduulien käyttäminen
- Ilmaisinalue- ja merkkisovellukset
- Näytön kaappaus ja media
- Virran ja laitteiston valvonta