Elektron er kræft

Du ønsker ikke at sprede kræft, ville du?

At slå en død hest

For et stykke tid tilbage posterede jeg nogle benchmarks, der sammenlignede Nano, Vim og Sublime mod Atom og Visual Studio Code, hvor de sidstnævnte to var Electron.js-baserede applikationer, og resultaterne var noget forventede. Elektronapplikationer er fedt jævler, der kan lide at knaske i din hukommelse, og jeg er bestemt ikke den første, der gør opmærksom på det.

TL; DR
Atom bruger omkring en gigabyte hukommelse til at redigere en enkelt mellemstor fil.

I denne artikel gik jeg temmelig blød på Electron og tog ikke rigtig noget jabs på det. Jeg løb lige gennem de numre, jeg fik med benchmarks på min daglige bærbare bærbare computer.

Det, der dog var interessant for mig, var feedbacken til den artikel, der overvældende var til støtte for Electron.js og de fleste gik noget i det følgende;

Det fungerer godt på min maskine, og jeg har kun 32 gigabyte ram.
- Silicon Valley-udvikler, 2017

Hvis det er dig, ja, så er det godt for dig, men bare fordi noget fungerer "godt nok" på din maskine, betyder det ikke, at der ikke er nogen ydelsesproblemer. Du er ikke dine slutbrugere, og hvis du er en udvikler, sandsynligvis ikke kører gennemsnitlig hardware.

Performance Still Matters

For mig virker det lidt absurd at skulle engang sige dette, måske kan det endda være lidt nedlatende, men det ser virkelig ud til, at jo mere behandlingskraft vi får, desto mere slurvede får vi udviklere med at skrive god kode, eller pokker endda noget fornuftig kode.

Så her går det, præstation betyder noget! Bare fordi din proces kunne sværte processoren og hukommelsen betyder ikke, at den skal. Dette gælder især, hvis din applikation er en, der har oprindelige ækvivalenter, ligesom en tekstchatklient eller musikafspiller ville have et minimalt fodaftryk, der virkelig ikke er nogen undskyldning for at være denne slags slacker.

Et operativsystem er et samarbejdsmiljø, ligesom jeg ikke går tilbage på en webside, der er påtrængende og irriterende, bruger jeg ikke et program, der er påtrængende og irriterende.

For et par år siden kunne vi gøre fantastiske ting med et par hertz forarbejdningskraft og et par megabyte hukommelse, i disse dage får vi brug af det hele, så vi kan gengive et blinkende markørikon!

Elektron er let

I en eller anden form kommer argumentet om, at Electron forbedrer produktiviteten, meget op.

Elektron er så stor, vi behøvede ikke at ansætte nye mennesker, vi kan bare bruge dine webdesignere, som vi allerede har internt, og det er så let!
- Nogen sagde det faktisk

Okay, det er også meget lettere at have en blikkenslager skåret et kvadratisk hjul ud af en planke end at have en træarbejder skåret et perfekt rundt træhjul, men det bliver et helvede af en ujævn tur, og firkantede hjul er faktisk fine , ret?

For mig virker dette mere som et symptom på de generelle ydeevneegenskaber, vi ser, hvis den eneste cache, som udvikleren kender til, er funktion memoization eller http cache, ja, du kan ikke rigtig forvente, at denne applikation forbliver inden for nogen form for cache linjer.

Bundlinie; som slutbruger kunne jeg virkelig ikke bekymre mig mindre om, hvor let det var for dig at lave applikationen, hvis det ikke fungerer korrekt fungerer det ikke ordentligt, at være langsom med dagens superhurtige hardware er en fejl.

Lad mig bare gentage, at jeg som slutbruger ikke giver to rotter æsler om, hvordan du skrev din ansøgning, kan du give undskyldninger for de værktøjer, du brugte til det, og prise det hele dagen, men langsomt er stadig langsomt og dårligt er stadig dårlig.

Elektron er ikke indfødt

Jeg har en tendens til at ringe til Electron-applikationswebsider, når jeg taler om dem, hvilket igen har tendens til at gøre mange webudviklere irriterende, men det er alt, hvad de er. Der er intet skrivebord som Elektron-applikationer, de føles altid ude af sted, selv de enkleste elementer som den indbyggede menulinje er ikke tilgængelig, det er normalt en brugerdefineret udlænding, hvis den er der.

Elektronapplikationer integrerer bare ikke med operativsystemet, som en oprindelig applikation forventes at gøre, er det ikke grunden til, at vi lovede at dræbe Flash og Air Runtime i første omgang?

Endnu fremmed, i det seneste har der været projekter dukker op, der samles fra C # til Electron. Ja, lad det synke ind, fra indbygget kode (C # kan AOT kompileres til indfødt, har masser af GUI-rammer) til JavaScript, så det kan køre som en webside i Electron-browseren.

Jeg gør ikke engang ...