Înțeleg.
Nu sunteți un mare fan al aplicațiilor desktop create folosind Electron.
Vrei să nu mai scriu despre ele.
Nu intenționați să le folosiți.
Îi urăști.
Te aud tare și clar.
Si totusi…
Mai degraba ca Mono¹ Aplicațiile de câțiva ani în urmă, aplicațiile Electron au un reprezentant foarte rău în rândul utilizatorilor Linux.
Sunt văzuți ca noul rău întrupat; un cadru troian aici pentru a elimina dezvoltarea aplicațiilor native în beneficiul unei cabale umbre, care urăște Linux.
„Electronul nu este un personaj malefic, ci un cadru accesibil de dezvoltare a aplicațiilor open-source”
Toate prostii, desigur.
Electronul este pur și simplu un cadru accesibil de dezvoltare a aplicațiilor open-source. Permite dezvoltatorilor web să creeze aplicații desktop folosind tehnologiile cu care sunt deja familiarizați, cum ar fi JavaScript, HTML și CSS.
Acest unghi - barieră mică la intrare - este De ce Electronul se dovedește atât de popular și atât de repede. Dezvoltatorii care s-ar putea să nu fi creat niciodată o aplicație desktop pot acum să împingă plicul, să devină creativi și să-și aducă ideile la viață folosind abilitățile existente.
Și pentru că orice aplicație realizată în Electron are potențialul de a rula pe Windows, MacOS și Linux - și în teorie Aplicațiile Electron ar putea rula pe Android și iOS (nu că Apple i-ar permite) - grupul de utilizatori potențiali este masiv, ceea ce ajută la stimularea adoptării acestuia.
„Dezvoltatorii care s-ar putea să nu fi creat niciodată o aplicație desktop acum pot”
Dar nu doar dezvoltatorii web profită de tehnologie.
Uneori, există doar o valoare mică în a pierde timpul pentru a face ceva ce Electron poate face, mai ales când este acolo, gata de utilizare. Chiar și dezvoltatorii versați în limbajele de codare tradiționale apelează uneori la Electron, deoarece de multe ori îi permite să construiască ceea ce doresc puțin mai repede (în timp).
Nu ar trebui ca această extindere a dezvoltării printr-un cadru open-source să fie un lucru bun?
Dar unii oameni acționează ca și cum nicio aplicație nu ar fi mai bună decât aplicațiile Electron.
„Multe critici aruncate în direcția Electron sunt complet valabile ...”
Scriind această riposte, permiteți-mi să fiu clar despre un lucru: Nu spun că Electron este perfect.
De asemenea, nu spun că prefer aplicațiile Electron în locul celor native sau că cred că este întotdeauna instrumentul potrivit pentru job sau orice alt clișeu.
Multe dintre criticile aruncate în direcția Electron, cum ar fi utilizarea resurselor sale, dimensiunea mare a instalării etc., sunt total valabile.
Dar unele dintre aceste critici sunt prezentate în afara contextului, în timp ce altele sunt atât de exagerate încât le-ați putea servi la toast câștigă o stea Michelin.
Cadrul Electron face mai ușor să începeți, dar lucrurile sunt ceva mai implicat decât să plesniți o adresă URL într-o casetă WYSIWG pentru a obține o „aplicație” complet formată scuipată la celălalt capăt.
„Electron face mai ușor să începeți, dar lucrurile sunt puțin mai implicate decât să plesniți o adresă URL într-o cutie”
Construirea oricărui lucru, de la o navă de luptă LEGO la un procesor de text Qt / Qml pur, necesită efort, timp și intenție. Dezvoltatorii de electronici au încă nevoie de cunoștințe HTML / CSS / JavaScript și au experiență cu Node.js.
Dar, deoarece aceste limbaje sunt multiplataforma și mulțumesc unei game tot mai mari de module node.js, Electron oferă devs-urilor un avans important. Faptul că aceste aplicații pot utiliza, de asemenea, tehnologii web pentru a interacționa cu funcții de desktop, cum ar fi tava de sistem, notificări native, comenzi rapide de la tastatură globale, MPRIS etc., este încă un alt stimulent.
Aplicațiile și serviciile pe care le folosim zi de zi migrează (din ce în ce mai mult) online. Dar, în multe cazuri, fluxul de lucru al unei aplicații web desktop depășește ineficiența (relativă) de a comuta între mai multe file de browser din aceeași fereastră.
Sau altfel spus, eu - și multe altele - îmi plac aplicațiile web atunci când se comportă ca aplicațiile desktop. Iar Electron este bine poziționat pentru a acoperi acest decalaj.
Electron este un cadru greu pentru construirea de aplicații de bază. Nu este negat. Dar este greșit să presupunem că toate aplicațiile Electron sunt de bază.
Ia ceva de genul Gravor, un scriitor multi-platform ISO și IMG sau clientul de e-mail desktop (acum defunct) Nylas Mail. Acestea sunt mai mult decât web-wrappers; sunt aplicații adecvate cu un rol adecvat.
Și, chiar și atunci când aplicațiile Electron nu sunt altceva decât vitrina, nu treceți cu vederea caracteristicile sau confortul pe care îl oferă - acest lucru poate depăși orice creștere a consumului de memorie RAM pentru 15 minute deschis.
Majoritatea aplicațiilor Electon au un scop și sunt rulate doar pentru o perioadă scurtă. Îmi imaginez că puțini oameni rulează în mod constant mai multe aplicații Electron, unul lângă altul.
Și chiar dacă o fac, nu vorbim despre utilizarea RAM în GB.
Este o creștere de 100MiB în utilizarea RAM, în timp ce fac un commit Github în Atom într-adevăr o problemă dacă asta e tot ceea ce fac în acel moment?
Alegerea este să faci ceva productiv sau să ai un RAM suplimentar de 100MiB, așa cum nu faci nimic.
Dar să nu uităm că majoritatea dezvoltatorilor care construiesc aplicații Electron nu le construiesc special pentru Linux. Da, șoc de realitate: nu este vorba doar despre noi.
Există câteva aplicații Electron foarte bune care sunt nu disponibil pe Linux, cum ar fi numai macOS căutare subtitrare Legendă și numai pentru Windows cititor de stiri Titluri.
Există chiar și câteva aplicații Electron plătite în jur, cum ar fi macOS Convertor SVG Trym (Aș plăti 4 USD pentru funcționalitatea aplicației respective) și DeckHub, o aplicație inspirată de Tweetdeck pentru Github.
Pentru un dezvoltator pasionat, Electron le oferă tot ce au nevoie pentru a construi, modela și partaja o aplicație desktop fără a fi nevoie să învețe un nou limbaj sau cadru.
Și acele aplicații, acordate suficientă atenție, înseamnă că s-ar putea să nu știi nici măcar că folosești ceva scris deasupra Electron.
Sigur că electronii nu sunt perfecti și există mult spațiu pentru îmbunătățire, consolidare și - de către jove - optimizarea resurselor.
Dar să ieșim din mentalitatea că aplicațiile Electron vin în detrimentul aplicațiilor native Linux. De cele mai multe ori obținem aceste aplicații ca un produs secundar al Electron fiind disponibil pe Linux.
Și într-o lume în care puțini dezvoltatori își aduc aplicațiile pe Linux, cred că ne-am tăia nasul pentru a ne îngreuna fața dacă îi descurajăm pe cei care o fac.
Ce zici tu? Spuneți-ne dragostea / ură pentru toate lucrurile Electron în comentariile de mai jos.
Totul Ubuntu, zilnic. Din 2009.