Développement d'applications avec Xamarin connaissez vous de le Forum ?


Voici une présentation rapide sur les ressources Xamarin dans le Xamarin Forum, petit post rapide pour prendre quelques notes à ce sujet. Il faut s'enregistrer sinon je pense que vous n'aurez pas accès à ce lien, Xamarin Community Forums

Xamarin Forum
Forum Xamarin
Mais une fois dedans, c'est le monde de Xamarin qui s'ouvre à vous. Je pense qu'il ne faut pas passer à côté de ce Forum qui semble recueillir et fédérer le principal de la communauté Xamarin aujourd'hui.

Je clique sur Xamarin.Forms :
xamarin-forms-evolution
Xamarin Evolution
Me voilà dans le Futur de Xamarin.Forms : Xamarin.Forms.Evolution
xamarin-forms-evolution
Evolution
Voilà et maintenant il ne nous reste plus qu'à découvrir tous les Xamarin Samples
Xamarin Samples
Xamarin Samples
Sommes nous véritablement dans l'environnement de développement multiplateformes tel le grâle dont les développeurs comme moi rêvent depuis toujours ? Je vous laisse juge, un élément soumis à votre sagacité : Xamarin embarque un peu de Silverlight ... oui je sais ça fait ringard.

Have fun!



Développement d'applications avec Xamarin sous Visual Studio 2017

Je poursuis ma quête de développement d'applications multiplateformes avec Xamarin sous Visual Studio. Quand je vois les évolutions de ce Framework de développement, je plains ceux qui se sont lancé trop tôt tellement les choses ont changées et se sont stabilisées.

La fois précédente nous étions avec Windows 10 je prends mes travaux avec une machine de développement sous Windows 7 à priori pour l'instant pas de sous d'installation.

Prenons quelques notes de l'installeur :

Développement mobile en .NET iOS Android et Windows avec Xamarin
Développement mobile en .NET iOS Android et Windows avec Xamarin




C'est toujours bon de prendre des notes, ces choses changent tellement vite, on peut comparer avec la fois précédente.

Visual Studio 15.7.5

Fichiers -> Nouveau -> Projet :

New Project Xamarin Forms

Et on va créer une Cross-Platform Application mobile (Xamarin.Forms) comme précédemment seulement au moment de lancer l'application :




Pas d'emulateur d'Android
Pas d'emulateur d'Android
On est tout nu. Il faut réinstaller tout le bordel ...



Android Device Manager ...
Android Device Manager ...
Bon je reprends depuis mon article précédent et je réinstalle l'Android NDK. Je sais pas trop pourquoi.

Ca ne change rien par d'emulateur Android ....

J'exécute l'Android Device Manager puis bouton droit "Down system image" et ça continue nouvel installation ... c'est vraiment long.


Android Device Manager - Download System Image
Android Device Manager - Download System Image
Nougat 7.1 ça y ressemble cette c'est peut être bon ...
Il me faut quitter Visual Studio pour relancer :


Installation Android SDK
Installation Android SDK
Cette fois notre application Android peut démarrer dans l'émulateur :

Installation de L'Emulateur Android
Encore une ou deux bricoles :



Android Emulateur Recommended AVD
Android Emulateur Recommended AVD
Et oui, il ne fallait pas choisir ARM mais x86_64 ...

C'est reparti :

Android Download System Image
Android Download System Image
Mais cela ne suffit pas, vous l'avez compris on est revenu aux erreurs et aux affres de l'installation des émulateur Android et autres trucs qui ne fonctionnent pas du tout sous Windows 7 !

Pour vérifier, ouvrir le Android Device Manager et lancer l'emulateur par le bouton Start :



Xamarin pour Windows 7 ça ne fonctionne pas du tout !

On tombe dans les affres des différences qu'il y a entre Windows 7 et Windows 10.

MSDN Android Hardware Acceleration
Intel Hardware Accelerated Execution Manager

Installing using Android SDK Manager ...


Installation de HAXM par l'Android SDK Manager
Pu(bip) j'ai trouvé non sans mal :


Install Intel x86 Emulator Accelarator (HAXM installer)
Install Intel x86 Emulator Accelarator (HAXM installer)
Je relance Visual Studio, je relance mon application dans l'émulateur et devinez quoi ... Ca marche pas !!! Et bien non, il faut encore exécuter l'installeur de HAXM. Et où qu'il est l'installateur ?? Où qu'il est ?

Installateur de l'Intel HAXM

Il est là l'installateur :

C:\Program Files (x86)\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

Installateur HAXM d'Intel pour Android
Installateur HAXM d'Intel pour Android

Installateur HAXM d'Intel pour Android - Etape 1
Installateur HAXM d'Intel pour Android - Etape 2
A chaque fois, je quitte Visual et je le relance par précaution. Et cette fois vous croyez que ça va fonctionner ... suspense ...

Et bien NON !!!! ????? ERROR : Encryption unsuccessful



Install de HAXM d'Intel ne suffit pas !
Install de HAXM d'Intel ne suffit pas !
Perform a factory reset ! Et quoi encore, y'en a pas marre de tous ces trucs qui ne fonctionne pas !

Allé allons-y pour un petit factory reset vous vous souvenez où cela se trouve ? Voici :

Perform a factory reset sur l'Emulator Device
Du coup je lance mon émulateur à la main et ça y est enfin :


Exécution de l'Emulator Android après l'installation de l'Intel HAXM

