React

Introduksjon

Agenda

  • Generelt
  • Hva er rammeverk? Bibliotek vs rammeverk
    • Hvorfor?
  • Angular vs React vs Vue
  • React vs HTML+JS ReactDOM vs DOM
  • Hva er React JS?
  • Package manager  npm vs yarn
  • node / npm npx + installation
  • React installation + overview  create-react-app
  • VS Code
  • First react app Structure, JSX
  • Class components vs Functional components

31 år

Oslo, Norge

Bil, MC og Båt

2012 Programmering og nettverk

Universitetet i Oslo

2013 Design, bruk og interaksjon

Universitetet i Oslo

2015 Programmering og nettverk

Universitetet i Oslo

Improvement of large scale agile based teams

Retrospective meetings

Dawood Ahmad

2016-2018 Hovedlærer - sommerskole prosjekt

2017      Summer internship

2018      Systemutvikler

2018-2020 Konsulent – Front-end utvikler

2020-2022  Konsulent – Fullstack utvikler

Dawood Ahmad

Webstep Norge AS

  • 2022 - 2024
  • Rebel - Universitetsgata 2 - Oslo

What's next?

Generelt

Generelt

Onsdag Torsdag Fredag
JavaScript rammeverk Webteknologi Arbeidsdag
Dawood Abebe Mustafa Baker

Ting å tenke på fremover

  • Gruppe (2-4 per gruppe)
    • Dere velger selv
    • Teams for hjelp
  • Prosjektoppgave i 4. semester
    • Gruppe
    • Finne en bedrift å jobbe med
      • Skolen kan tilby noen få prosjekter

Generelt

NB! Med forbehold om endringer...

Dette semesteret ... Høstferien

34 Introduksjon
35 Components + Props
36 Hooks: useState
37 Hooks: useEffect + Arbeidskrav 1 av 2
38 Debugging + Testing + Arbeidskrav 1 av 2
39 npm + package.json + react router dom
40 TypeScript (+ PropTypes)
Høstferie Høstferie

Tema

Uke

Hva er et rammeverk?

  • Veldig mange ulike beskrivelser
  • Veldig vagt forklart
  • Et sett av bibliotek?
    • Nja!?
  • Arkitektur
  • Struktur
  • Programvare som er allerede utviklet og brukt for å lage din kode
  • Noe som er utviklet så du slipper å utvikle det

Rammeverk vs bibliotek

  • Hvem kaller hvem?
    • Rammeverk kaller på din kode
    • Din kode kaller på bibliotek
  • Bibliotek er en samling av kode som din kode kan bruke.
  • Rammeverk er en samling av kode, men med struktur og arkitektur. Koden vår må skrives i følge reglene til rammeverket
  • Rammeverk kontrollerer flyten av din kode, bibliotek gjør ikke det
  • Rammeverk er som regel mye strengere enn bibliotek

Men!

Hvorfor?

React vs Angular vs Vue

Angular

  • Google 2010
  • Rammeverk
  • Stor læringskurve
  • Store oppdateringer nesten hver 6. måned

React

  • Facebook 2013
  • Bibliotek
  • JavaScript XML (JSX)
  • Liten læringskurve
  • Må bruke eksterne pakker

Vue

  • x-Google asnatt 2014
  • Liten læringskurve
  • Flest interesserte, men ikke så mange utviklere

Angular

  • You want reliable scalability.
  • You want to focus on large-scale, feature-rich applications.
  • You want a real-time application like Instant messaging and Chat app.
  • You want to develop Native app, hybrid or web apps. (long-term and heavy- investment projects).

React

  • You like flexibility more than other features.
  • You want to develop cross-platform applications/SPA.
  • You want to build complex enterprise-grade solutions.
  • You plan to expand your application’s functionality in the future and would need continuous support.

Vue

  • You want an early entry to the market.
  • You need high speed and performance.
  • Your app is pretty small or has to be lighting fast.
  • You want to migrate an existing project to new technology but have limited resources.

Angular vs React vs Angular

Angular vs React vs Angular

Angular vs React vs Angular

Angular vs React vs Angular

Angular vs React vs Angular

React vs HTML + JS

ReactDOM vs DOM

ReactDOM

  • Virtuell DOM
    • Virtuell versjon av den originale DOM'en
    • Skrevet i JavaScript
  • Rendrer kun endringene
  • Lager 2 type DOM
    • Oversetter fra Virtuell DOM til DOM

DOM

  • DOM
  • Rendrer alt på nytt for hver endring
  • Veldig treig

Gammelt

Nytt

Hva er React?

Hva er React?

  • Facebook 2013
  • Et JavaScript bibliotek for å bygge raske interaktive bruker-grensesnitt
  • Open Source  UI bibliotek
  • JavaScript XML (JSX)
  • Mest populær i front-end markedet i dag
  • Komponent basert
    • Hva er en komponent?
    • Tre av komponenter
    • F.eks.: Kontakt skjema :D
  • Function, state, render
  • Ligner mest på JavaScript - Lett overgang

React Docs

  • Truth vs ...
    • https://reactjs.org/community/courses.html
    • Youtube
    • Udemy
    • etc.
  • MEN!
    • Ulike versjoner! Pass på!

LinkedIn Learning

Men først!

Node JS

NPM

Package manager

Lets get to work!

Getting started

  1. Installer Node.js
  2. Naviger til ønsket mappe i terminalen og kjør kommando
    1. npm create vite@latest
    2. Følg prosedyren
      1. y
      2. Du kan gi det hvilket som helst navn
      3. Velg React med pil-tastene
      4. Velg JavaScript med pil-tastene
    3. Dersom vite ikke er installert tidligere vil den spørre om å installere
      1. Trykk y og enter

Mac/Windows terminal cheat sheet

VS Code

Demo

Spørsmål?

Tilbakemeldinger!!!

Component + Props​
  • Components
  • Props
  • Events and handling
    • Callback/function param

Neste gang

1. Introduksjon

By dawood11

1. Introduksjon

  • 157