Hogyan készítsünk egy cross-platform alkalmazást - áttekintés
Ez a bemutató megmutatja, hogyan tervezhet egy többfelhasználós platformot tartalmazó alkalmazást, amely maximalizálja a kód újrahasználatát, és kiváló minőségű natív interakciókat biztosít minden nagyobb mobil platformon (iOS, Android és Windows Phone).

Az "egyszer írta, mindenütt működik" kifejezést gyakran arra használják, hogy lenyűgessék az egyetlen kódhoz tartozó erényeket, amelyek különböző platformokon történő módosítás nélkül működnek. Bár a kódok újrafelhasználása kétségtelenül előnyt jelent, ez a megközelítés gyakran olyan alkalmazásokhoz vezet, amelyek közös nevezői közös funkciói és általános nézete a "legalacsonyabb közös nevező" felhasználói felületének, amelyek nem teljesen ökológiai illeszkedik a célplatformok bármelyikébe.
A Xamarin nem csupán egy platform az "írásos időkre, mindenütt működik" elvén, hiszen az egyik erőssége az, hogy saját platformjait saját platformjaira külön-külön alkalmazza. Mindazonáltal, egy átgondolt tervezéssel továbbra is megoszthatja a legtöbb kódot a felhasználói felület nélkül, és mindkét világból a legjobbat hozhatja ki: egyszer írja be az adattároló kódot és az üzleti logikát, és minden platformon mutassa be a natív felhasználói felületet. Ez a dokumentum egy közös építészeti megközelítést tárgyalja e cél elérése érdekében.
Az alábbiakban összefoglaljuk a legfontosabb pontokat a platformok közötti Xamarin alkalmazások létrehozásához:
- A C # használata - Írja be alkalmazásait a C # -be. A C #-ban írt kódot kifejezetten a Windows Phone-ban használják. és a Xamarin segítségével nagyon könnyen átvihető az Androidra és az iOS-ba.
- A tervezési minta használata MVC - Az alkalmazás felhasználói felületének fejlesztése a Model-View-Controller sablon segítségével. Az alkalmazás architektúrája az MVC megközelítést alkalmazza, ahol egyértelműen elkülönül a "modell" és a többi. Határozza meg, mely alkalmazások mely részei fogják használni az egyes platformok (IOS, Android, Windows Phone és Windows 8 / RT) felhasználói felületét, és ezt az útmutatót két összetevőre osztva: "Core" és "User Interface".
- A natív felhasználói felület létrehozása - Minden operációs rendszert futtató alkalmazás a felhasználói felület különböző rétegeit biztosítja (C # -en a beépített felhasználói felületet használva):
- Az iOS esetében natív alkalmazás létrehozásakor használja a MonoTouch.UIKit API-t, szükség esetén az iOS-designer Xamarin segítségével a felhasználói felület vizuális létrehozásához.
- Android esetén natív alkalmazás létrehozásakor az Android.Views használatát a Xamarin felhasználói felületének tervezője használja.
- Windows Phone esetén a XAML / Silverlight nézetszinteket a felhasználói felület használatával lehet használni.
- A Windows 8 esetében a Metro API-t használják.
Az újrafelhasználható kódok száma nagymértékben függ attól, hogy mennyi kódot tárol a megosztott kernelben és mennyi kód van egy adott felhasználói felülethez. A fő kód mindaz, ami nem közvetlenül kapcsolódik a felhasználóhoz, hanem egy olyan szolgáltatás része, amely összegyűjti és megjeleníti az adatokat.
Az újrafelhasználható kódok számának növelése érdekében olyan platformok közötti platformokat használhat, amelyek közös szolgáltatásokat kínálnak minden platformon, például:
- SQLite-NET a helyi SQL adattárhoz,
- Xamarin Plugins egy adott eszköz, például a fényképezőgép, a kapcsolatok és a földrajzi elhelyezkedés képességének eléréséhez,
- Használja a platform képességét a hálózathoz, webszolgáltatásokhoz, I / O-hoz és még sok más munkához.
Ezen komponensek egy részét a Tasky képzési alkalmazás tanulmányozásával valósítják meg.
A főkönyvtár elválasztása a kód újrafelhasználásához
Az alkalmazásarchitektúra rétegei közötti funkcionalitás elválasztása, majd a platformfüggő alapfunkciók áthelyezése az "újrafelhasználható" rendszermagkönyvtárba, maximálisan megszabja a kódplatformok közötti cserét az alábbi ábra szerint:

Esettanulmány
Van egy képzési példa, amely ezt a dokumentumot tartalmazza - a Tasky Pro. A valódi alkalmazáspéldában az ebben a dokumentumban felvázolt koncepció végrehajtását veszik figyelembe. A példa nyílt forrású, és elérhető a github-ban.