Native App vs Hybrid App vs Web App vs Cross Platform – Hvilken er den bedre tilnærmingen?

Innfødt er alltid den beste tilnærmingen! Men: Det kreves mye innsats og budsjett for å bygge applikasjoner for alle de forskjellige plattformene (iOS, Android, Windows Phone, Web).
Så det er forskjellige tilnærminger for å bygge mobilapper. Disse er:

  • Innfødte apper
  • Web-apper
  • Hybrid-apper
  • Kryssplattform

Jeg vil forklare det i denne rekkefølgen (topp til bunn), slik at det er lettere å forstå forskjellene.
Her et innblikk i alle disse alternativene og deres fordeler og ulemper:

Native Apps – den beste opplevelsen

Native Apps vil gi deg den aller beste opplevelsen.
Nesten alle vellykkede apper der ute er basert på iOS eller Android. Du vil ikke finne så mye av gode apper innebygd i andre tilnærminger. I det minste når det gjelder B2C (apper for forbrukere, som Facebook, WhatsApp, etc.).

Fordeler:

  • Super raskt : Innebygd programvare kjører super raskt. Selv spill kan utvikles og brukes (beste eksempel er selvfølgelig Temple Run.
  • Optimalisert for plattformen : iOS-apper er optimalisert for iPhone og iPad og Android er optimalisert for Android-enheter (det høres trivielt ut, men bare hvis du aldri har hørt om de andre utviklingsmetodene, som Hybrid eller Cross Platform)
  • Veldig bra grensesnitt til funksjonene for smarttelefon / nettbrett : Ting som gyroskop, akselerometer, minne, kamera, berøring, etc. er lett tilgjengelige. Det er ingen forsinkelser i bruken, og alle funksjoner kan brukes.

Ulemper:

  • Utviklere for hver plattform som trengs : Hvis du vil ha en Android-app, trenger du en Android-utvikler. Hvis du vil ha en iOS-app, trenger du en egen iOS-utvikler. Hvis du trenger et Windows-program, trenger du en Windows Phone-utvikler. Hvis du trenger en ekstra webapplikasjon, trenger du en webutvikler.
  • Kostnadsøkninger : Det er nesten ikke mulig å dele kode mellom applikasjonene (iOS, Android, Windows Phone, Web, etc.). Dette betyr at du må skrive koden nesten fra bunnen av for hver versjon. Dette vil igjen også bety at kostnadene vil øke.
  • Tid for utvikling øker : Hver plattform må utvikles og testes separat. For eksempel: Android har mange forskjellige mobile enheter (Samsung, Google, etc.) og også forskjellige skjermstørrelser. Dette betyr at det trengs mye tid for å teste hver enhet og for å sikre at den fungerer greit på de spesifikke enhetene. Dette må gjentas med alle plattformer.

Webapps – for enkle apper som ikke trenger mye ytelse

Dette er en veldig enkel tilnærming. Webteknologier som HTML5, CSS og JavaScript brukes til å bygge applikasjoner, som kan kjøres på mobile nettlesere (Chrome, Safari osv.). Ytterligere JavaScript-teknologier som Angular, Reach und Vue.js kan brukes til å få tilgang til innfødte funksjoner ( Kamera, berøring, etc.), som gjør det til en såkalt Progressive Web App (PWA).

Fordeler:

  • Kan utvikles av webutviklere : Det er mange nettutviklere der ute som kjenner HTML5, CSS og JavaScript. Derfor vil det ikke være en utfordring å finne gode utviklere.
  • Utvikle en gang, bruk overalt : Når den er utviklet, kan den brukes i alle mobile nettlesere. Ingen grunn til å bygge separate versjoner.
  • Svært lave kostnader : Det er veldig kostnadseffektivt. Selv en enkelt utvikler kunne jobbe med det.

Ulemper:

  • Ikke alle innfødte funksjoner er tilgjengelige : Web-apper har tilgang til berørings- eller kamerafunksjoner, men det ville være en større utfordring å innlemme ting som gyroskopet. Her egner seg ikke Web Apps egentlig.
  • Ytelsen er lav : Hvis CPU-strøm fra smarttelefonen eller mobilenheten er nødvendig, er ikke webtilnærmingen den beste. Spesielt spill eller apper med høy ytelse er bedre bygget med andre tilnærminger.

Hybrid-apper – Web og Native gifter seg

Hvis en innfødt app og en webapp ville gifte seg, ville barnet deres være et Hybrid-app :). Også i denne tilnærmingen brukes HTML5, CSS og JavaScript for å bygge appen. Forskjellen er at det vanligvis er et rammeverk som Cordova eller Ionic Framework. Dette rammeverket vil endre nettkodingen til respektive apper (iOS, Android, etc.). Disse appene vil se ut som apper, men det er faktisk en nettleser i en app – også kalt “Webview”.
Så selv om den er bygget med webteknologier, kan den endres til apper med rammeverket og kan sendes til de forskjellige appbutikkene.

Fordeler:

  • Kan bygges med webteknologier: I likhet med Web App-tilnærmingen. Mange utviklere kjenner allerede til disse teknologiene.
  • Oppdateringer kan enkelt implementeres: Det er bare en enkelt kodebase, så det er nok å oppdatere koden der. Deretter kan den skyves til alle appversjonene.
  • Bruk av nettbiblioteker mulig: Ember, AngularJS, React, PaperJS kan brukes.

