XAMARIN 10 PRAKTICKÝCH ZKUŠENOSTÍ Roman Fischer fischer@skeleton.cz
AGENDA KDO JSME PROČ JSME ZVOLILI XAMARIN 10 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? 12/2012 První poptávka na jednoduchou mobilní aplikaci Android, ios a WP 01/2013 Rozhodnutí pro Xamarin Výhody Známé prostředí VS + C# Alternativy Nativní vývoj PhoneGap atd. 2016 3,5 roku zkušeností Desítky mobilních aplikací Softwarová řešení a mobilní aplikace na míru 4
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 velikostech Zvětšuje velikost balíčku Náročné na součinnost grafika Použití fontů Jeden soubor obsahující velké množství ikon Na 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 platformy Komplikovanější používání Softwarová řešení a mobilní aplikace na míru 10
2. LOKALIZACE TEXTŮ Nativní postup -ios RESX Nativní postup - Android Softwarová řešení a mobilní aplikace na míru 11
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 Definice různých hodnot podle šířky displeje Softwarová řešení a mobilní aplikace na míru 14
3. RŮZNÉ VELIKOSTI DISPLEJŮ - ios Jak funguje Auto Layout Softwarová řešení a mobilní aplikace na míru 15
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ývoji Stačí 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 IS Aplikace se musí vyrovnat se ztrátou konektivity Pří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 Zastavení operace Spuštění asynchronní operace Softwarová řešení a mobilní aplikace na míru 21
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 Android Problém měl dvě části Implementace protokolu Odeslá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ývoje Uká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žnosti Operace na pozadí má od probuzení do skončení omezený čas Na pozadí nelze dělat libovolnou činnost v libovolný čas. Softwarová řešení a mobilní aplikace na míru 26
8. OPERACE NA POZADÍ - ANDROID Naplánování spuštění Provedení operace na pozadí Softwarová řešení a mobilní aplikace na míru 27
8. OPERACE NA POZADÍ ios Spuštění standardního sledování polohy Spuštění significant location Softwarová řešení a mobilní aplikace na míru 28
9. PUSH NOTIFIKACE Cílem je upozornit bezprostředně uživatele na nějakou událost Pří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 OS Druh 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 Princip Implementace push notifikací Softwarová řešení a mobilní aplikace na míru 31
9. PUSH NOTIFIKACE ANDROID Získání tokenu Softwarová řešení a mobilní aplikace na míru 32
9. PUSH NOTIFIKACE ANDROID Aktualizace tokenu Přijetí zprávy Softwarová řešení a mobilní aplikace na míru 33
10. POUŽITÍ KNIHOVEN TŘETÍCH STRAN ios Zadání mobilní aplikace pro streaming šifrovaného videa, dodavatel streamu podporoval pouze Objective C V případě že potřebujete použít knihovny které nejsou součástí Xamarinu Bindings Library Softwarová řešení a mobilní aplikace na míru 34
10. POUŽITÍ KNIHOVEN TŘETÍCH STRAN ios Mapování nativní knihovny do C# Softwarová řešení a mobilní aplikace na míru 35
10. POUŽITÍ KNIHOVEN TŘETÍCH STRAN ios Vytvoření výčtového typu Softwarová řešení a mobilní aplikace na míru 36
DOTAZY A DISKUZE DĚKUJI ZA POZORNOST WWW.SKELETON.CZ SLEDUJTE NÁS: Softwarová řešení a mobilní aplikace na míru 37