XAMARIN 10 PRAKTICKÝCH ZKUŠENOSTÍ. Roman Fischer fischer@skeleton.cz



Podobné dokumenty
Nástroje na vývoj aplikací pro ios Trocha motivace na úvod Co budete potřebovat Co když nemáte k dispozici počítač s macos? Vývojové prostředí Xcode

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie,

Uživatelský manuál mobilní aplikace My Connected Car

Zakázka Vnitřní integrace úřadu v rámci PROJEKTU Rozvoj služeb egovernmentu ve správním obvodu ORP Rosice

Technická specifikace předmětu veřejné zakázky Zhotovení interaktivního webového portálu a mobilních aplikací

Android 100% Java telefon. Petr Musil

Mobilní malware na platformě Android Přednáška 1. Ing. Milan Oulehla

Jak to funguje. O produktu. Jak to funguje

1.1. Správa a provozní podpora APV ROS, HW ROS a základního SW

Bezpečnostní zásady. d) Disponent je povinen při používání čipové karty nebo USB tokenu, na nichž je

Odůvodnění veřejné zakázky dle 156 zákona

CTUGuide (XXX-KOS) D1

Mobile. Merya RTLS. H i - T e c h R F I D t e c h n o l o g i e s * H i - T e c h R F I D t e c h n o l o g i e s monitorování pohybu osob

Mobilní aplikace Praha 11 v mobilu

Datec News 2012/1. Moderní marketingové technologie v řešení Datec Retail Solutions. OBSAH Datum vydání:

Xiaomi Mi Bluetooth Reproduktor. uživatelská příručka

Bezpečnostní zásady. d) Disponent je povinen při používání čipové karty nebo USB tokenu, na nichž je

Praha, Martin Beran

Tabulka základních vlastností nástroje C++Builder dle edice

Elektronická Kniha jízd.

Self Service Application Instalační manuál

Novinky v oblasti SAP Mobility. Martin Zikmund, Presale Mobility Platforms Miroslav Řehoř, Account Executive

Katalog služeb a podmínky poskytování provozu

Projekt Konsolidace IT a nové služby TC ORP Litomyšl

Informace ke stavu celoměstsk xxx

Obsah. Položkování 1: Prefix dřívějších osamocených dílů se zachovává...23 Položkování 2: Editace předběžných čísel...23

REFA vs. MOST. Jan Vavruška. Technická univerzita v Liberci. Výrobní systémy II. TU v Liberci

Zrakové postižení a mobilní telefony (smartphony)

ConfApp Mobilní aplikace pro konference

Time Tracking, Attendance a Billing sledování času pro vaše projekty a úlohy

Projekt Velryba Ozdravné pobyty pro děti. Semestrální projekt

Herní engine. Co je Engine Hotové enginy Jemný úvod do game designu

Nastavení tabletu Sony Xperia Tablet Z

Windows 7. Z pohledu běžného uživatele. David Gešvindr MSP MCT MCITP

Z internetu do nemocnice bezpečně a snadno

GROUP OBCHODNÍ PREZENTACE

Příloha č. 1. Informační systém pro Městskou policii Česká Lípa (II.) Specifikace požadavků minimálního plnění pro IS MP a integrační vazby

9. března Aplikace pro demonstraci funkčnosti spojení mezi hrudním pásem a telefonem

Jak bude? To ví jen... Váš mobil!

Streaming multimediálního obsahu s

Skupina oborů: Elektrotechnika, telekomunikační a výpočetní technika (kód: 26)

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Příloha č. 1. Informační systém pro Městskou policii Česká Lípa. Specifikace požadavků minimálního plnění pro IS MP

Zabezpečení mobilních bankovnictví

Modernizace elektronických knihoven Informačního systému ODok Úřadu vlády Úřad vlády České republiky

Příloha č P10