Ulemper:

  • Ikke så raskt som innfødt: Kunder og sluttbrukere forventer vanligvis lynrask applikasjoner. Når de bruker Hybrid Apps med for høye forventninger, vil de ikke være så glade, fordi ytelsen fremdeles ikke kan sammenlignes med native.
  • Noen enhetsfunksjoner støttes kanskje ikke: Ulike rammer (Cordova, Ionic, etc.) har forskjellige spesifikasjoner. Noen støtter ett sett med funksjoner (berøring, kamera osv.), Mens andre støtter andre funksjoner (gyroskop, minne osv.). Full dekning av ett rammeverk for alle funksjoner er således ikke gitt.

Cross Platform App – Skriv en gang, bruk overalt med høy ytelse

Dette er tilnærmingen som kommer nærmest Native. Det ligner faktisk på Hybrid Apps. Men vanligvis er plattformapps ikke skrevet med HTML5, men med andre teknologier som C # og rammer som Xamarin eller React Native.

Fordeler:

  • Nesten like raskt som Native: Mange utviklere som bruker Cross Platform-utvikling og leverandørene av Xamarin og co. sier at Cross Platform er like rask som Native. Hvis det virkelig er sant, kan det bare vises gjennom tidene. (Jeg personlig tror ikke dette)
  • Gjenbruk av koder : Nesten 80% av koden kan brukes til neste plattform, for eksempel Android til iOS. Dette reduserer utviklingsinnsatsen.
  • Én kode: Den komplette koden kan skrives på et mellomlederspråk som C # (Xamarin). Dette er spesielt interessant for bedriftsnivåbedrifter som allerede bruker .NET-teknologier og har ansatte som kjenner til den teknologien. Det vil være lettere for dem å lære denne mobile utviklingsmetoden enn å lære iOS- eller Android-utvikling.
  • En utvikler: I stedet for å ha en utvikler for hver plattform (iOS, Android, Windows Phone), trengs bare en utvikler som kan gjøre potensielt alt.

Ulemper:

  • Erfarne mennesker trengte: Folk som er godt kjent med C # og det spesifikke rammeverket (Xamarin) er nødvendig. Hvis det ikke er gitt, er det vanskelig å lage apper med høy ytelse.
  • Utviklere er sjeldne: Det er ikke veldig lett å finne Xamarin-utviklere for eksempel, også fordi det er en relativt ny teknologi. Du kan finne Xamarin / Cross Platform-utviklere, men de kan være uerfarne og trenger lenger tid for å utvikle gode applikasjoner.
  • Noen ganger er det behov for erfaring på morsmål : Noen ganger oppstår behovet for å kjenne iOS (Swift, Objective-C), Android (Java) også. Spesielt hvis noen spesifikke funksjoner må implementeres. Men dette er faktisk veldig tøft, i så fall. Fordi det er vanskelig å kjenne til alle disse teknologiene.
    Jeg håper du forstår hvorfor jeg gikk bort til Web App og Hybrid. Først da er det mulig å forstå forskjellen mellom Native og Cross Platform.

Konklusjon – Hva er bedre?

Spørsmålet er ikke «Hvilken er bedre?», Spørsmålet er «Hva er ditt krav».
Her noen muligheter:

  1. Du er en mellomstor selskaper som allerede bruker .NET-teknologier i de forskjellige avdelingene (salg, markedsføring, HR, etc.) – I dette tilfellet er Cross Platform det bedre valget, ettersom du allerede har C # Developers i teamet. På denne måten kan du også senke budsjettet ditt og dermed redusere kostnadene.
  2. Du er en B2C-oppstart, som ønsker å tilby en chat-app – I dette tilfellet er Native den eneste veien å gå. Du vil bringe den beste brukeropplevelsen (UX) til brukerne dine, som vanligvis brukes til å glatte opplevelser (f.eks. WhatsApp, Snapchat, Instagram, etc.). Det samme ville være for spill eller andre sluttbrukerapper.
  3. Yo du trenger bare å vise noen bilder, videoer og tekst og trenger berøringsfunksjonalitet – I dette tilfellet vil en webapp være en god tilnærming.
  4. Yo du har noen grunnleggende krav som å vise bilder, videoer, tekst, men trenger flere innfødte funksjoner, samtidig som det virkelig skal føles som en app – I dette tilfellet vil Hybrid være en god tilnærming. Gjennomføringstiden kan være litt bedre sammenlignet med Internett-tilnærmingen.

Interessante artikler:
Sammenligning av plattformsversjon mot Native Mobile App
Sjekk fordeler og ulemper med Native, Cross-platform og Hybrid Apps

Bildekilde: Flickr.com/ Dietrich


Forfatteren: Reema Oamkumar er engasjert som tankeleder på www.Software-Developer-India.com som er en del av YUHIRO Group. YUHIRO er en tysk-indisk bedrift som tilbyr programmerere til IT-selskaper, byråer og IT-avdelinger.

Legg igjen en kommentar

Dette nettstedet bruker Akismet for å redusere spam. Lær om hvordan dine kommentar-data prosesseres.