Tvorba mobilní Android aplikace v jazyce C#
4. Použité technologie
|
Téma |
Použité technologie |
|
|
Tematický celek |
Tvorba mobilní Android aplikace v jazyce C# |
|
|
Motivační rámec |
Abychom se mohli pustit do praktické části vývoje aplikací pro Android v C#, musíme nejprve získat základní fakta o těchto technologiích a pochopit, proč původně nejsou kompatibilní. |
|
|
Počet žáků |
15 |
|
|
Věk žáků |
16-18 |
|
|
Pomůcky |
PC a internet |
|
|
Stručný popis aktivity s využitím přístroje |
Studenti s využitím PC a internetu nastudují fundamentální základy technologií Android a .NET. |
|
|
Vhodné místo |
Běžná počítačová učebna s přístupem k internetu. |
|
|
Cíle aktivity |
Žáci budou schopni pochopit a vysvětlit základní vlastnosti technologií Android a .NET. |
|
|
Rozvíjené kompetence |
Kompetence k učení |
|
|
Předchozí znalosti |
Práce s počítačem, vyhledávání na internetu. |
|
|
Časový plán |
Fáze činnosti s přístrojem |
Metody a formy, motivace |
|
45 minut |
Studium problematiky Android a .NET |
Samostatná práce, samostudium a následná diskuse vázaná na studovanou oblast |
|
Hodnocení |
Hodnocení proběhne až po praktické části. |
|
|
Návaznosti |
Aktivita Jak dostat C# na Android |
|
Zadání:
1. Nastudujte základní informace o technologiích Android a .NET.
2. Pokuste se zdůvodnit, proč aplikace na platformě .NET nejsou pro Android v základu vhodné.
Teorie:
V této kapitole jsou klíčové dva základní kameny potřebné pro implementaci aplikace v jazyce C# na OS Android. Prvním je samotný OS Android a druhým je platforma .NET.
.NET
.NET je skupina technologií vyvinutých společností Microsoft, které dohromady tvoří celou platformu. Tato skupina technologií je open source (open source – otevřený zdrojový kód, který lze prohlížet či upravovat) a je určena pro výrobu nových aplikací pro operační systém Windows. Skládá se ze dvou hlavní částí, a to FCL (Framework Class Library) a CLR (Common Language Library), které dohromady tvoří rozhraní .NET Framework. FCL je knihovna tříd, která poskytuje jazykovou interoperabilitu, jinak řečeno tento kód lze použít v jiných jazycích. CLR je virtuální stroj, který poskytuje služby jako např. bezpečnost, správu paměti či zpracování výjimek. Platforma je dále poskytována v dalších dvou verzích, a to pro mobilní telefony a zařízení s omezenými zdroji. Mobilní verze (.NET Compact Framework) je k dispozici na chytrých telefonech nebo mobilních telefonech se systémem Windows Mobile. Pro platformu jsou využívána hlavně vývojová prostředí Visual Studio(placené) či SharpDevelop(freeware licence).
Historie
Vývoj platformy .NET započal rokem 1990 pod názvem Windows Services, do roku 2000 byla vyvinuta první beta verze .NET verze 1.0. První plná verze byla vydána začátkem roku 2002 s vývojovým nástrojem Visual Studio. Od verze 3.0 (od roku 2006) je .NET Framework součástí systémů Windows, avšak do verze s Microsoft Windows XP nebyl zahrnut.
- .NET Framework 1.0 – vydána 13. února 2002, podpora skončila 14. července 2009, uvedena v systémech Windows 98, ME, NT 4.0, 2000 a XP
- .NET Framework 1.1 – vydána 3. dubna 2003, součástí vydání Visual Studio, první verze, která byla zahrnuta do systému (Windows Server 2003), podpora skončila 8.října 2013, poslední podpora Windows NT 4.0
- .NET Framework 2.0 – vydána 22. ledna 2006, vydáno spolu s Visual Studio 2005 a Microsoft SQL Server 2005, podpora 64-bitových operačních systémů, poslední podpora Windows 98 a Windows ME
- .NET Framework 3.0 – vydána 21. listopadu 2006, dodávána se systémem Windows Vista a Windows Server 2008 jako volitelná součást, podpora 3D grafiky a Direct3D technologií
- .NET Framework 3.5 – vydána stejně jako .NET Framework 3.0, podpora Windows Mobile a Windows CE
- .NET Framework Service Pack 1 – lepší výkon za určitých podmínek, vydána 11. srpna 2008, dodávána s Windows 7 a Windows Server 2008 jako volitelná část
- .NET Framework 3.5 SP1 Client Profile – instalace pouze komponent, které jsou nejdůležitější pro desktopové aplikace
- .NET Framework 4 – vydána 12. dubna 2010 ve verzi s Visual Studiem 2010, cílem byla podpora vícejádrových procesorů, finální verze 4.0.3 vydána 4. března 2012
- .NET Framework 4.5 – vydána 15. srpna 2012, vylepšené funkce, podpora pouze pro Windows Vista
- .NET API – podpora pro aplikace METRO (grafické rozhraní Windows 8), podpora rozhraní .NET Framework, C++, HTML 5, JavaScript, finální verze 4.5.2 podpora Windows 8.1
Architektura
1. CLI (Common Language Infrastructure) - účelem je poskytnout neutrální jazykovou platformu pro vývoj a spuštění aplikací, jinak řečeno nebude vázána na jeden jazyk, ale bude k dispozici v rámci několika jazyků podporovaného rámce
2. CIL (Common Intermediate Language) - kód, jenž je umístěn v CLI sestavách, skládá se z jednoho nebo více souborů, obsahuje manifest, který má data pro výrobu, obsahuje název sestavy, textové jméno, číslo verze a veřejný klíč
3. Bezpečnost - .NET má svůj vlastní bezpečností mechanismus, který má dvě části: zabezpečení přístupu ke kódu(CAS), validaci a verifikaci
4. Knihovna tříd - .NET obsahuje standardní sadu knihoven: knihovny FCL a základní sadu knihoven (BCL), FCL zahrnuje podmnožinu celé knihovny tříd, které slouží jako základní API z CLR, např. třídy system.dll a system.core.dll jsou součástí FCL, BCL je podmnožinou FCL a vztahuje se na celou třídu knihoven dodávaných s .NET Framework, obsahuje sadu včetně Windows Forms, ADO.NET, ASP.NET, LINQ, Windows Presentation Foundation a Windows Communication Foundation
5. Správa paměti - osvobozuje vývojáře od řízení paměti (přidělování a uvolňování), .NET obsahuje tzv. Garbage collector, který běží na samostatném vlákně, který vyčte všechny nepoužitelné objekty a kultivuje k nim přidělené.
Jazyk C#
Jazyk C Sharp (vyslovuje se "sí šarp") je objektově orientovaný programovací jazyk vyvinutý společností Microsoft jako součást platformy .NET. Díky tomu je jedním z programovacích jazyků navržených přímo pro CLI (Common Language Infrastructure). Nedlouho po jeho vzniku byl standardizován organizacemi Ecma (ECMA-334) a ISO (ISO/IEC 23270:2006). Při jeho tvorbě bylo dodržováno několik specifických pravidel, která ho nadále charakterizují:
- Jazyk C# je zamýšlen jako jednoduchý, moderní, obecně zaměřený, objektově orientovaný programovací jazyk.
- Jazyk a jeho implementace by měly zajistit podporu pro moderní principy softwarového inženýrství, jako jsou silné kontroly datových typů, kontrola hranic polí, detekce použití neinicializovaných proměnných a samočinné uvolňování paměti (Garbage collection). Softwarová robustnost, odolnost a programátorská produktivita jsou také důležité.
- Jazyk je zamýšlen pro vývoj softwarových komponent vhodných pro nasazení v distribuovaných systémech.
- Portabilita zdrojového kódu je velmi důležitá, stejně jako portabilita (přechod z jazyka na jazyk) programátorů, zvláště těch, kteří již znají jazyky C a C++.
- Podpora jazykových mutací softwaru je velmi důležitá.
- C# je zamýšlen jako vhodný jak pro hlavní i vnořené systémy, které jdou od velmi obsáhlých aplikací využívajících sofistikovaných operačních systémů až po malé jednoúčelové aplikace se specifickými funkcemi.
- Ačkoliv je jazyk C# zamýšlen jako velmi ekonomický s ohledem na využívání paměti a procesorového času, není zamýšlen jako přímá konkurence vzhledem k výkonu aplikací psaných v jazyce C a C++.
Operační systém Android
Android je mobilní operační systém vyvinutý společností Google, který je založen na linuxovém jádře. Primárně je určen pro zařízení s dotykovou obrazovkou (smartphony, tablety, hodinky, chytré televizory atd.). Android je nepoužívanější mobilní OS od roku 2013. Aplikace pro tento operační systém lze stahovat pomocí obchodu/úložiště Google Play. Zdrojový kód Androidu je volně dostupný pod open source licencí.
Historie
Android byl založen v říjnu roku 2003 v Kalifornii, zakladateli jsou Andy Rubin, Rich Miner, Nick Sears a Chris White. Prvotním záměrem bylo rozšířit konkurenci pro operační systémy Symbian (Nokia) a Windows Mobile (Microsoft). Google získal Android roku 2005 a následně vytvořil tým okolo Rubina za účelem výroby mobilní platformy vytvořené na linuxovém jádře. Spekulace o tom, kdy má Google vstoupit na trh, se objevily roku 2006. Prototyp pod krycím názvem „Sooner“ měl podobnost se zařízeními Blackberry, bez dotykového displeje. Později byl inovován, aby konkuroval firmám LG a Apple. Koncem roku 2007 bylo vytvořeno sdružení několika firem (HTC, Sony, Samsung, Google, T-Mobile atd.), které představilo cíl o otevřených standardech na mobilních zařízeních. Tentýž den byl představen první smartphone postavený na jádře Linuxu ve verzi 2.6.25. První komerčně dostupný telefon byl HTC Dream roku 2008. Od roku 2008 Android vydal řadu aktualizací, které postupně zlepšovaly OS, nejnovější verze Android v současné době (konec roku 2014) je verze Android 5.0, též nazýván „Lollipop“. V roce 2010 Google spustil výrobu přístrojů Nexus, což je řada smartphonů a tabletů se systémem Android.
Vlastnosti
Hlavní vlastností Androidu je to, že je založen na přímé manipulaci pomocí dotykových vstupů, které následně odpovídají reálným akcím. Reakce na vstup je navržena tak, aby pomocí dotykového rozhraní a vibračního rozhraní poskytla hmatovou zpětnou vazbu uživateli. Zařízení jsou vybavena několika senzory, akcelerometry, gyroskopy a jinými čidly. Hlavní obrazovka, též nazývána jako domovská, se vyznačuje ikonami aplikací a widgety (aplikace spuštěná na hlavní obrazovce), můžeme rolovat mezi několika dalšími obrazovkami, které si uživatel může nastavit. Většina zařízení běžících na OS Android se vyznačuje hlavními rysy, kterými jsou spodní lišta se 3 tlačítky pro návrat na hlavní obrazovku, zpětné tlačítko a tlačítko se spuštěnými aplikacemi, které jsou na pozadí. V zařízení jsou umístěny diody (podle typu výrobce), které uživatele upozorňují na zmeškané události jako např. příchozí SMS, volání, vybití nebo nabíjení baterie.
Aplikace a jejich vývoj
Aplikace, které rozšiřují funkčnost zařízení na OS Android, jsou psány především v programovacím jazyce Java pomocí nástroje pro vývoj softwaru pro Android (SDK). SDK obsahuje několik vývojových nástrojů včetně debuggeru, softwarové knihovny, emulátoru založeného na QEMU, dokumentace, ukázkových kódů a návodů. Oficiálně podporované vývojové prostředí je Eclipse pomocí ADT pluginů (Android Development Tools). Další vývojové nástroje jsou např. Google App Inventor či různé multiplatformní mobilní webové aplikace. Primárním úložištěm aplikací je již zmíněný Google Play.
Bezpečnost
Tento OS má několik druhů zabezpečení, ať už se jedná o uzamykaní obrazovky či SIM karty, nebo samotného telefonu pomocí softwaru. V nynější době jsou vyvíjeny aplikace zaměřené na vyhledání ztraceného telefonu pomocí lokace GPS. Podle kritiků chybí v Androidu podpora šifrování či podpora ochrany proti malwaru. Android běží v tzv. izolovaném prostředí, kde uživatel nemá přístup k souborovým systémům. Před instalací samotného softwaru (appky) přes Google Play zobrazí všechna potřebná oprávnění k instalaci. Nejčastější formou zneužívání OS jsou pak textové zprávy, kde jsou SMS odesílány na tzv. prémiová čísla bez souhlasu či oprávnění uživatele.