Kuidas luua natiivseid töölauarakendusi JavaScripti (Proton Native) abil
Selle artikli kirjutamisel tuli meelde Atwoodi seadus:
Kõik rakendused, mida saab kirjutada JavaScripti abil, kirjutatakse lõpuks JavaScripti. - Jeff Atwood
Algselt postitatud minu ajaveebi!
Täna vaatame Proton Native'i ja teeme sellega lihtsa rakenduse.
Erinevalt Electroni rakendustest on Proton Native abil loodud rakendused tegelikult kohalikud (sellest ka nimi) ja pole veebipõhised kroomil.
Proton Native on nagu React Native, kuid töölaua jaoks. See kompileerub natiivse platvormikoodi järgi, nii et see näeb välja ja toimib nagu kohalik rakendus.
Nii et alustame.
Windows
Ehitustööriistade installimine käivitage:
npm install --global --production windows-build-tools
Linux
Teil on vaja järgmisi teeke:
- libgtk-3-dev
- ehitada-hädavajalik
Mac
Sa ei vaja midagi.
Nüüd käivitage järgmine:
npm install -g create-proton-app
ja
create-proton-app my-app
uue projekti tegemiseks.
Avage projekti kataloog oma lemmikkoodiredaktoriga. Kataloog peaks välja nägema selline:
└───node_modules ├───.babelrc ├───index.js ├───package.json └───package-lock.json
index.js
peaks välja nägema selline:

Nii nagu mis tahes React või React Native Project, impordime reakti teegi ja teeme klassi komponendi.
App
Element on lihtsalt konteiner, mis hoiab Window
ja Menu
ja Window
on kolm rekvisiidid: title
(akna pealkiri), size
(võtab objekti, mis sisaldab laiuse ja kõrguse akna) ja menuBar
(seatud vale, sest me ei taha menüüriba).
Enne kui me alustada kodeerimine, olgem install crypto
kasutades npm
:
npm i crypto
Kasutame crypto
teksti räsimist MD5 algoritmiga.
index.js
Esmalt importisin Text
ja TextInput
et saaksin neid hiljem kasutada. Siis class
pärast, millega text
ja md5
tühjad stringid state
objekti lõin funktsioon hash
, mis võtab text
argument.
Kui hash
funktsiooni, seadsime riik text
ja tunnistada md5
, et salvestada krüpteeritud teksti (nagu allpool)
this.setState({ text });let md5 = crypto.createHash("md5") .update(text, "utf8").digest("hex");
ja määrake olekuobjekt uuendatud md5
.
this.setState({ md5 });
render
Meetod tagastab mõned jsx
element. Box
Element on nagu div
in Lasta või View
in Lasta Native, mis hoiab TextInput
ja Text
. Selle põhjuseks on see, et vanema aknaelement ei võimalda omada rohkem kui ühte last.
TextInput
on onChange
rekvisiit, mida kutsutakse iga kord, kui tekst muutub. Seetõttu määrasime selle rasvase noole funktsiooniks, mis võtab text
argumendi ja tagastab hash
varem deklareeritud funktsiooni.
Nii et nüüd iga kord, kui tekst muutub, text
on räsitud ja seatud md5
.
Nüüd, kui me seda käivitame
npm run start
see aken peaks ilmuma:

Ja kui sisestame teksti, räsitakse see järgmiselt: md5:

Võite öelda: "See näeb kole välja - lisame sellele ka stiili." Noh, selle artikli kirjutamise ajal on Proton Native veel lapsekingades. See on väga lollakas ja ei toeta stiili (veel), kuid see on lõbus projekt, millega mängida.
Kui soovite projekti panustada, vaadake repot.
Kui teil on küsimusi või ettepanekuid, kommenteerige või võtke mind Twitteris @ 4msal4 ja ärge unustage seda plaksunuppu vajutada :)
? Osta mulle kohvi?
? Vaadake minu eelmist lugu?
Kuidas luua React Native'iga uudiste rakendus.