SlideShare a Scribd company logo
1 of 18
Download to read offline
Razvoj softvera II
• Pristupi u razvoju mobilnih aplikacija
• Razvojna okruženja
• Xamarin & Forms
• Dijeljeni | PCL projekat
• Interfejs i kontrole
Sadržaj
Uređaji & platforme
SILO
• Poptuna izoliranost
• Odvojeni resursi
• Povećanje troškova
• Otežano upravljanje i
nadogradnja
• Usko specijalistička znanja
Black Box
• One project to rule them all
• HTML, CSS, JavaScript...
• Postoje i određena ograničenja:
• Performanse
• Izgled interfejsa
• Upravljanje grafičkim
elementima (2D/3D)
Razvojna okruženja
Tradicionalni Xamarin
• Neki od dijelova koda koji su kandidati za dijeljenje između
projekata su:
• Poslovna logika
• Komunikacija sa bazom podataka
• Komunikacija sa web servisima
• Parsiranje podataka
• ...
• 60 – 90 % dijeljenog koda
• 10 – 40 % koda
specifičnog za platformu
Xamarin Forms
Shared UI Code
• Kako dijeliti UI kod zajedno sa poslovnom logikom? Odgovor
je: Xamarin.Forms.
• Osigurava set dijeljenih kontrola za kreiranje korisničkog
interfejsa
Xamarin Forms
• Korištene kontrole se prevode u native kontrole platformi na
kojima se izvršavaju
Xamarin.Forms vs
Xamarin.Andorid/IOS/UWP
Forms IOS/Android/UWP
Primarno unos podataka
Prototipska aplikacija
Perfekcija u dizajnu interfejsa
Korištenje funkcionalnosti vezanih za
specifičnu platformu
• Oba pristupa, razvoj aplikacija samo za određenu platformu ili
korištenje Xamarin Forms-a, imaju određene prednosti i
nedostatke, a neke od njih su pobrojane u narednoj tabeli
Dijeljeni (Shared) projekat
Shared UI Code
• Fajlovi koji su sadržani unutar dijeljenog projekta se kopiraju u
projekat svake platforme (Android, IOS...), te kompajliraju za
konkretno okruženje
• Zahvaljujući mogućnosti zvanoj
conditiona compilation, unutar
dijeljenog projekta je
omogućeno korištenje dijelova
programskog koda koji su
specifični za pojedine platforme
• #if __IOS__
• #if __ANDROID__
• #if __MOBILE__
• ...
PCL (Portable Class Library)
• PCL predstvlja biblioteku koju mogu koristiti različite vrste
aplikacija (windows, web, mobilne, konzole i td)
• Prilikom kreiranja PCL biblioteke vrši se odabir platformi na
kojima će se biblioteka koristiti
• Povećanjem broja odabranih platformi smanjuje se broj
dostupnih API-ova jer se unutar PCL biblioteke može nalaziti
samo onaj programski code koji je dostupan na svim odabranim
platformama
• U novijim verzijama, za dijeljenje
programskog code-a, je dostupna i
opcija .Net Standard koji predstavlja set
API-a dostupnih na svim .Net
platformama
Dijeljeni || PCL pristup
Dijeljeni PCL
Prednosti Nedostaci Prednosti Nedostaci
Moguće je dodati
dijelove koda koji su
specifični za pojedine
platforme
Zbog načina
kompajliranja
isporučuje se u
izvornom obliku
Isporučuje se u
binarnom formatu
Nije pogodan za
dodavanje dijelova koda
koji su specifični za
pojedine platforme
Može sadržavati
različite vrste fajlova
Otežan izvršenje unit
testova
Pogodan za unit
testove
Nije pogodan za
dijeljenje fajlova koji ne
sadrže programski kod
Dostupni su svi API-
ovi
Može dovesti do
kreiranja projekta
koji je dosta teško
održavati i
nadograđivati
Podržava
postavljenu
arhitekture
aplikacije
Ograničen set
dostupnih API-ova
Xamarin Forms
Page
Layout
View
View
Layout
View
View
Layout
View
Xamarin Forms
Pages
Xamarin.Forms
Layouts
Stack Absolute Relative Grid ContentView ScrollView Frame
Xamarin.Forms
Controls
ActivityIndicator BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell
Xamarin
• Xamarin razvojno okruženje je dostupno u dvije verzije
• Xamarin Studio dostupan za Windows i Mac platformu
• Xamarin dodatak za Visual Studio
KRAJ PREZENTACIJE

