Med över 20 år som webbutvecklare ska jag nu göra en uttalad satsning på en kedja av frontendverktyg. Det här inlägget är skrivet för att jag vill minnas själv, men också för att inspirera andra.
Motivering till React¶
Varför vill jag göra en satsning på React och inte exempelvis någon av alla alternativ?
Det finns goda skäl. Jag har kodat React av och till de fyra senaste åren, men bara i andras kod och aldrig utanför jobbet. Nu ska jag satsa på att skriva mycket kod med just detta bibliotek, av följande anledningar.
- React (med allt runtom) är svårt. Det behövs tid och skrivande av kod för att lära sig alla de olika delarna. Det går inte att göra litet sporadiskt fulkodande i React.
- React är fortfarande en av de populäraste biblioteken för sitt område, trots många år under lupp av granskande webbutvecklare.
- Det är vad Kundo använder (även om vi också sneglar hungrigt på Elm).
De delar av React som intresserar mig¶
- Redux, för att hantera state på ett bra sätt.
- Redux-sagas, för att lära mig mer om JavaScript-generatorer och hantering av asynkrona sidoeffekter.
Jag vill också bli litet bättre på mer generella Javascript-verktyg.
Steg 0 - Bekanta mig med verktygen ✔¶
Jag jobbar med React och Redux på jobbet, där flera produkter är byggda med React och Redux. Detta var därför en enkel punkt att bocka av.
Steg 1 - Skriv simpla saker i React ✔¶
Jag har börjat koda hobbyprojekt i React och har några projekt från 2018 på Github: Brütal Legend, och en påbörjad träningsapp. Den första är vanilla CSS på webpack, den andra är Sass med Parcel.
Nästa steg - Utforska olika delar av React + redux-världen¶
Jag har ett gäng andra idéer på gång som jag inte kommer att nämna här, men jag har en liten todo som jag ska göra under 2019 för att utmana mig själv att lösa och uppleva vanliga problem/mönster inom React och redux.
- Använd alltid React, Redux och Babel.
- Utforska gärna fler bundlers än Parcel och Webpack.
- Hantera asynkront state med Redux-sagas, exempelvis med
fetch()
. - Spara state med localStorage.
- Hantera CRUD av state med ServiceWorker: låtsas att det är en server som svarar och hantera där state med localStorage eller IndexedDB.
- Uppdatera state med Websockets, förslagsvis Phoenix Presence eller SocketIO.
- Gå på Meetups. För att på riktigt få umgås med communityt.
Detta kommer förhoppningsvis att bli en inläggs-serie som jag uppdaterar under året.