Vai esat pamanījuši, ka daudz jaunu darbvirsmas lietojumprogrammu izskatās diezgan līdzīgi vietnēm? Tas nav jūsu iztēle.
No Trello līdz Slack, no WordPress.com uz Github, tā saukto galddatoru lietojumprogrammu kļūšana arvien biežāk kļūst saistīta ar vietņu apvienošanu ar dažām vietējām funkcijām, piemēram, paziņojumiem, piekļuvi faila sistēmai un izvēlnēm. Visbiežāk sastopamā tehnoloģija, kas to ļauj, sauc par Electron, un to izmanto daži lietojumi, kurus jūs, iespējams, pat neuztraucat, piemēram, tērzēšanas lietojumprogrammas Discord un Microsoft Visual Studio koda.
Electron ļauj izstrādātājiem vienlaicīgi atbrīvot lietotni operētājsistēmās Windows, MacOS un Linux, taču lietotājiem ir nepilnības. Elektronu lietojumprogrammas ir milzīgas, par vienu lietu. Tūlītējs tērzēšanas lietojumprogramma aizņem 237 MB cietā diska vietas manā Mac datorā, un arī atmiņas patēriņš nav zems. Kas ņem visus šos resursus? Un kāpēc izstrādātāji izmanto kaut ko tik neefektīvu?
Darbvirsmas lietojumprogrammas ir grūti izdarīt, īpaši, ja vēlaties, lai tās būtu savstarpēji platformas. Piekļuve failu sistēmai Windows citādi darbojas, piemēram, Linux, un paziņojumi uz MacOS darbojas atšķirīgi nekā Windows. Tas nozīmē, ka ikvienam, kas vēlas rakstīt pieteikumu visām trim darbvirsmas operētājsistēmām (vai pat divām no tām), ir jāpārraksta daudz sava koda, kad tiek pārnests no viena uz otru.
Electron "atrisina" to, piedāvājot vienotu platformu, kas darbojas visās trīs lielākajās darbvirsmas operētājsistēmās. Tas nozīmē, ka izstrādātāji var rakstīt kodu tādām lietām kā paziņojumi vienreiz un sagaidīt, ka tā darbosies visās operētājsistēmās. Vēl labāk izstrādātājiem: viss var tikt veidots, izmantojot Javascript, HTML un CSS tehnoloģijas, ikviens, kas kodē tīmekli, ir ļoti iepazinies.
Kā tas ir iespējams? Daļēji tāpēc, ka katra Electron lietojumprogramma apvieno pilnīgu tīmekļa pārlūku: Chromium - Google Chrome atvērtā koda versiju. Tas ir apvienots kopā ar platformas specifiskajām instrukcijām, lai nodrošinātu, ka viss notiek tieši tā, kā izstrādātāji gaida, visās sistēmās. Tāpēc Slack datora versija aizņem vairāk nekā 200 MB cietā diska vietas: lielākā daļa Chrome tiek komplektēti tajā.
Katra Electron lietojumprogramma, kuru palaižat, ir vairāk vai mazāk pilnīgs Chrome piemērs. Kā norādīja blogger Joseph Gentle, tas gandrīz nav ideāls:
Jūs varat iedomāties, ka Slack ir mazā javascript programma, kas darbojas citā operētājsistēmas VM (chrome) ietvaros, un jums ir jāstrādā, lai būtībā tērzētu par IRC. Pat ja jums ir atvērts īsts hroms, katra elektronu lietojumprogramma palaiž savu, visu VM papildu eksemplāru.
Tātad, jā, lietotājiem ir nepilnības. Pirmkārt, katra jūsu lejupielādētā Electron programma sasaista lielāko daļu no Chromium, un katra jūsu palaistā programma izpilda labu šī koda rindu. Šeit nav resursu koplietošanas, tāpat kā ar vietējām lietojumprogrammām, kas nozīmē, ka Electron lietojumprogrammas gatavojas uzņemt vairāk cietā diska vietas un atmiņas nekā lietojumprogramma, kas īpaši izstrādāta jūsu platformai. Ja veiktspēja ir kaut kas jums patiešām noderīgs, jūs varētu vēlēties izvairīties no Electron lietojumprogrammām.
Šajā brīdī datori ir tik spēcīgi, ka lielākā daļa lietotāju nekad neuzzinās, cik neefektīvi ir Electron pieteikumi. Patiesībā lielākā daļa nekad nav dzirdējuši par Electron. Lielākajai daļai manu kolēģu nebija, un viņi visi izmanto Slack katru dienu. Daudzi bija satraukti, lai redzētu Trello galda versiju, un atkal nebija ne jausmas, ka tā bija Electron app.
Un šīs lietotnes tiešām labāk integrējas ar operētājsistēmu nekā tīmekļa vietnes. Viņi dzīvo savā logā. Tie piedāvā lieliskus īsinājumtaustiņus, vietējos paziņojumus un citas lietas, ko jūs nevarat darīt vienādi ar tikai pārlūkprogrammu.
Un tas ir labs bet, ka tādām lietojumprogrammām kā Slack, Trello un WordPress.com nebūtu jācenšas piedāvāt galddatoru versiju, ja Electron neeksistētu, pievēršot uzmanību mobilajām un pārlūka versijām. Tātad jautājums nav par to, vai Electron ir slikts; vai Electron lietojumprogrammas ir labākas par neko. Es esmu gatavs pateikt "jā", bet saprātīgi cilvēki var nepiekrist. (Un, hey, šiem cilvēkiem vienmēr ir pieejama tīmekļa versija.)