React native vs web

Mateusz Pokora

Ścieżka nauki

  1. JS/HTML/CSS - poznajemy podstawy tworzenia stron internetowych
  2. React - Uczymy się biblioteki/frameworka by łatwiej tworzyć skomplikowany UI
  3. Redux - Dorzucamy bibliotekę do zarządzania stanem

- A więc aplikacja w react-native będzie 2x tańsza...??

Główne różnice

  • Szeroko pojęty User Experience (routing, tryb offline, optymalizacja)
  • Dostarczanie aplikacji końcowym użytkownikom (deploy i aktualizacje)

 

Budowanie UI

Web:

  • HTML, CSS
  • Animacje możemy robić w CSS

Native:

  • Komponenty renderowane jako natywne elementy
  • Dedykowane komponenty dla list
  • Animacje za pomocą natywnego API
  • Interakcje oparte o gesty

Nawigacja

Web:

  • Oparta o url
  • Z każdego miejsca możemy dotrzeć wszędzie poprzez wprowadzenie danego URL

Native:

  • Oparta o stack
  • Mocno nastawiona na "back button"

Tryb offline/Wolny internet

Web:

  • Przy aplikacjach desktop nie zwracamy uwagę na szybkość internetu
  • Bez internetu nie mamy dostępu do aplikacji

Native:

  • Aplikacja zainstalowana na telefonie użytkownika
  • Wysoce prawdopodobne działanie przy wolnym internecie lub jego braku
  • Możliwe działanie w trybie offline z późniejszą synchronizacją danych

Optymalizacja

Web:

  • Najważniejszy jest czas ładowania aplikacji

Native:

  • Zużycie baterii, pamięci

Deploy aplikacji

Web:

  • Upload pliku na dowolny serwer HTTP
  • Użytykownik pobiera aplikacje przy każdym wejściu na stronę, aktualizacje widoczne od razu

Native:

  • Generowanie certyfikatów
  • Proces weryfikacij aplikacji przez AppStore lub Google Play (trwa to kilka dni)
  • Każda aktualizacja wiąże się z ponowną weryfikacją
  • Nie mamy pewności że użytkownik korzysta z najnowszej wersji
Made with Slides.com