Mis on Electroni rakendused ja miks nad on nii üldised?
Kas olete märganud, et paljud uued töölaua rakendused näevad välja nagu veebilehed? See pole sinu kujutlusvõime.
Alates Trellost kuni Slackini, alates WordPress.com-st Githubini, on üha tavalisem nn lauaarvutirakenduste jaoks, et siduda veebisait, millel on mõned kohalikud funktsioonid, nagu teatised, failisüsteemi juurdepääs ja menüüd. Kõige tavalisemat seda võimaldavat tehnoloogiat nimetatakse Electroniks ja seda kasutavad mõned rakendused, mida te ei pruugi isegi kahtlustada, näiteks vestlusrakendus Discord ja Microsofti Visual Studio Code.
Electron teeb arendajatele lihtsaks rakenduse samaaegse vabastamise Windowsis, MacOSis ja Linuxis, kuid kasutajatele on olemas ka varjuküljed. Elektroonilised rakendused on üsna suured. Slack, vestlusrakendus, võtab minu Macis 237 MB kõvakettaruumi ja mälu tarbimine ei ole madal. Mis võtab kõik need ressursid? Ja miks arendajad kasutavad midagi nii ebatõhusat?
Electroni rakendused on päris lihtsad teha
Töölaua rakendusi on raske teha, eriti kui soovite, et need oleksid platvormidevahelised. Failisüsteemile juurdepääs Windowsis toimib erinevalt näiteks Linuxis, ja teatised töötavad MacOSis erinevalt kui Windowsis. See tähendab, et igaüks, kes soovib kirjutada rakenduse kõigi kolme töölaua operatsioonisüsteemi jaoks (või isegi kaks neist), peab uuesti teisele kirjutades kirjutama palju oma koodi.
Electron „lahendab” selle, pakkudes ühte platvormi, mis töötab kõigis kolmes peamises töölaua operatsioonisüsteemis. See tähendab, et arendajad saavad koodi kirjutada sellistele asjadele nagu teatised üks kord ja eeldavad, et see toimib sisuliselt igas operatsioonisüsteemis. Arendajatele isegi parem: kõik saab ehitada Javascript, HTML ja CSS-tehnoloogiate abil, kes veebi kodeerivad väga hästi.
Elektronirakendused tulevad üsna palju kroomi
Kuidas on see võimalik? Osaliselt seetõttu, et iga Electroni rakendus koondab täieliku veebibrauseri: Chromium, Google Chrome'i avatud lähtekoodiga versioon. See on ühendatud platvormipõhiste juhistega, et tagada, et kõik toimib täpselt nii, nagu arendajad ootavad kõigis süsteemides. Sellepärast võtab Slacki töölaua versioon rohkem kui 200 MB kõvakettaruumi: enamik Chrome'i on komplekteeritud seal.
Iga teie käivitatav Electron-rakendus on Chrome'i täielik eksemplar. Nagu blogija Joseph Gentle märkis, on see vaevalt ideaalne:
Sul on võimalik mõelda Slackile väikese javascripti programmina, mis töötab teises operatsioonisüsteemis VM (kroom), mida peate IRC-ga sisuliselt vestlema. Isegi kui sul on reaalne kroomitud, töötab iga elektronirakendus kogu VM-i täiendava koopia.
Nii et jah, kasutajate jaoks on segadusi. Kõigepealt, iga üksik Electroni rakendus, mille alla laadite kimbud enamiku Chromiumist, ja iga teie käivitatav rakendus täidab selle koodi head tüki. Ressursside jagamist siin ei ole, nagu on olemas kohalike rakendustega, mis tähendab, et Electroni rakendused võtavad rohkem kõvaketta ruumi ja mälu kui teie platvormiga spetsiaalselt välja töötatud rakendus. Kui jõudlus on midagi, millest sa tõesti hoolid, võiksite vältida Electroni rakendusi.
Oota, nii on elektron hea või halb?
Praegusel hetkel on arvutid nii võimsad, et enamik kasutajaid ei märka kunagi, kuidas ebaefektiivsed elektronrakendused on. Tegelikult pole enamus Electronist kunagi kuulnud. Enamik mu kaastöötajaid ei olnud ja nad kasutavad iga päev Slackit. Paljud olid põnevil, et näha Trello töölaua versiooni, ja jälle polnud aimugi, et see oli Electroni rakendus.
Ja need rakendused integreeruvad paremini teie operatsioonisüsteemiga paremini kui veebisaidid. Nad elavad oma aknas. Nad pakuvad suurepäraseid kiirklahve, natiivseid teateid ja muid asju, mida ei saa teha ainult brauseriga.
Ja see on hea panus, et sellised rakendused nagu Slack, Trello ja WordPress.com ei muretse pakkuma töölaua versiooni, kui Electron ei eksisteeri, keskendudes selle asemel mobiil- ja brauseriversioonidele. Seega pole küsimus selles, kas Electron on halb; kas elektronide rakendused on paremad kui mitte midagi. Ma olen valmis ütlema jah, kuid mõistlikud inimesed ei saa sellega nõustuda. (Ja hei, nende inimeste jaoks on alati veebiversioon.)