OK dus voor deze tutorial ik zal uitleggen in detail hoe kan men de installatie van een Xamarin C#-toepassing die compatibel is met WP 8.1, Windows 8.1 (winkel), Android en iOS en heel belangrijk maakt gebruik van OpenGL ES 2.0 weergaven aangedreven door C++ destructiebedrijven. Dit is iets dat ik onlangs nodig had om uit te voeren voor een project van mijn eigen en ik ben zeker dat sommige anderen misschien ook vinden het handig. In feite, hebben reeds al vond ik iemand op het forum van Xamarin die behoefte heeft aan dit.
De reden waarom men zou willen dit doen is vrij duidelijk. Ik bedoel een heleboel OpenGL ES code is geschreven in C++ en alle grote platformen ondersteunen het nu via C++. Dit omvat Windows Store en Windows Phone met de recente vooruitgang in de hoek-project. In veel gevallen de prestatievoordelen van C++ over C# ook zeer gunstig zou zijn op dit gebied. OpenTK op alle platformen behalve de ramen ones (die hoek gebruiken en nog geen ondersteuning van de OpenTK) lijkt de belangrijkste manier van het gebruik van OpenGL vanuit C# maar helaas zoals ik al heb gezegd, is het niet beschikbaar is op de niet-bureaublad Windows-Platforms. Bovendien, zoals ik het begrijp, OpenTK gebruikt P/Invoke die prima is maar met marshaling betrokken een ernstige prestaties afnemen zien kon wanneer een renderer in C# vs C++ uitgevoerd wanneer er een heleboel OGL roept en een heleboel gegevens verschuiven (en dus conversie) betrokken.
Nu de hand liggende vraag misschien wel, waarom niet gewoon gebruiken C++ in? Het antwoord op deze, zoals velen van u dit leest waarschijnlijk al weten is want dat is echt niet zo ongecompliceerd. Een van de belangrijkste voordelen van het gebruik van C# ten opzichte van C++ voor platformonafhankelijke projecten is natuurlijk Xamarin en Xamarin.Forms** waarmee ons inheemse UIs maken op alle ondersteunde platforms zonder echt te doen veel platformen specifieke werk, vooral wanneer uw alleen werken met standaard besturingselementen. Helaas zul je aan het schrijven van de implementaties van de GLES weergave besturingselementen afzonderlijk voor elk platform, maar zodra je ze hebt wij kunt hergebruiken zoveel we willen. Om terug naar mijn verhaal, de enige manier die ik doen iets ken als dit in C++ door Qt is en dat eigenlijk gewoon het creëren van platform-agnostische toepassingen die zijn ingericht stijl om te lijken op de besturingssystemen op het moment van ontwikkeling of gewoon met aantal generieke kunstwerken die soort keek recht op de verschillende platformen op het moment van de schepping. Niet iets dat je wilt... Overigens weet ik niet van om het even wat die ook Windows (winkel en telefoon ondersteunt). Qt biedt elke vorm van native Windows Phone-ish styling op het moment van schrijven ook, geen... Ten slotte, met behulp van C++ voor de algemene ontwikkeling van dwars-platform is ook niet echt zo comfortabel te gebruiken, noch als onderhoudbaar als C# met Xamarin waarmee een zeer groot bedrag van code sharing. Verder vind ik de meesten van jullie eens zult zijn dat gebruikend C# gewoon mooier met behulp van C++ op heel wat manieren. Wij willen dus eigenlijk gewoon C++ te doen van 3D-rendering en waarschijnlijk scène bouw en manipulatie, maar wij niet in de buurt van alle andere delen van de toepassing om te voorkomen dat sommige ernstige frustratie voor de meeste.
* Momenteel ik de iOS deel te wijten aan een gebrek aan Mac hardware niet kan uitvoeren, maar kunt u de speciale stap pagina voor meer details over wat u nog proberen kunt te doen.
** Momenteel Xamarin.Forms werkt niet voor Android op VS 2015 Gemeenschap RC en ik daarom niet kunnen uitvoeren van Xamarin.Forms, maar kunt u de speciale stap pagina voor meer details over wat u nog proberen kunt te doen.