Obsah. Úvod. Kapitola 1 Seznamte se 17. Co a kde v knize najdete 13 Pro a od koho kniha je 14 Zpětná vazba od čtenářů 14 Dotazy 15 Errata 15

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Aplikace Založení účtu Microsoft a stažení aplikace Internet Zap./Vyp. přístupového bodu Nastavení u Připojení a odpojení wi-fi sítě Nastavení

ELEKTRONICKÉ AGENDY PRO VÁŠ ÚŘAD, ANONYMIZACE A PÉČE O DOKUMENTY PDF A MS OFFICE

Ceník virtuálního Óčka

Elektronická podatelna ICZ. Automatické stahování datových zpráv

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL

Pokročilá témata KAPITOLA 11. Architektura operačního systému ios

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE

Návod pro uživatele DS350E s Q1. Dangerfield Oct. 2008V1 Delphi PSS

Chytré hodinky S9. Uživatelský manuál. Přečtěte si prosím tento manuál pozorně dříve, než začnete hodinky používat

Vývoj univerzálních aplikací pro Windows 10. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP

Lekce 11 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

XD39NUR Semestrální práce Zimní semestr 2013/2014

DOPLNĚK. Projekt Informační systém základních registrů je spolufinancován Evropskou unií z Evropského fondu pro regionální rozvoj.

Příloha č. 1 Servisní smlouvy. Katalog služeb. S2_P1_Katalog služeb

Workshop Exact Software CEE


Nastavení telefonu Sony Ericsson Xperia Arc S

Digitální hudební knihovna. Martin Šigut

Nastavení telefonu Samsung Galaxy Nexus

Nové technologie pro tísňové volání a operační řízení základních složek IZS

Autentizační metody na mobilních platformách

Jaroslav Machotka. 12. ledna 2012

MAPOVÉ APLIKACE A WEBOVÉ SLUŽBY MAWES NAŠE MAPY

Uživatelský manuál mobilní aplikace My Connected Car

NÁVOD K ZAŘÍZENÍM PRO BEZDRÁTOVÝ PŘENOS ZVUKU A OBRAZU (Miracast)

CZ Návod Fitness náramek xtop 2019

Řešení reklamací. Řešení reklamací. (aktualizováno dne 10. prosince 2015) Řešení reklamací. Strana 1/16

Návod pro mobilní telefony s operačním systémem Google Android 5.x.x

Modul informačního systému SPŠSE Liberec

Obsah. Úvod 11. Vytvoření emulátoru 20 Vytvoření emulátoru platformy Android 4.4 Wearable 22 Spouštění aplikací na reálném zařízení 23

AIS MČ Praha 3 x Základní registry AIS MČ Praha 3 x Základní registry

Architektura. Vedení sesterské dokumentace

1. Vyhlašovatel. 2. Vymezení pojmů. mojeid pravidla motivačního programu pro poskytovatele služeb

MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ

Nastavení telefonu Sony Xperia L

Nástroje pro vývoj a publikaci mobilní aplikace v Qt. Martin Straka

Nástroje pro vývoj a publikaci mobilní aplikace v Qt. Martin Straka

CASE MOBILE MOBIL JAKO AUTENTIZAČNÍ TOKEN

Uživatelská příručka k O2 mobilnímu POS terminálu Verze pro operační systém ios

BankKlient. FAQs. verze 9.50

MapleCloud a jeho použ ití. Vladimír Žák

Nastavení telefonu Sony Xperia E

Webové služby. Martin Sochor

Nasazení EIS JASU CS v rezortu Ministerstva zdravotnictví ČR vč. všech podřízených OSS

Zkušenosti s budováním základního registru obyvatel

Virtualizace desktopů

ApoEye. Bezdrátová kamera Uživatelský manuál

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

Nastavení telefonu HTC Desire 200

O nás. To vše a mnohem více Vám je schopna nabídnout již základní verze publikačního systému bravaweb.

Nastavení tabletu Samsung P5100 Galaxy Tab

Transkript:

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