SlideShare a Scribd company logo
1 of 74
Download to read offline
Frågor innan vi drar igång?
Dagens agenda
• Native vs. Webbapplikationer?
• Hybridapplikationer
• PhoneGap (Cordova)
• Moderna ramverk för webbutveckling
• Vue.js
• React
Att bygga applikationer med
webbtekniker
HTML / CSS / JS / m.m.
http://www.sheridan.com/sites/default/files/blogs_journals_nativevsweb_0711.png
Vilka för- och nackdelar finns det med
webbapplikationer och nativa applikationer?
http://imgur.com/EZPFB
Vilka är era topp 3 applikationer?
(som inte är förinstallerade)
https://fbombmedia.com/wp-
content/uploads/2014/09/native_hybrid_web_app_development_3.jpg
http://mobilenext.net/wp-content/uploads/2014/07/native_main_mini_new.jpg
https://cdn2.hubspot.net/hubfs/2256160/Imported_Blog_Media/web-hybrid-native-employee-app.jpg?t=1487242941372
Saker att tänka på vid hybridappar
• HTML5 is NOT better than native, but it rarely matters
• It is possible to create iOS applications without a Mac
• You need to use a HTML5 framework, and you need to choose
a good one
• HTML5 (hybrid) can do EVERYTHING native can do
• The DOM is the biggest determining factor for performance
• Debugging is sometimes awesome, sometimes difficult
https://www.joshmorony.com/7-lessons-from-3-years-of-
html5-mobile-application-development/
Vilka appar är hybridappar?
Verktyg för att skapa hybridappar?
En kodbas till flera enheter
Att komma åt ”native” API hos enheten
Använd native APIs
Exempelarkitektur
Kom igång med PhoneGap
http://phonegap.com/getstarted/
Kom igång med PhoneGap
http://phonegap.com/getstarted/
En snabb demo?
Populära JS-ramverk idag
https://medium.com/javascript-scene/top-javascript-libraries-tech-to-learn-in-2018-c38028e028e6
In the job listings...
Case
Case
Tankesätt
1. - Vi utgår att våra filmer sparas i en array
2. Strukturera upp bra HTML-kod
3. Ange id:n för de element som vi behöver
1. Textfältet för ny filmtitel
• #new-movie
2. Knappen för att lägga till en ny film
• #add-movie
3. Listan för att visa upp alla filmerna
• #movies
4. Skriv funktionerna i JavaScript
1. $(”#add-movie”).on(”click”, function() { ... });
2. renderMovies();
Varför Vue eller React – jQuery funkar ju!
• Snabb rendering av sidor genom virtuell DOM
• Komponentbaserat
• Rendering på serversidan
• Enkla integrationer med olika routing-verktyg
• Stort community och mycket support
• Bättre struktur för större projekt
Vue.js
• Ett JavaScript-ramverk för att bygga grafiska gränssnitt
• Fokuserar på ”View”-lagret (man pratat ofta om MVC)
• Enkelt att integrera med andra bibliotek
Fördelar
• Enkelt att lära sig!
• Lättviktigt
• Snabbt
• Reaktivt
• Virtuell DOM
• Komponentbaserat
• Mycket anpassningsbart, t.ex. med andra ramverk / bibliotek
Komponenter?
Komponenter i vårt exempel
app
movie
movie
movie
React
• Ett JavaScript-ramverk för att bygga grafiska gränssnitt
• Fokuserar på ”View”-lagret (man pratat ofta om MVC)
• Har ett stort ekosystem av komponenter
Fördelar
• Snabbt
• Reaktivt
• JavaScript-drivet
• JSX
• Virtuell DOM
• Komponentbaserat
• Bra för stora projekt
• Syskon med React Native
• Mycket stort ekosystem
Komponenter?
Komponenter i vårt exempel
MovieList
Movie
Movie
Movie
Att arbeta med react ”på riktigt”
Att komma igång...
1. Installera NPM: https://www.npmjs.com/get-npm
2. Installera ett paket som skapar ett react-projekt
• npm install -g create-react-app
3. Skapa ett projekt
• create-react-app my-app
4. Navigera in till projekt-mappen
• cd my-app
5. Starta en utveckling-server (miljön)
• npm start
Såhär kan det se ut...
VT2018 - DA355A - Phonegap, react, vue.js

More Related Content

Similar to VT2018 - DA355A - Phonegap, react, vue.js

VT17 - DA355A - Hybridapplikationer
VT17 - DA355A - HybridapplikationerVT17 - DA355A - Hybridapplikationer
VT17 - DA355A - HybridapplikationerAnton Tibblin
 
Responsiv webbdesign + HTML5 + CSS5
Responsiv webbdesign + HTML5 + CSS5Responsiv webbdesign + HTML5 + CSS5
Responsiv webbdesign + HTML5 + CSS5Martin Carlsson
 
VT2018 - DA355A - Geolocation, Media, Package Manage
VT2018 - DA355A - Geolocation, Media, Package ManageVT2018 - DA355A - Geolocation, Media, Package Manage
VT2018 - DA355A - Geolocation, Media, Package ManageAnton Tibblin
 
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerVT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerAnton Tibblin
 
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)Anton Tibblin
 
