- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
In de cursus Xamarin Mobile Development leren de deelnemers cross-platform apps te maken met het Xamarin Framework, het .NET framework en C#.
Met Xamarin worden native apps ontwikkeld voor Android en iOS devices uitgaande van een shared code base in C#. Apps die gebouwd worden met Xamarin gebruiken standard native user interface controls die er niet alleen zo uit zien als de gebruiker verwacht, maar zich ook zo gedragen.
Xamarin apps kunnen de volledige API van het onderliggende platform benaderen inclusief platform specifieke zaken zoals Augmented Reality Kit van Apple en Android Multi-Window mode. Bovendien gebruiken apps die ontwikkeld zijn met het Xamarin Framework platform specifieke hardware acceleratie en worden ze gecompileerd naar native code wat resulteert in optimale performance.
De cursus gaat van start met een introductie in de Xamarin tooling zoals device emulatoren en de integratie in Visual Studio. Vervolgens aandacht besteed aan de principes van Cross Platform Development met App Navigation techniques, Xamarin.Forms en Portable Class Libraries. Hierbij komen ook markup in XAML, de diverse User Interface elementen en layout mogelijkheden aan bod.
Vervolgens wordt ingegaan op de MVVM Architecture, het gebruik van App lifecycle events en de data binding tussen user interface elementen de achterliggende code. Hierbij wordt ook page navigation besproken.
En ook Triggers en Behaviors komen aan bod. Met Triggers kun je declaratief acties in XAML specificeren die worden uitgevoerd als voldaan wordt aan bepaalde condities. Met Behaviors kan functionaliteit aan User Interface Controls worden toegevoegd zonder deze te subclassen.
En ook wordt aandacht besteed aan de integratie van REST services voor het tonen en wijzigen van data via remote calls vanuit een device. Hierbij worden ook asynchrone calls met het async en await mechanisme besproken.
Onderdeel van de cursus is ook data access met een locale SQLite data source. En tenslotte komt dependency injection aan bod en wordt ingegaan op een aantal advanced onderwerpen zoals messaging en de Xamarin.Forms shell.
De cursus Xamarin Mobile Development is bestemd voor developers die het Xamarin Framework willen gaan gebruiken voor de creatie van cross-platform mobile apps voor iOS, Android en Windows.
Om aan deze cursus te kunnen deelnemen is kennis en ervaring met het programmeren in C# of Java vereist. Ervaring met Visual Studio en Mono voor Android is wenselijk.
De theorie wordt behandeld aan de hand van presentaties en wordt afgewisseld met oefeningen. Illustratieve demo’s worden gebruikt voor de begrippen te verhelderen. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Xamarin Mobile Development.
Module 1 : Xamarin Intro |
Module 2 : Xamarin Development |
Module 3 : XAML Markup |
What is Xamarin? Xamarin extends .NET Cross Platform Development Xamarin Features Xamarin Architecture Xamarin Advantages MVVM Architecture iOS API Coverage Android API Coverage Xamarin Installation NuGet Package Management |
Xamarin Development Visual Studio Integration C# versus F# App Class and Main Page Android SDK and iOS SDK Android Emulators iOS Emulators Shared Project Xamarin Android Xamarin iOS Real Device Connections |
XAML Markup XAML Anatomy Code Behind Files XAML Layouts XAML Tags XAML Attributes Property Elements Attached Properties Markup Extensions Shared Resources x:Static Extension |
Module 4 : Xamarin Forms |
Module 5 : App Lifecycle |
Module 6 : Data Binding |
Xamarin Controls Buttons and Labels Entry Control Editor Control Stacks and Grids Tab Pages CollectionView ListView ItemsSource Popups Custom Renderers |
Lifecycle Methods OnStart OnSleep, OnResume Page Navigation Events PageAppearing PageDisappearing Modal Navigation Events ModelPushed, ModelPopped ModalPushing, ModelPopping Android Activity Lifecycle iOS Lifecycle |
Bindable Infrastructure MVVM Architecture BindableProperty and BindingBase LINQ Expression Object BindingContext Binding Modes SetBinding Method INotifyPropertyChanged IValueConverter x:Reference Binding Binding Markup Extension |
Module 7 : Page Navigation |
Module 8 : Triggers and Behaviors |
Module 9 : Database Access |
Start Pages Back Button Navigation Modal Pages Modeless Pages PushAsync PushModelAsync Navigation Bar Task Objects PopAsync PopModalAsync Dynamic Page Generation |
Trigger Objects PropertyChanged Handler Trigger Actions EventTriggers ScaleUpAndDownAction Data Triggers and MultiTriggers Combining Conditions Behaviors BehaviorEntryValidation Behaviors with Properties Responding to Taps |
Using SQLite in Android Using SQLite in iOS SQLite and ORM SQLite Packages Using External Storage Synchronization to Cloud iOS location Manager Classes Using Maps op iOS Using Maps on Android Translate Location Coordinates Tracking Applications |
Module 10 : Rest API Access |
Module 11 : Dependency Injection |
Module 12 : Advanced Topics |
Public REST API Resource ID's Standard Methods Data Contracts Building proxies Asynchronous patterns Async and await REST in Android REST in iOS XML and JSON Access |
Inversion of Control Dependency Service IoC container Native Code Access Platform Agnosticity Platform Registration Platform Resolution Interface Implementations Xamarin.Essentials Registering ViewModels |
Messaging Publish and Subscribe Loose Coupling Scalability Messaging Center Unsubscribe Xamarin.Forms Shell Shell Navigation Flyout Menu Bottom and Top Tabs |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
Na afloop van iedere cursus worden de deelnemers verzocht de cursus te evalueren ten aanzien van cursusinhoud, cursusmateriaal, trainer en locatie. Het evaluatie formulier staat op https://www.klantenvertellen.nl/reviews/1039545/spiraltrain. De evaluaties van voorgaande deelnemers en voorgaande cursussen kunnen daar ook worden teruggevonden.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.