Dot.Blog

C#, XAML, WinUI, WPF, Android, MAUI, IoT, IA, ChatGPT, Prompt Engineering

Cross-plateforme : Index des Vidéos gratuites 7 à 12

[new:31/10/2013]Pour mieux s’y retrouver voici l’index détaillé des 6 dernières vidéos sur le cross-plateforme publiées ces dernières semaines. Les entrées d’index pointent directement sur chaque vidéo dans YouTube et permettent aussi d’un coup d’œil de voir l’étendu des sujets traités ! Rappel : Le billet précédent vous propose l’index des 6 premières vidéos.

8 heures de vidéos gratuites !

8 heures en douze volets, de quoi largement comprendre les mécanisme d’un développement cross-plateforme efficace…

Visual Studio, Xamarin et MvvmCross sont à l’honneur, tout autant que dans chaque démonstration Android, WinRT, Windows Phone ou WPF.

Une série à ne pas louper sur la chaîne YouTube “TheDotBlog”!

Les index des vidéos 1 à 6 : https://www.e-naxos.com/Blog/post.aspx?id=ca963d2f-2784-4bbc-8ce8-578226a217fc

Vidéo 7 : Géolocalisation, géo-encodage, messagerie

Dans cette 7eme vidéo (52min full HD) nous abordons la création d'une application retournant des informations de géolocalisation (longitude, latitude, altitude) augmentées par des informations de geocodage (rue, adresse...) et par l'affichage du point dans Google Maps. Session montrant beaucoup de choses, le Monitor du SDK, le debug sur un smartphone réel hors émulateur, etc…

Plateformes de démonstration : CPL, Android et Windows Phone 8

Durée : 52 Minutes.

Lien direct : https://www.youtube.com/watch?v=SJHDKoQ29nU

01:45 Le cycle de vie des VM sous MVX
02:54 Construction (injection de dépendance)
03:22 Initialisation (passage des paramètres)
04:47 ReloadState (réhydratation, tombstoning)
05:24 Start
06:15 L'application de géolocalisation Android
07:50 Plugin Location
08:45 GeoLocationWatcher
11:50 Formatage de données dans le ViewModel
14:49 L'application Android
15:01 Les plugins et les packages MvvmCross
15:16 La vue
16:26 Exécution de test
16:50 L'outil android-sdk\tools : monitor.bat, trace, screenshot, injection de coordonnées gps…
19:20 Geo-encoding et Google Maps
19:45 Service Simple Rest
20:22 Service GeoCodeService
21:19 Le service Google et le résultat Json
22:05 Json2Csharp pour créer la grappe d'objets C# depuis Json
23:33 Utilisation du service d'encodage dans le ViewModel
26:40 Exécution de test
27:45 Affichage de Google Maps
29:45 Les Intents Android pour accéder aux applis internes (dialer, browser, google maps…)
31:28 Ajout de la commande ShowPosition dans le ViewModel
31:56 Commander l'exécution native dans la vue depuis le noyau via le Messenger
32:34 Le plugin Messenger de MvvmCross
32:30 Modification du ViewModel pour intégrer le Messenger
34:39 Création d'une classe message
35:27 Publication du message par le ViewModel
38:12 Récupération du service et traitement du message dans la vue Android (côté natif)
40:35 Le principe du token sur le Subscribe du message
42:28 Exécution de test
44:28 Exécution sur une device réelle (Samsung S3), utilisation du monitor Android
47:00 Récapitulation, transposition pour créer l’UI Windows Phone
49:00 Bing maps, encodage URL comme pour Google Maps

Vidéo 8 : Gérer des données avec SQLite

Présentation de la gestion des données en cross-plateforme avec Visual Studio, Xamarin et MvvmCross sous Windows Phone et Android. (HD 720p / 40 min).

Plateformes de démonstration : CPL, Android et Windows Phone 8

Durée : 40 Minutes.

Lien direct : https://www.youtube.com/watch?v=uXelZV41VKQ