VT23 - RWD & Ramverk
VT23 - RWD & RamverkVT23 - RWD & Ramverk
VT23 - RWD & RamverkAnton Tibblin
 
VT2019 - DA355A - jQuery och Ajax
VT2019 - DA355A - jQuery och AjaxVT2019 - DA355A - jQuery och Ajax
VT2019 - DA355A - jQuery och AjaxAnton Tibblin
 
VT18 - DA355A/DA344A - Kursintroduktion
VT18 - DA355A/DA344A - KursintroduktionVT18 - DA355A/DA344A - Kursintroduktion
VT18 - DA355A/DA344A - KursintroduktionAnton Tibblin
 
IBM Collaboration Forum - Exait
IBM Collaboration Forum - ExaitIBM Collaboration Forum - Exait
IBM Collaboration Forum - ExaitIBM Sverige
 
VT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapVT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapAnton Tibblin
 
HT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptHT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptAnton Tibblin
 
jQuery & HTML5 Cache
jQuery & HTML5 CachejQuery & HTML5 Cache
jQuery & HTML5 CacheAnton Tibblin
 
HT17 - DA156A - Sammanfattning av kursen
HT17 - DA156A - Sammanfattning av kursenHT17 - DA156A - Sammanfattning av kursen
HT17 - DA156A - Sammanfattning av kursenAnton Tibblin
 
Vad är webb för oss?
Vad är webb för oss?Vad är webb för oss?
Vad är webb för oss?Andreas Ek
 
IBM Smarter Business 2012 - Hjälp kunderna med mobila appar
IBM Smarter Business 2012 - Hjälp kunderna med mobila apparIBM Smarter Business 2012 - Hjälp kunderna med mobila appar
IBM Smarter Business 2012 - Hjälp kunderna med mobila apparIBM Sverige
 
Metodik - Versionshantering, pakethantering, paketering och testning
Metodik - Versionshantering, pakethantering, paketering och testningMetodik - Versionshantering, pakethantering, paketering och testning
Metodik - Versionshantering, pakethantering, paketering och testningJohan Holmberg
 
Molntjänster som it superhjältar
Molntjänster som it superhjältarMolntjänster som it superhjältar
Molntjänster som it superhjältarPer Åström
 
Ny teknik och användbarhet
Ny teknik och användbarhetNy teknik och användbarhet
Ny teknik och användbarhetPer Axbom
 
Välj rätt i teknikdjungeln
Välj rätt i teknikdjungeln Välj rätt i teknikdjungeln
Välj rätt i teknikdjungeln Creuna Sverige
 

Similar to VT2018 - DA355A - Phonegap, react, vue.js (20)

VT17 - DA355A - Hybridapplikationer
VT17 - DA355A - HybridapplikationerVT17 - DA355A - Hybridapplikationer
VT17 - DA355A - Hybridapplikationer
 
Responsiv webbdesign + HTML5 + CSS5
Responsiv webbdesign + HTML5 + CSS5Responsiv webbdesign + HTML5 + CSS5
Responsiv webbdesign + HTML5 + CSS5
 
VT2018 - DA355A - Geolocation, Media, Package Manage
VT2018 - DA355A - Geolocation, Media, Package ManageVT2018 - DA355A - Geolocation, Media, Package Manage
VT2018 - DA355A - Geolocation, Media, Package Manage
 
jQuery & Ajax
jQuery & AjaxjQuery & Ajax
jQuery & Ajax
 
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerVT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
 
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
 
VT23 - RWD & Ramverk
VT23 - RWD & RamverkVT23 - RWD & Ramverk
VT23 - RWD & Ramverk
 
VT2019 - DA355A - jQuery och Ajax
VT2019 - DA355A - jQuery och AjaxVT2019 - DA355A - jQuery och Ajax
VT2019 - DA355A - jQuery och Ajax
 
