SlideShare a Scribd company logo
VT2018 - DA355A - Phonegap, react, vue.js
Frågor innan vi drar igång?
VT2018 - DA355A - Phonegap, react, vue.js
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
VT2018 - DA355A - Phonegap, react, vue.js
Vilka är era topp 3 applikationer?
(som inte är förinstallerade)
VT2018 - DA355A - Phonegap, react, vue.js
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
VT2018 - DA355A - Phonegap, react, vue.js
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?
VT2018 - DA355A - Phonegap, react, vue.js
Verktyg för att skapa hybridappar?
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
En kodbas till flera enheter
Att komma åt ”native” API hos enheten
Använd native APIs
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
Exempelarkitektur
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
Kom igång med PhoneGap
http://phonegap.com/getstarted/
VT2018 - DA355A - Phonegap, react, vue.js
Kom igång med PhoneGap
http://phonegap.com/getstarted/
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
En snabb demo?
Populära JS-ramverk idag
https://medium.com/javascript-scene/top-javascript-libraries-tech-to-learn-in-2018-c38028e028e6
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
In the job listings...
Case
VT2018 - DA355A - Phonegap, react, vue.js
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();
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
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
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
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
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
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
VT2018 - DA355A - Phonegap, react, vue.js
VT2018 - DA355A - Phonegap, react, vue.js
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

PDF
VT2019 - DA355A - JS-ramverk
PDF
jQuery and Ajax
PDF
13 cms ht14
PDF
VT16 - DA355A - Geolocation & media
PDF
HT17 - DA156A - Responsiv webbutveckling
PDF
LocalStorage
PDF
WebSockets för applikationstestare
PDF
The Woo Whisperer - Eternal Sunshine of the Spotless E-commerce Store
VT2019 - DA355A - JS-ramverk
jQuery and Ajax
13 cms ht14
VT16 - DA355A - Geolocation & media
HT17 - DA156A - Responsiv webbutveckling
LocalStorage
WebSockets för applikationstestare
The Woo Whisperer - Eternal Sunshine of the Spotless E-commerce Store

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

PDF
VT17 - DA355A - Hybridapplikationer
PDF
Mobile cross platform development
PPT
WebAppsFTW
PDF
Mobil web
PDF
Sigmas produkter i fokus
PPTX
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
KEY
Vad är webb
PDF
Dagens mobila samhälle
PPTX
JavaScript - Intro
PDF
VT18 - DA355A/DA344A - Kursintroduktion
PDF
HT17 - DA156A - Sammanfattning av kursen
PPT
Html5, responsive design och phonegap
PPTX
HT16 - DA156A - Ramverk och bibliotek
PDF
VT2019 - DA355A - Kursintroduktion
PPTX
Appar och mobil webb
PDF
VT17 - DA355A - Kursintroduktion
PDF
HT23 - DA106A - Ramverk & Bibliotek
PDF
HT17 - DA156A - Ramverk och bibliotek
PDF
HT18 - DA156A - Frameworks
KEY
Vad är webb för oss?
VT17 - DA355A - Hybridapplikationer
Mobile cross platform development
WebAppsFTW
Mobil web
Sigmas produkter i fokus
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Vad är webb
Dagens mobila samhälle
JavaScript - Intro
VT18 - DA355A/DA344A - Kursintroduktion
HT17 - DA156A - Sammanfattning av kursen
Html5, responsive design och phonegap
HT16 - DA156A - Ramverk och bibliotek
VT2019 - DA355A - Kursintroduktion
Appar och mobil webb
VT17 - DA355A - Kursintroduktion
HT23 - DA106A - Ramverk & Bibliotek
HT17 - DA156A - Ramverk och bibliotek
HT18 - DA156A - Frameworks
Vad är webb för oss?
Ad

More from Anton Tibblin (20)

PPTX
React - Gästföreläsning - Flerplattformsapplikationer
PDF
2025 - DA395A - Localstorage & cookies Geolocation Mediahantering.pdf
PDF
DA395A -jQuery och Ajax - Flerplattformsapplikationer med webbtekniker
PDF
VT25 - JavaScript och DOM - Flerplattformsapplikationer med webbtekniker
PDF
VT25 - DA395A - Kursintroduktion i Flerplattformsapplikationerm med webbtekniker
PDF
HT24 - DA354B - Introduktion till programmering - OOP
PDF
DA354B - Introduktion till programmering - Webbprogrammering
PDF
DA354B - Introduktion till programmering: Fil- och felhantering
PDF
HT24 - DA354B - Mer om funktioner i Python
PDF
HT24 - DA354B -Intro:Funktioner i Python
PDF
HT24 - DA354B - Introduktion till Python
PDF
HT24 - DA354B - Kursintroduktion till programmering
PDF
DA106A - Introduktion till webbutveckling - Responsiv design
PDF
HT24 - Introduktion till webbutveckling - Introduktion till CSS
PDF
HT24 - Introduktion till webbutveckling - Tabeller och formulär
PDF
HT24 - Introduktion till webbutveckling - Introduktion till HTML
PDF
HT24 - Introduktion till webbutveckling - Kursintroduktion
PDF
2024 - Localstorage & cookies Geolocation Mediahantering.pdf
PDF
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
PDF
VT24 - Responsiv design & Ramverk inom webbutveckling
React - Gästföreläsning - Flerplattformsapplikationer
2025 - DA395A - Localstorage & cookies Geolocation Mediahantering.pdf
DA395A -jQuery och Ajax - Flerplattformsapplikationer med webbtekniker
VT25 - JavaScript och DOM - Flerplattformsapplikationer med webbtekniker
VT25 - DA395A - Kursintroduktion i Flerplattformsapplikationerm med webbtekniker
HT24 - DA354B - Introduktion till programmering - OOP
DA354B - Introduktion till programmering - Webbprogrammering
DA354B - Introduktion till programmering: Fil- och felhantering
HT24 - DA354B - Mer om funktioner i Python
HT24 - DA354B -Intro:Funktioner i Python
HT24 - DA354B - Introduktion till Python
HT24 - DA354B - Kursintroduktion till programmering
DA106A - Introduktion till webbutveckling - Responsiv design
HT24 - Introduktion till webbutveckling - Introduktion till CSS
HT24 - Introduktion till webbutveckling - Tabeller och formulär
HT24 - Introduktion till webbutveckling - Introduktion till HTML
HT24 - Introduktion till webbutveckling - Kursintroduktion
2024 - Localstorage & cookies Geolocation Mediahantering.pdf
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - Responsiv design & Ramverk inom webbutveckling
Ad

VT2018 - DA355A - Phonegap, react, vue.js