Electron is bad and you shouldfeelbad€¦ · like JavaScript, HTML, and CSS. ... oMan ender...
Transcript of Electron is bad and you shouldfeelbad€¦ · like JavaScript, HTML, and CSS. ... oMan ender...
Høyreklikkpåbakgrunnen, velg«Formaterbakgrunn», «Bilde…»ogvelgetannetbildesombakgrunn
Electronisbadandyoushould feel bad
EivindArvesen
Outline:
o HvaerElectron?o Korthistorieleksjon;setteJSogElectronikontekstavandre
programmeringsløsningeroghistoriendereso Forklaringo Fordelero Ulemper
o Eksemplero Blunderso Men...
o Oppsummering
Outline
Hvemerjeg?
oEivindArvesen
oUtvikler
oIBouvet siden2017
Høyreklikkpåbakgrunnen, velg«Formaterbakgrunn», «Bilde…»ogvelgbildetduvilhasombakgrunn
Høyreklikkpåbakgrunnen, velg«Formaterbakgrunn», «Bilde…»ogvelgbildetduvilhasombakgrunn
Sorry Not Sorry
Høyreklikkpåbakgrunnen, velg«Formaterbakgrunn», «Bilde…»ogvelgetannetbildesombakgrunn
Kontekst
Hvordanhavnetviher?
Nå
oJavaScriptoveralt
oPresidentTrump
oBladeRunner2049
Virkelighetskillt fraopprinneligtimeline?
Før
oAltvarbra
?
En(forenklet)timeline
o1995:BrendanEich lagetJavaScriptforNetscapeiløpetav10dager• Dettegjordemangepersonerveldigsinteoghargenereltsettblittbetraktetsometfeiltrinn.
o90s– Y2K:Flash(ActionScript),GeoCities
oAughts:jQuery,Java-Apps
o2009-2010:Node.js,NPM
o2013:ElectrongittutavGitHub
oTwo-teens:Altsuger
Electron– Hva?
”Electron isaframework forcreatingnativeapplicationswith webtechnologieslikeJavaScript,HTML,andCSS.”
oLagetavGitHub underderesarbeidmedAtom
oTrengtekryssplatformstøtte forderesegen”native”applikasjonsutvikling• GitHub fordesktop• Enegenteksteditor...
oFørstkjentsomAtomShell
Liminnskjermbilde,beskjærdetogleggdet«inni»skjermen.
Electron– Hvorfor?
oWebtech erchill
oVikanwebtech
Electron– Hvordan?
o”Enkleste”løsning:drainn• EnhelChromium-instanse• EnNode-runtime• Etparwrappers forplatform-APIer
Liminnskjermbilde,beskjærdetogleggdet«inni»skjermen.
Fordeler
oKortveitilmulti-OSdeployment
oGjenbrukavkunnskap
oGjenbrukavkodebase
oFungerendekryssplatform UI
oTilgjengeliggjørogdemokratiserer(apper/programmering)
Høyreklikkpåbakgrunnen, velg«Formaterbakgrunn», «Bilde…»ogvelgbildetduvilhasombakgrunn
Ulemper(s.1/99)
oNegativpåvirkningpåbatteritid/strømforbruk
oFrihåndsGUIsomikkeser”native”utpånoen plattform
oDårligplattformintegrasjon• Tilgjengelighetsfeatures
Liminnskjermbilde,beskjærdetogleggdet«inni»skjermen.
Ulemper(s.2/99)
oWebproblemerpådesktop• Sikkerhet(XSS,etc.)• HCI(Schneiderman)• Størrelse
▪ Fellesruntime?
Høyreklikkpåbakgrunnen, velg«Formaterbakgrunn», «Bilde…»ogvelgetannetbildesombakgrunn
Sidenote:
Hvaerdet vidrivermed,egentlig?!
Liminnskjermbilde,beskjærdetogleggdet«inni»skjermen.
Ulemper(s.3/99)
oHvamedbrukereutendev-gradespecs?• Arvedeenheter• Eldreenheter• Laveresosioøkonomiskestrata• Utviklingsland
o"Helper"-prosesser
oUstabilitetiformavpåkrevdrestart/crash
oStorenedlastinger;oftestoreoppdateringer
oTreigoppstart
oGenerelltreghet/uresponsivitet
Ulemper(s.4/99)
Webtech vs alternativer
oErtradisjonelleverktøyvirkelig såille?
oApplikasjonsytelseblirdårligereraskereennhardwareytelseblirbedre
oFornoenmnd sidentrengteAtom845MBforååpneen6MBXML-fil
oSlack• Buuu
Hvabetyrdette?
”What you call "trade-offs"appears tometobedevelopers externalizing their costsonto users.There are costs todevelopingdesktopapplicationsanddevelopersdon't want topay them,sothey makeusers pay forthem inwasted hardwaredollars,bandwidth,RAM,battery life,andpoor integration.
BrukerenVeen,HN
oProblemeteratmanegentligsetterutvikleropplevelsenoverbrukeropplevelsen!
oPerformance:Deterikkebaref.eks.CPython vs V8- problemeterPython-logikksomdriverC-basertUIvs.DOMmedJS-komponenterdrevetavJS-logikk.
oManenderegentligoppmedpseudo-nativeapplikasjoner
Eksempler
Liminnskjermbilde,beskjærdetogleggdet«inni»skjermen.
Blunders
oSlack
Liminnskjermbilde,beskjærdetogleggdet«inni»skjermen.
Blunders
oPotensiellRemoteCodeExecution påALLEElectronWindows-apps :D
”Devilståpåsinretttilåvelgeteknologi
Høyreklikkpåbakgrunnen, velg«Formaterbakgrunn», «Bilde…»ogvelgbildetduvilhasombakgrunn
Liminnskjermbilde,beskjærdetogleggdet«inni»skjermen.
Men...
oVisualStudioCode
Liminnskjermbilde,beskjærdetogleggdet«inni»skjermen.
Men...
oTypora
Konklusjon
Høyreklikkpåbakgrunnen, velg«Formaterbakgrunn», «Bilde…»ogvelgbildetduvilhasombakgrunn
Electronlarlatefolklagesøppel
o MangeElectron-apps erstoreogtungeo Dårligtilgjengeligheto DårligHCIo Larutvikleregjøredetdekan– pågodtogvondt
o Detteerflaut,folkens!
Oppsummering
o Detfinneslegitimebruksområder• MVP/Prototypes• Utdanning/Opplæring• Interneapplikasjoner• Spesielletilfeller
o Må dettevirkelig lagesmedElectron?• Hvorfordet?
Oppsummering
Spørsmål?