VT18 - DA355A/DA344A - Kursintroduktion
VT18 - DA355A/DA344A - KursintroduktionVT18 - DA355A/DA344A - Kursintroduktion
VT18 - DA355A/DA344A - Kursintroduktion
 
IBM Collaboration Forum - Exait
IBM Collaboration Forum - ExaitIBM Collaboration Forum - Exait
IBM Collaboration Forum - Exait
 
VT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapVT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & Bootstrap
 
HT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptHT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScript
 
jQuery & HTML5 Cache
jQuery & HTML5 CachejQuery & HTML5 Cache
jQuery & HTML5 Cache
 
HT17 - DA156A - Sammanfattning av kursen
HT17 - DA156A - Sammanfattning av kursenHT17 - DA156A - Sammanfattning av kursen
HT17 - DA156A - Sammanfattning av kursen
 
Vad är webb för oss?
Vad är webb för oss?Vad är webb för oss?
Vad är webb för oss?
 
IBM Smarter Business 2012 - Hjälp kunderna med mobila appar
IBM Smarter Business 2012 - Hjälp kunderna med mobila apparIBM Smarter Business 2012 - Hjälp kunderna med mobila appar
IBM Smarter Business 2012 - Hjälp kunderna med mobila appar
 
Metodik - Versionshantering, pakethantering, paketering och testning
Metodik - Versionshantering, pakethantering, paketering och testningMetodik - Versionshantering, pakethantering, paketering och testning
Metodik - Versionshantering, pakethantering, paketering och testning
 
Molntjänster som it superhjältar
Molntjänster som it superhjältarMolntjänster som it superhjältar
Molntjänster som it superhjältar
 
Ny teknik och användbarhet
Ny teknik och användbarhetNy teknik och användbarhet
Ny teknik och användbarhet
 
Välj rätt i teknikdjungeln
Välj rätt i teknikdjungeln Välj rätt i teknikdjungeln
Välj rätt i teknikdjungeln
 

More from Anton Tibblin

2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdfAnton Tibblin
 
VT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutvecklingVT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutvecklingAnton Tibblin
 
DA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object modelDA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object modelAnton Tibblin
 
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbteknikerVT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbteknikerAnton Tibblin
 
HT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med PythonHT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med PythonAnton Tibblin
 
HT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhanteringHT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhanteringAnton Tibblin
 
HT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikonHT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikonAnton Tibblin
 
HT23 - DA354A - Kursintroduktion
HT23 - DA354A - KursintroduktionHT23 - DA354A - Kursintroduktion
HT23 - DA354A - KursintroduktionAnton Tibblin
 
HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)Anton Tibblin
 
HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1Anton Tibblin
 
HT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & BibliotekHT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & BibliotekAnton Tibblin
 
HT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutvecklingHT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutvecklingAnton Tibblin
 
HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)Anton Tibblin
 
HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)Anton Tibblin
 
Introduktion till CSS
Introduktion till CSSIntroduktion till CSS
Introduktion till CSSAnton Tibblin
 
HTML - Tabeller och formulär
HTML - Tabeller och formulärHTML - Tabeller och formulär
HTML - Tabeller och formulärAnton Tibblin
 
Introduktion till HTML
Introduktion till HTMLIntroduktion till HTML
Introduktion till HTMLAnton Tibblin
 
LocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - MediaLocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - MediaAnton Tibblin
 

More from Anton Tibblin (20)

2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf
 
VT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutvecklingVT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutveckling
 
DA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object modelDA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object model
 
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbteknikerVT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
 
HT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med PythonHT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med Python
 
HT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhanteringHT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhantering
 
HT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikonHT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikon
 
HT23 - DA354A - Kursintroduktion
HT23 - DA354A - KursintroduktionHT23 - DA354A - Kursintroduktion
HT23 - DA354A - Kursintroduktion
 
HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)
 
HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1
 
HT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & BibliotekHT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & Bibliotek
 
HT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutvecklingHT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutveckling
 
HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)
 
HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)
 
Introduktion till CSS
Introduktion till CSSIntroduktion till CSS
Introduktion till CSS
 
HTML - Tabeller och formulär
HTML - Tabeller och formulärHTML - Tabeller och formulär
HTML - Tabeller och formulär
 
Introduktion till HTML
Introduktion till HTMLIntroduktion till HTML
Introduktion till HTML
 
Kursintroduktion
KursintroduktionKursintroduktion
Kursintroduktion
 
LocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - MediaLocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - Media
 
JavaScript & DOM
JavaScript & DOMJavaScript & DOM
JavaScript & DOM
 

VT2018 - DA355A - Phonegap, react, vue.js