00:35 Introduction
04:36 Le noyau PCL cross-plateforme
05:42 Le Modèle, l'utilisation des attributs spécifiques
07:12 Le service de données
11:27 Génération des données de test
13:05 Lorem Ipsum (adresse de l’application : https://www.e-naxos.com/slsamples/lorem/loremgen.html)
14:14 Le ViewModel
17:06 L'application Android
18:34 Le plugin SqLite
21:04 La View
23:00 Exécution de test
24:15 Persistance des données, filtrage
26:49 Récapitulatif de l’application Android
29:18 L'application Windows Phone 8
31:25 La View
32:47 Copier-coller depuis le Xml Android vers Xaml
36:34 Exécution de test
38:42 Exécution après création du DataTemplate Xaml
39:55 Récapitulatif

Vidéo 9 : Gérer le grand écart Android / WPF

Cette 9ème vidéo montre comment développer une application d'envoi de mail sous WPF et Android avec le même cœur grâce à MvvmCross. La mise en place du projet WPF utilise des techniques non vues dans les vidéos précédentes. Grand écart technologique, d'un Linux pour unité mobile (Android) à une plateforme vectorielle de bureau, cette vidéo démontre tout l'intérêt du couple Android/WPF pour couvrir 90% du parc d'ordinateurs mobiles, portable ou de bureau. Windows Phone 8 et WinRT ayant été largement couverts dans les autres vidéo, il était temps de rendre à WPF les honneurs qu'il mérite.(HD 720 / 39 Min)

Plateformes de démonstration : CPL, Android et WPF

Durée : 39 Minutes.

Lien direct :  https://www.youtube.com/watch?v=uZ7vP9_qkho

01:00 Introduction
02:48 Le noyau PCL
04:00 Le ViewModel
04:53 Les services injectés (Email et Messenger)
09:37 L'application Android
12:00 DebugTrace
12:40 La vue
15:14 Gestion des erreurs sous Android
16:10 Les bindings Android avec gestion des erreurs
17:36 Exécution de test
18:59 L'application WPF
19:25 Modern UI pour WPF (pb entre MvvmCromms Model-First et <mu:i> qui est View-First)
21:30 MahApps Metro, framework identique mais seulement le visuel
22:24 Reference MahApps
22:50 Attention lors de l'intégration de MvvmCross ! (fichiers écrasés et fichiers en trop)
22:30 La MainView (MetroWindow) qui contient le look mais aussi le conteneur des "activités"
24:30 Interception de l'affichage MvvmCross pour gérer le docking dans MainWindow
25:05 Création de Program.cs pour lancer l'appli
25:33 Création de l'instance du "Presenter"
26:09 Propriété du projet : choix du nouveau point d'entrée
26:25 Setup.cs
27:00 Modifications de App.xaml.cs (start)
27:23 Le code du Presenter custom
30:00 La vue
32:15 Comparaison des similitudes dans la partie C# des vues Android et Wpf
33:57 Exécution de test
35:24 Comparaison visuelle simultanée des deux applications

Video 10 : Codez comme un Ninja

Présentation courte de l'extension Visual Studio "Ninja Coder for MvvmCross" qui permet la mise en place rapide d'une solution cross-plateforme en y intégrant tous les projets nécessaires, jusqu'aux tests NUnit si on le désire.(HD 720 / 10 min).

Plateformes de démonstration : toutes

Durée : 10 Minutes.

Lien direct :  https://www.youtube.com/watch?v=JMQw5fpcpY0

00:40 Introduction Ninja Coder for MvvmCross
01:51 Télécharger le msi d’installation
02:00 Installation dans Visual Studio
02:27 Lancement de Visual Stido, Tools "Ninja coder"
02:49 Ajouter un projet MvvmCross avec Ninja coder
03:25 La solution et ses projets créés par Ninja coder
04:00 Le BaseViewModel dans le noyau
04:29 La BaseView côté Android et autres UI
05:22 Les références de MvvmCross sont intégrées (mais pas en packages Nuget)
06:45 Le projet de test Nunit et Mock
07:40 Ajout de plugins via Ninja coder
08:28 Conclusion

Vidéo 11 : Multibinding, Swiss Binding, Tibet Binding, Rio

Présentation du nouveau binding riche apporté par MvvmCross : le swiss et le tibet Binding, RIO pour concevoir des ViewModels très rapidement, le tout démontré sous Android et WinRT (Xaml). 43 min / HD 720.

Plateformes de démonstration : WinRT / Android

Durée : 43 Minutes.

Lien direct :  https://www.youtube.com/watch?v=yIr3BbA0t68

00:37 Introduction
02:00 Création de la solution avec Ninja Coder
03:24 Le noyau CPL
04:34 Le ViewModel
05:48 Les convertisseurs
06:40 L'application Android
07:00 La view (mvxspinner, mvxlistview…)
07:41 Execution de démo
09:20 Binding multi propriétés, le swiss binding
10:21 La syntaxe MvvmCross du binding
10:50 Binding avec expression, Tibet binding
11:50 Convertisseurs utilisés en fonction
13:13 Exécution de démo
14:44 Multibinding, réévalutation des expressions sur INPC
17:20 Expressions numériques
18:21 Exécution de démo
19:20 Expressions chaînes
19:40 Exécution de démo
22:00 Expression de formatage
22:40 Exécution de démo
23:10 Expression IF
23:45 Exécution de démo
24:50 Résumé swiss binding et tibet binding
26:29 La documentation sur github
29:10 Rio
29:45 INC et NC
30:20 Method binding
32:35 Utilisation étendue à Xaml
33:25 Les binaires à jour sur github en attendant le package nuget
34:55 Exécution de démo de l'appli Windows Store
36:40 La view Xaml
36:55 Le mvx:Bi.ind à la place du binding Xaml
38:59 Le package spécifique pour Xaml ajouté en référence
39:40 Initialisation à la main du package BindingEx dans Setup.cs
40:00 Conclusion

Video 12 : Injection de code natif dans le noyau, méthode directe et création de Plugin

Dans ce 12ème volet consacré au développement cross-plateforme (VS2012, Xamarin et MvvmCross) est abordée l'injection de code natif selon plusieurs méthodes dont la création de plugin MvvmCross. (42min HD 720p).

Plateformes de démonstration : WinRT / Android

Durée : 42 Minutes.

Lien direct :  https://www.youtube.com/watch?v=fRqOnJ1x0ug

00:38 Introduction
02:54 La solution de test
03:31 Le noyau - méthode 1 (directe, par injection de dépendance)
04:06 Création du service IScreenSize
05:00 Le ViewModel
07:14 La View Android (binding au VM)
08:36 Ajout d'une classe d'implémentation IScreenSize dans l'app Android
10:13 Modification de Setup.cs Android pour l'IoC (dans InitializelastChance)
13:20 Exécution de démo
14:00 Résumé du principe
15:04 Les différentes façons d'enregistrer le code natif dans l'e conteneur d’IoC
16:54 La même chose sous Windows Store
18:50 La Vue
19:23 Exécution de démo
19:34 Résumé de la manipulation
19:54 Comparatif des deux applications côte à côte
21:15 Seconde stratégie : création d'un plugin réutilisable
22:05 Création du folder et du noyau du plugin
23:00 Référencement du CrossCore uniquement
23:27 Création du service noyau
24:00 La classe PluginLoader du noyau
25:30 Ajout du projet android de plugin
25:50 Référencement noyau et CrossCore
26:07 Classe d'implémentation native Android
27:00 Plugins.cs dans le projet natif
27:38 Ajout projet Windows Store de plugin
28:18 Référencement noyau et CrossCore
28:50 Classe d'implémentation native Windows Store
29:38 Plugins.cs dans le projet natif
29:58 Récapitulation de la création du plugin
31:24 Ajout noyau et impl native dans le projet Android final
31:45 Ajout du Bootstrap dans le projet Android final
33:15 Modification du ViewModel noyau du projet final pour utiliser le plugin (aurait du être fait en 1er!)
34:40 Modification de la View Android pour utiliser la nouvelle propriété
35:02 Exécution de test Android
35:23 Modification du projet final Windows Store
35:30 Ajout classe Bootstrap
36:29 Modification de la View Windows Store pour afficher la propriété traitée par le plugin
36:49 Exécution de démo
37:00 Résumé de la séquence de création et d’utilisation d'un plugin MvvmCross
39:30 L'exemple du tutor GoodVibrations

 

Bon visionnage !

Et pour d’autres vidéos et billets…

Stay Tuned !