Blogg

Artikler om utvikling i Magnetisk

Om design

22. oktober 2017

Det finnes mange gratis ferdigmaler for design. Mange er veldig fine. I begynnelsen var dette noe som jeg ofte brukte for å slippe å gjøre frontsiden selv. Men det er mange problemer med å benytte seg av ferdigdesign, og ofte merker man det ikke før man har brukt masse tid på å implementere det. Etterhvert oppdager man at for å egentlig dra nytte av ferdigmalen må man kjøpe en oppgraderingspakke, eller at den kommer med lisenser som gjør at den ikke kan brukes kommersielt. Men dette er ting som kan unngås med litt research. Det største problemet er i hovedsak at man låser seg til et gitt design, og i stedet for å la designet være et naturlig resultat av appens funksjoner og brukeropplevelser, blir istedet appens funksjoner i stor grad tilpasset designmalen. Dette gjelder også cms systemer som Wordpress.

Dette er et uunngåelig fenomen innen all design (høna og egget-problem). Det har imidlertid blitt et problem jeg må adressere, fordi jeg føler begrensningene dette har medført har gått ut over nytten. Derfor har jeg rett og slett valgt å bruke verktøy som bootstrap kombinert med ren css/html/javascript etter behov. Jeg er egentlig ingen designer og det er naturlig å benytte verktøy som kan kompensere for mine mangler på designfronten. Men jeg synes at det som regel blir nesten like fint også! Idrettsforum er designet utelukkende med bootstrap og ren(native) css/html/javascript. Animasjoner og effekter gir som regel et bra førsteinntrykk, men kan være irriterende i lengden og forvirrende å forholde seg til. Mange av gratismalene benytter seg av sånt. Det som virkelig gjorde at jeg sluttet med å bruke de var at de inneholdt utrolig mye dårlig kode. Det vil si alt for store filer med css og javascript som var kaotisk, trege og lite robuste. Hvis noe javascript sluttet å fungere, eller et element ikke ble vist korrekt(css), var det vanskelig og tidkrevende å korrigere.

Jeg har brukt hundrevis av timer på design jeg til slutt har valgt å forkaste. Ganske ofte på grunn av nevnte problemer. Men jeg har også forkastet utrolig mye som jeg har designet selv. I et langtidsperspektiv er imidlertid det selvdesignede og rene alltid det beste, både teknologisk og utseendeemessig.

To do

21. oktober 2017

Når det gjelder rammeverk som React, Angular og Vue, føler jeg det er best å lage et web api i asp.net core slik at man kan benytte den fronten man ønsker. Med en monolittisk webapp, der man har både en javascript frontend og en asp.net backend i samme app, synes jeg Vue.js er det beste alternativet. Vue er skrevet for å kunne brukes der det trengs uten at man må dra inn hele rammeverket. Angular og React blir for meg veldig kaotisk og kan skape unødvendig kompleksitet. I det hele tatt får man veldig lite igjen for kostnaden ved å bruke javascriptrammeverk med mindre man virkelig har behov for det. *

Det er enorm forskjell på noe som ligner et produkt, - og et produkt som folk er villige til å bruke. Det tar ganske kort tid å lage noe som ser veldig flott ut med mange fungerende funksjoner allerede implementert. Men dette er mest på overflaten, både på design og programmeringsiden. De siste 20% er hundre ganger så krevende å implementere som de første 80%. Med dette mener jeg ikke ting rundt applikasjonen, som skalering(av hardware for å kunne håndtere mange brukere), markedsføring etc. Det jeg mener er den lange jobben med å sørge for at alle funksjoner fungerer som de skal, gir god brukeropplevelse, er tilstrekkelig sikker, og at ikke appen har for mange irriterende feil. Vi snakker om å skrive mye repeterende kode som å validere hver eneste tekstfelt, datatype og størrelse. Og det trengs kode som sørger for at feil som oppstår blir håndtert slik at hele applikasjonen ikke eksploderer!!

En relativ kompleks web app benytter mange systemer og kodebibliotek som skal kunne snakke sammen, og ofte er mange av disse utenfor ens kontroll. For eksempel hvis man bruker googles kart api må man bare stole på at man får tilbake de dataene som apiet har sagt at det sender oss. Dette er et vanlig prinsipp bak objektorientert programmering. Dvs å lage komponenter som gjør en spesifik funksjon uten å eksponere hvordan denne funksjonen gjøres. I webutvikling benytter man seg av mange javascriptbibliotek skrevet av andre som man ikke har mulighet for å teste. Slike ting gjør at det kan oppstå uventede feil når noe blir endret. Derfor er det ekstra viktig å kunne håndtere alle slags feil, og derfor er testing og feilhåndtering tidkrevende.

Jeg er veldig opptatt av å holde kompleksiteten så lav som mulig uten at det går ut over funksjonaliteten. Det er derfor jeg synes Vue.js er det beste alternativet for meg å bruke. Kombinerer man vanlig html/css/javascript med bootstrap og Vue, får man noe som både ser bra ut og er robust.

* Dette har selvfølgelig også noe med at min kompetanse på javascript begrenser seg til totalt middelmådig.

Om bloggen

Denne siden inneholder nyheter og artikler som kan være relevante hvis du benytter tjenester fra Magnetisk.

Innhold

  1. Om design
  2. To do

Lenker

  1. BoatBook