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
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
17. Xamarin
• Xamarin razvojno okruženje je dostupno u dvije verzije
• Xamarin Studio dostupan za Windows i Mac platformu
• Xamarin dodatak za Visual Studio