AGENDA
KDO JSMEPROČ JSME ZVOLILI XAMARIN10 PRAKTICKÝCH ZKUŠENOSTÍDISKUZE
Softwarová řešení a mobilní aplikace na míru 2
SOFTWAROVÁ ŘEŠENÍ NA MÍRU
Softwarová řešení a mobilní aplikace na míru 3
PROČ PRÁVĚ XAMARIN?
Softwarová řešení a mobilní aplikace na míru 4
První poptávka na jednoduchou mobilní
aplikaci – Android, iOS a WP
12/2012
• Rozhodnutí pro Xamarin
• Výhody• Známé prostředí
VS + C#• Alternativy
• Nativní vývoj• PhoneGap atd.
01/2013• 3,5 roku zkušeností• Desítky mobilních
aplikací2016
XAMARIN – SPRÁVNÁ VOLBA
18 projektů – 30 mobilních aplikací
Softwarová řešení a mobilní aplikace na míru 5
1. IKONY PRO RŮZNÉ TYPY ZAŘÍZENÍ
Aplikace je spouštěna na různých zařízeních s různými typy displejůPokud je použita jen jedna velikost ikon, pak nevypadají optimálně
Softwarová řešení a mobilní aplikace na míru 6
1. IKONY PRO RŮZNÉ TYPY ZAŘÍZENÍ
Nativní postup
Obrázek vložený v různých velikostechZvětšuje velikost balíčkuNáročné na součinnost grafika
Použití fontů
Jeden soubor obsahující velké množství ikonNa všech zařízeních vypadají stejně
Softwarová řešení a mobilní aplikace na míru 7
1. IKONY PRO RŮZNÉ TYPY ZAŘÍZENÍ
Nativní postup Material Icons Font
Softwarová řešení a mobilní aplikace na míru 8
2. LOKALIZACE TEXTŮ
Častým požadavkem klientů je podpora více jazykůAplikace obvykle detekuje jazyk daného zařízení a případně umožní změnu jazyka
Softwarová řešení a mobilní aplikace na míru 9
2. LOKALIZACE TEXTŮ
Nativní přístup
Náročné na údržbu
RESX
Jeden soubor pro všechny platformyKomplikovanější používání
Softwarová řešení a mobilní aplikace na míru 10
2. LOKALIZACE TEXTŮ
Softwarová řešení a mobilní aplikace na míru 11
Nativní postup -iOS
Nativní postup - Android
RESX
3. RŮZNÉ VELIKOSTI DISPLEJŮ
Obvykle je nutné podporovat širokou škálu koncových zařízeních s různými typy displejů
Softwarová řešení a mobilní aplikace na míru 12
3. RŮZNÉ VELIKOSTI DISPLEJŮ
Vše je relativníAndroid
px = dp * (dpi / 160)Když DP nestačí, lze pro různé displeje definovat jiné hodnoty
iOS – Auto Layout, StackView
Softwarová řešení a mobilní aplikace na míru 13
3. RŮZNÉ VELIKOSTI DISPLEJŮ - ANDROID
Softwarová řešení a mobilní aplikace na míru 14
Definice různých hodnot podle šířky displeje
3. RŮZNÉ VELIKOSTI DISPLEJŮ - iOS
Softwarová řešení a mobilní aplikace na míru 15
Jak funguje Auto Layout
4. VYKRESLOVÁNÍ VLASTNÍCH KOMPONENT
Některé projekty vyžadují specifický design na míru bez využití nativních komponent
Softwarová řešení a mobilní aplikace na míru 16
4. VYKRESLOVÁNÍ VLASTNÍCH KOMPONENT
Stejné možnosti jako při nativním vývojiStačí rozšířit třídu View (u iOS UIView), přepsat její metodu OnDraw a v ní snadno definovat podobu své nové komponenty.
Softwarová řešení a mobilní aplikace na míru 17
5. STAHOVÁNÍ A UKLÁDÁNÍ DAT
Řada mobilních aplikací je integrována s nadřazeným ISAplikace se musí vyrovnat se ztrátou konektivityPřípadně je potřeba minimalizovat datovou náročnost na datovém roamingu
Softwarová řešení a mobilní aplikace na míru 18
5. STAHOVÁNÍ A UKLÁDÁNÍ DAT
Napojení na webové služby (WCF, REST)SQLite databáze
Softwarová řešení a mobilní aplikace na míru 19
6. ASYNCHRONNÍ PROGRAMOVÁNÍ
Žádná dlouhotrvající operace by neměla běžet v hlavním vlákně Pokud budete dlouho blokovat hlavní vlákno OS vaší aplikaci ukončíKdyž probíhá dlouhotrvající operace měli bychom uživateli zobrazit, že se na pozadí něco děje
Softwarová řešení a mobilní aplikace na míru 20
6. ASYNCHRONNÍ PROGRAMOVÁNÍ
Doporučeno používat async/await Je nutné ošetřit co se stane při rotaci a když uživatel opustí aplikaci
Softwarová řešení a mobilní aplikace na míru 21
Spuštění asynchronní operaceZastavení operace
7. KOMUNIKACE PŘES BLUETOOTH
Aplikace pro dálkový odečet energiíPožadavkem byla komunikace přes BT pomocí specifického protokoluŠvýcarský dodavatel HW neposkytoval podporu pro AndroidProblém měl dvě části
Implementace protokoluOdeslání dat přes BT
Softwarová řešení a mobilní aplikace na míru 22
7. KOMUNIKACE PŘES BLUETOOTH
Protokol lze pro všechny platformy implementovat jen jednou
Softwarová řešení a mobilní aplikace na míru 23
7. KOMUNIKACE PŘES BLUETOOTH
Stejné možnosti jako u nativního vývojeUkázka komunikace pro Android:
Softwarová řešení a mobilní aplikace na míru 24
8. OPERACE NA POZADÍ
Cílem bylo vytvořit aplikaci s nonstop sledováním polohy Automatická aktualizace dat na pozadíVše bez zásahu uživatele
Softwarová řešení a mobilní aplikace na míru 25
8. OPERACE NA POZADÍ
Android
Pro všechny akce na pozadí se používají různé druhy třídy Service
iOS
Omezené možnostiOperace na pozadí má od probuzení do skončení omezený časNa pozadí nelze dělat libovolnou činnost v libovolný čas.
Softwarová řešení a mobilní aplikace na míru 26
8. OPERACE NA POZADÍ - ANDROID
Softwarová řešení a mobilní aplikace na míru 27
Naplánování spuštění
Provedení operace na pozadí
8. OPERACE NA POZADÍ – iOS
Softwarová řešení a mobilní aplikace na míru 28
Spuštění standardního sledování polohy
Spuštění significant location
9. PUSH NOTIFIKACE
Cílem je upozornit bezprostředně uživatele na nějakou událostPřípadně aktualizovat data v aplikaci okamžitě po jejich aktualizaci na serveru
Softwarová řešení a mobilní aplikace na míru 29
9. PUSH NOTIFIKACE
Aplikace nic sama nekontroluje notifikaci obdrží od OSDruh operace na pozadí (platí pro ně stejná omezení)Klasické notifikace (zobrazení upozornění uživateli)Skryté notifikace
Softwarová řešení a mobilní aplikace na míru 30
9. PUSH NOTIFIKACE – iOS
Softwarová řešení a mobilní aplikace na míru 31
Princip Implementace push notifikací
9. PUSH NOTIFIKACE – ANDROID
Softwarová řešení a mobilní aplikace na míru 32
Získání tokenu
9. PUSH NOTIFIKACE – ANDROID
Softwarová řešení a mobilní aplikace na míru 33
Aktualizace tokenu
Přijetí zprávy
10. POUŽITÍ KNIHOVEN TŘETÍCH STRAN – iOS
Zadání – mobilní aplikace pro streaming šifrovaného videa, dodavatel streamu podporoval pouze Objective CV případě že potřebujete použít knihovny které nejsou součástí XamarinuBindings Library
Softwarová řešení a mobilní aplikace na míru 34
10. POUŽITÍ KNIHOVEN TŘETÍCH STRAN – iOS
Softwarová řešení a mobilní aplikace na míru 35
Mapování nativní knihovny do C#
10. POUŽITÍ KNIHOVEN TŘETÍCH STRAN – iOS
Softwarová řešení a mobilní aplikace na míru 36
Vytvoření výčtového typu
Softwarová řešení a mobilní aplikace na míru 37
DOTAZY A DISKUZE
DĚKUJI ZA POZORNOST
WWW.SKELETON.CZ
SLEDUJTE NÁS: