Platformonafhankelijke concepten en limieten

0000002780     -      05-12-2017

MercatorPenguin is ontwikkeld in Xamarin Forms. Deze ontwikkeltool is heel populair en krijgt de beste beoordelingen. Het wordt zeer gewaardeerd door .NET C#-ontwikkelaars die mobiele apps willen maken. Het uitgangspunt van Xamarin Forms is dat de ontwikkelaar zijn applicatie programmeert in één enkel project (hoewel sommige delen binnen het project specifiek zijn voor een platform (iOS of Android). Het is de Xamarin-laag die de communicatie tussen de objecten en native-elementen van elk platform verzorgt. Bijvoorbeeld, een dropdown (picker) wordt weergegeven op iOS en Android, zonder dat de ontwikkelaar een onderscheid moet maken tussen de twee platformen:

Source image : Xamarin

Zoals met vele technologieën die een methodologie drastisch vereenvoudigen, heeft het Xamarin-Forms concept enkele beperkingen, waardoor de compatibiliteit tussen beide platformen niet noodzakelijk volledig is. Hierdoor is het mogelijk dat een correcte weergave op Android, niet correct weergegeven wordt op iOS, of vice versa. Mercator kan in dit opzicht geen garantie bieden, aangezien Xamarin deze garantie niet biedt.

In de XAML-code, is het mogelijk om het platform mee te geven in de instellingen van de grafische interface. Bijvoorbeeld:

 

<Label Text="@S_PRIX_HT" Font="Medium" HorizontalOptions="EndAndExpand" HorizontalTextAlignment="End">
<Label.WidthRequest>
<OnPlatform x:TypeArguments="x:Double">
<On Platform="iOS">140</On>
<On Platform="Android">90</On>
</OnPlatform>
</Label.WidthRequest>
</Label>

 

De schermen zijn responsive, wat betekent dat de schermen zich automatisch aanpassen aan de fysieke grootte van het scherm van het mobiele apparaat. Het is natuurlijk onmogelijk om een optimale en onmiddellijke werking op alle bestaande en toekomstige apparaten te garanderen. Als gevolg hiervan is het waarschijnlijk dat sommige bundels die door ons ter beschikking worden gesteld, voorzien moeten worden van enkele aanpassingen in de XAML-code om rekening te houden met het materiaal waarop het zal worden gebruikt. Hou er rekening mee dat dit per telefoon en tablet kan verschillen. In de XAML-code kan men dit onderscheid maken, bijvoorbeeld:

 

<StackLayout>
<StackLayout.Orientation>
<OnIdiom x:TypeArguments="StackOrientation">
<OnIdiom.Phone>Vertical</OnIdiom.Phone>
<OnIdiom.Tablet>Horizontal</OnIdiom.Tablet>
</OnIdiom>
</StackLayout.Orientation>        
</StackLayout>

Vergeet niet: iOS, noch Android, noch Xamarin Forms zijn ontworpen door het ontwikkelteam van Mercator. Onze ondersteuning voor MercatorPenguin is beperkt tot wat specifiek is voor onze mobiele applicatie. Verder kan je genoeg informatie terugvinden op het internet: forums, technische publicaties, opmerkingen,.. Waarmee je sommige problemen kan oplossen of toch omzeilen. Geen enkele pagina op deze site heeft de bedoeling om een cursus over XAML te geven.