Je vois la page d'accueil de l'OS Android sur l'émulateur.
Mais au lancement de l'application en exécution dans l'émulateur :



Visual Studio 2017 Xamarin et Windows 7 ça sens la mauvaise installation ...
Visual Studio 2017 Xamarin et Windows 7 ça sens la mauvaise installation ...
ERROR !

Gravité Code Description Projet Fichier Ligne État de la suppression
Erreur  Impossible de charger la tâche "Xamarin.Forms.Build.Tasks.GetTasksAbi" à partir de l'assembly D:\Users\Braby\.nuget\packages\xamarin.forms\3.0.0.561731\build\netstandard2.0\Xamarin.Forms.Build.Tasks.dll.
Impossible de charger le fichier ou l'assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' ou une de ses dépendances. Le fichier spécifié est introuvable. Assurez-vous que la déclaration <UsingTask> est correcte, que l'assembly et toutes ses dépendances sont disponibles et que la tâche contient une classe publique qui implémente Microsoft.Build.Framework.ITask. XamarinApp1.Android

Solution

Quand je vois tout ce qui est installé sur cette machine, je me dis que cela ne peut pas fonctionner, il faut nettoyer l'installation. Vous imaginez bien me je me suis battu avec ce truc, je suis passé par l'installation d'un outil pour Cleaner les versions du .NET Framework qui a finalement cassé les différentes versions.

Il y a avait deux problèmes sur ma machine :

1 - Mise à jour Windows Update - Echec

Une maj concernant une les différentes versions du .NET Framework n'avait pas pu s'effectuer, s'était déroulée avec une erreur :

2018-08 Correctif cumulatif de sécurité et de qualité .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1 et 4.7.2 pour Windows 7 et Server 2008 R2 pour systèmes x64 (KB4345590)
État de l'installation : Échec
Détails de l'erreur : Code 643

Casser les versions puis les réinstaller d'abord le 4.0 Client puis le 4.5 puis le 4.6 ... c'est l'outil dotnetfx_cleanup_tool qui m'a permis de faire tout cela.

2 - Mise à jour de Visual Studio 2017 avec l'installeur

Mise à jour de Visual Studio v15.5.1vers Visual Studio 15.18.1

Et c'est mis à fonctionner comme par miracle ... Voici ma première application XamarinForm1 sous Windows 7 :


Ma première application avec Xamarin - Windows 7 - Visual Studio 2017 15.8.1
Ma première application avec Xamarin - Windows 7 - Visual Studio 2017 15.8.1
C'est bientôt les vacances, oui moi je pars bientôt ... Je vous laisse n'hésitez pas laissez moi un petit commentaire ici ou sur un autre post.

Have fun !

.NET Core Architrecture en microservices

Depuis peu j'entends parler d'architecture en microservices hors vous le savez les webservices se sont transformés au cours des années et des différentes versions de Microsoft Visual Studio environnement de développement.

Alors c'est quoi les microservices ? La énième version des web services. Pour aller plus loin l'article est ici :

https://docs.microsoft.com/fr-fr/dotnet/standard/microservices-architecture/index

Autre lien intéressant sur les microservices :

.NET Application Architecture - Reference Apps
https://github.com/dotnet-architecture

C'est pas fun !

ASP.NET Core où sont passés les packages NuGet ?

Vous utilisiez ASP.NET Standard seulement voilà vous devez de passer à ASP.NET Core et vous vous demandez où sont passés les packages NuGet ? Et c'est une bonne question car on va voir que les choses ont bien changées !

Qu'elle ne fut pas ma surprise de constater que les Nugets ne sont plus là, ils ne sont plus dans le projet ! Je reprends mon ancien projet AspNetMVCStarterKit qui comme son nom l'indique est une Application ASP.NET MVC Framework (classique) :


Emplacement des Nugets dans ASP.NET Framework standard
Emplacement des Nugets dans une application ASP.NET MVC Framework standard
Je compare avec mon Nouveau projet AspNetCoreMVCStarterKit qui comme son nom l'indique est une application ASP.NET MVC Core :

Emplacement des Nugets dans ASP.NET Core ???
Emplacement des Nugets dans ASP.NET Core ???
 Je me dépêche d'aller regarder dans propriétés des dépendances du projet concernant le Nuget "JQuery.ui.combined" :


ASP.NET Core - Emplacement des Nugets
ASP.NET Core - Emplacement des Nugets
Quouoi, les Nugets sont dans l'espace utilisateur dans le répertoire Users !?

\\Users\UserName\.nuget\packages

Remarque : Sur mon système les données utilisateurs sont placées dans "D:". Chez vous se sera plus classiquement dans "C:"

Corriger les nugets erreurs : Vous avez des erreurs au niveau des version incompatibles de Nugets qui se prennent les pieds, vous pouvez faire l'expérience de renommer le répertoire :

\.nuget\packages

en par exemple
\.nuget\OLD packages

Si vous ouvrez à nouveau votre solution Visual Studio, le répertoire sera recréé et reconstitué.
De nouveaux problèmes en perspectives pour le déploiement des applications, vous ne croyez pas !

Je ne sais plus qui disait : "Les NuGets ont été créés pour sortir de l'enfer des DLL sous Windows" !!!
Par curiosité, je regarde la taille du répertoire .nuget/packages, il fait pour l'instant :

1,86 Go

Incroyable non ?