More Related Content

Similar to RSII_P6_2017_18.pdf

Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...
Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...
Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...Five
 
Vert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, JavanturaVert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, JavanturaFive
 
Vert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacijeVert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacijeMihovil Rister
 
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTXMicrosoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTXIvan Kaselj
 
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTXMicrosoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTXAndrej Ko?i?
 
(ATD10) Postar zvoni dvaput - dostava podataka u Azureu
(ATD10) Postar zvoni dvaput - dostava podataka u Azureu(ATD10) Postar zvoni dvaput - dostava podataka u Azureu
(ATD10) Postar zvoni dvaput - dostava podataka u AzureuLuka Lovosevic
 
White paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
White paper - Migracija IT rješenja u Cloud Hrvatskog TelekomaWhite paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
White paper - Migracija IT rješenja u Cloud Hrvatskog TelekomaHrvatski Telekom
 
JavaCro14: Pakiranje i instalacija JEE rješenja
JavaCro14: Pakiranje i instalacija JEE rješenjaJavaCro14: Pakiranje i instalacija JEE rješenja
JavaCro14: Pakiranje i instalacija JEE rješenjaMiroslav Resetar
 
Upravljanje pristupom uz Azure AD B2C_IvanMarkovic
Upravljanje pristupom uz Azure AD B2C_IvanMarkovicUpravljanje pristupom uz Azure AD B2C_IvanMarkovic
Upravljanje pristupom uz Azure AD B2C_IvanMarkovicIvan Marković
 
Izgradnja OS-a uporabom mikrojezgre
Izgradnja OS-a uporabom mikrojezgreIzgradnja OS-a uporabom mikrojezgre
Izgradnja OS-a uporabom mikrojezgreSenko Rašić
 
LoCloud Technical Poster - Više od prostora
LoCloud Technical Poster - Više od prostora LoCloud Technical Poster - Više od prostora
LoCloud Technical Poster - Više od prostora locloud
 
Why Firebird - Fact for decision makers, in Bosnian
Why Firebird  - Fact for decision makers, in BosnianWhy Firebird  - Fact for decision makers, in Bosnian
Why Firebird - Fact for decision makers, in BosnianMind The Firebird
 
