Electron is bad and you shouldfeelbad€¦ · like JavaScript, HTML, and CSS. ... oMan ender...

Post on 18-Aug-2020

3 views 0 download

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?

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?