Bi publisher ljiljana multicom.ppt [compatibility m
Bi publisher ljiljana  multicom.ppt [compatibility mBi publisher ljiljana  multicom.ppt [compatibility m
Bi publisher ljiljana multicom.ppt [compatibility mOracle Hrvatska
 
Web tehnologije u desktop developmentu
Web tehnologije u desktop developmentuWeb tehnologije u desktop developmentu
Web tehnologije u desktop developmentuDarko Kukovec
 

Similar to RSII_P6_2017_18.pdf (20)

Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...
Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...
Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...
 
Javantura Zagreb 2014 - Java na klijenstskoj strani - Ivan Vučak
Javantura Zagreb 2014 - Java na klijenstskoj strani - Ivan VučakJavantura Zagreb 2014 - Java na klijenstskoj strani - Ivan Vučak
Javantura Zagreb 2014 - Java na klijenstskoj strani - Ivan Vučak
 
Vert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, JavanturaVert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, Javantura
 
Javantura Zagreb 2014 - Vert.x 1.3 - Mihovil Rister
Javantura Zagreb 2014 - Vert.x 1.3 - Mihovil RisterJavantura Zagreb 2014 - Vert.x 1.3 - Mihovil Rister
Javantura Zagreb 2014 - Vert.x 1.3 - Mihovil Rister
 
Vert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacijeVert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacije
 
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTXMicrosoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
 
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTXMicrosoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
Microsoft WinDays16 Technology Dynamics AX 7 Cloud ERP.PPTX
 
(ATD10) Postar zvoni dvaput - dostava podataka u Azureu
(ATD10) Postar zvoni dvaput - dostava podataka u Azureu(ATD10) Postar zvoni dvaput - dostava podataka u Azureu
(ATD10) Postar zvoni dvaput - dostava podataka u Azureu
 
JavaCro'14 - Packaging and installing of the JEE solution – Miroslav Rešetar
JavaCro'14 - Packaging and installing of the JEE solution – Miroslav RešetarJavaCro'14 - Packaging and installing of the JEE solution – Miroslav Rešetar
JavaCro'14 - Packaging and installing of the JEE solution – Miroslav Rešetar
 
White paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
White paper - Migracija IT rješenja u Cloud Hrvatskog TelekomaWhite paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
White paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
 
JavaCro'15 - Enterprise service bus - Juraj Ćutić
JavaCro'15 - Enterprise service bus - Juraj ĆutićJavaCro'15 - Enterprise service bus - Juraj Ćutić
JavaCro'15 - Enterprise service bus - Juraj Ćutić
 
JavaCro14: Pakiranje i instalacija JEE rješenja
JavaCro14: Pakiranje i instalacija JEE rješenjaJavaCro14: Pakiranje i instalacija JEE rješenja
JavaCro14: Pakiranje i instalacija JEE rješenja
 
Upravljanje pristupom uz Azure AD B2C_IvanMarkovic
Upravljanje pristupom uz Azure AD B2C_IvanMarkovicUpravljanje pristupom uz Azure AD B2C_IvanMarkovic
Upravljanje pristupom uz Azure AD B2C_IvanMarkovic
 
Izgradnja OS-a uporabom mikrojezgre
Izgradnja OS-a uporabom mikrojezgreIzgradnja OS-a uporabom mikrojezgre
Izgradnja OS-a uporabom mikrojezgre
 
LoCloud Technical Poster - Više od prostora
LoCloud Technical Poster - Više od prostora LoCloud Technical Poster - Više od prostora
LoCloud Technical Poster - Više od prostora
 
Why Firebird - Fact for decision makers, in Bosnian
Why Firebird  - Fact for decision makers, in BosnianWhy Firebird  - Fact for decision makers, in Bosnian
Why Firebird - Fact for decision makers, in Bosnian
 
Bi publisher ljiljana multicom.ppt [compatibility m
Bi publisher ljiljana  multicom.ppt [compatibility mBi publisher ljiljana  multicom.ppt [compatibility m
Bi publisher ljiljana multicom.ppt [compatibility m
 
Web tehnologije u desktop developmentu
Web tehnologije u desktop developmentuWeb tehnologije u desktop developmentu
Web tehnologije u desktop developmentu
 
SQL Azure Reporting
SQL Azure ReportingSQL Azure Reporting
SQL Azure Reporting
 
JavaCro'15 - Integration of Mobile Applications with Facebook - Krešimir Mišu...
JavaCro'15 - Integration of Mobile Applications with Facebook - Krešimir Mišu...JavaCro'15 - Integration of Mobile Applications with Facebook - Krešimir Mišu...
JavaCro'15 - Integration of Mobile Applications with Facebook - Krešimir Mišu...
 

RSII_P6_2017_18.pdf

  • 2. • Pristupi u razvoju mobilnih aplikacija • Razvojna okruženja • Xamarin & Forms • Dijeljeni | PCL projekat • Interfejs i kontrole Sadržaj
  • 3. Uređaji & platforme SILO • Poptuna izoliranost • Odvojeni resursi • Povećanje troškova • Otežano upravljanje i nadogradnja • Usko specijalistička znanja
  • 4. Black Box • One project to rule them all • HTML, CSS, JavaScript... • Postoje i određena ograničenja: • Performanse • Izgled interfejsa • Upravljanje grafičkim elementima (2D/3D)
  • 6. Tradicionalni Xamarin • Neki od dijelova koda koji su kandidati za dijeljenje između projekata su: • Poslovna logika • Komunikacija sa bazom podataka • Komunikacija sa web servisima • Parsiranje podataka • ... • 60 – 90 % dijeljenog koda • 10 – 40 % koda specifičnog za platformu
  • 7. Xamarin Forms Shared UI Code • Kako dijeliti UI kod zajedno sa poslovnom logikom? Odgovor je: Xamarin.Forms. • Osigurava set dijeljenih kontrola za kreiranje korisničkog interfejsa
  • 8. Xamarin Forms • Korištene kontrole se prevode u native kontrole platformi na kojima se izvršavaju
  • 9. Xamarin.Forms vs Xamarin.Andorid/IOS/UWP Forms IOS/Android/UWP Primarno unos podataka Prototipska aplikacija Perfekcija u dizajnu interfejsa Korištenje funkcionalnosti vezanih za specifičnu platformu • Oba pristupa, razvoj aplikacija samo za određenu platformu ili korištenje Xamarin Forms-a, imaju određene prednosti i nedostatke, a neke od njih su pobrojane u narednoj tabeli
  • 10. Dijeljeni (Shared) projekat Shared UI Code • Fajlovi koji su sadržani unutar dijeljenog projekta se kopiraju u projekat svake platforme (Android, IOS...), te kompajliraju za konkretno okruženje • Zahvaljujući mogućnosti zvanoj conditiona compilation, unutar dijeljenog projekta je omogućeno korištenje dijelova programskog koda koji su specifični za pojedine platforme • #if __IOS__ • #if __ANDROID__ • #if __MOBILE__ • ...
  • 11. PCL (Portable Class Library) • PCL predstvlja biblioteku koju mogu koristiti različite vrste aplikacija (windows, web, mobilne, konzole i td) • Prilikom kreiranja PCL biblioteke vrši se odabir platformi na kojima će se biblioteka koristiti • Povećanjem broja odabranih platformi smanjuje se broj dostupnih API-ova jer se unutar PCL biblioteke može nalaziti samo onaj programski code koji je dostupan na svim odabranim platformama • U novijim verzijama, za dijeljenje programskog code-a, je dostupna i opcija .Net Standard koji predstavlja set API-a dostupnih na svim .Net platformama
  • 12. Dijeljeni || PCL pristup Dijeljeni PCL Prednosti Nedostaci Prednosti Nedostaci Moguće je dodati dijelove koda koji su specifični za pojedine platforme Zbog načina kompajliranja isporučuje se u izvornom obliku Isporučuje se u binarnom formatu Nije pogodan za dodavanje dijelova koda koji su specifični za pojedine platforme Može sadržavati različite vrste fajlova Otežan izvršenje unit testova Pogodan za unit testove Nije pogodan za dijeljenje fajlova koji ne sadrže programski kod Dostupni su svi API- ovi Može dovesti do kreiranja projekta koji je dosta teško održavati i nadograđivati Podržava postavljenu arhitekture aplikacije Ograničen set dostupnih API-ova
  • 15. Xamarin.Forms Layouts Stack Absolute Relative Grid ContentView ScrollView Frame
  • 16. Xamarin.Forms Controls ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell
  • 17. Xamarin • Xamarin razvojno okruženje je dostupno u dvije verzije • Xamarin Studio dostupan za Windows i Mac platformu • Xamarin dodatak za Visual Studio