Packaging hybride et natif
Une application Wisej.NET n’a pas à vivre uniquement dans un onglet de navigateur. Ce cours vous montre comment la packager en application hybride ou native pour le desktop et le mobile, avec accès à des API de l’appareil que votre version web ne peut pas atteindre. Vous apprendrez comment fonctionne le packaging hybride et natif, comment accéder aux fonctionnalités de l’appareil comme l’appareil photo, les fichiers et les notifications, et comment livrer vers les plateformes desktop et mobiles. Ce cours est en cours de production — inscrivez-vous dès maintenant pour être prévenu dès sa mise en ligne.
Livrez votre application Wisej.NET sur desktop et mobile — packagez-la en application hybride ou native avec accès aux API de l’appareil.
- Niveau: Advanced
- Durée: 5,5 h
- Modules: 6
Ce cours n’est pas encore ouvert. Le programme prévu figure ci-dessous.
Programme
Module 1: Modèles d’hébergement au-delà du navigateur
Module 1 de Packaging hybride et natif — le parcours de distribution Wisej.NET. Lisez le guide de la leçon et le guide du lab / de l’examen, regardez la vidéo pas à pas sur les modèles de distribution, réussissez la vérification des connaissances, puis réalisez le lab pratique dans FieldOps.
- LectureGuide de la leçon · 14 min
Navigateur, progressive web app, shell desktop et shell mobile comparés : architecture, capacités, modèle de mise à jour et coût. Ce que cela signifie pour une équipe qui livre une application Wisej.NET au-delà de l’onglet du navigateur — et comment aborder ce module.
- LectureGuide du lab / de l’examen · 10 min
Ce que vous allez construire dans le lab pratique, l’approche suggérée et les livrables attendus.
- Leçon vidéoChoisir comment FieldOps atteint les techniciens · 14 min
Choisir comment FieldOps atteint les techniciens — une vidéo pas à pas guidée du Module 1, construite étape par étape dans FieldOps. Elle se lance directement ici, dans le lecteur.
Transcription de la narration
Choisissez comment FieldOps atteint les personnes qui l'utilisent. Les répartiteurs peuvent travailler dans un navigateur, tandis que les techniciens ont besoin d'options de livraison adaptées aux appareils et aux connexions peu fiables. La première décision concerne leur travail, avant de choisir un forfait.
Comparez quatre clients qui se connectent au même serveur Wisej.NET. Un navigateur ou une application Web progressive utilise les fonctionnalités Web ; un shell WebView2 de bureau ou un shell mobile hybride Wisej.NET ajoute un hôte qui peut exposer les fonctionnalités natives du périphérique.
Évaluez ensemble le comportement hors ligne, l’accès aux appareils, la distribution, les mises à jour et les coûts. Un changement de serveur peut atteindre tout le monde rapidement, tandis qu'un shell signé a un chemin de publication plus long. Cette différence affecte les responsabilités qui doivent rester sur le serveur.
Gardez chaque shell concentré sur l’hébergement du moteur du navigateur et l’exposition des fonctionnalités de l’appareil. Les écrans partagés et le comportement professionnel restent dans un seul déploiement de serveur. Les coques fines réduisent la quantité de travail spécifique à la plate-forme que vous devez maintenir et publier séparément.
Demandez à l'hôte ce qu'il prend en charge avant d'afficher une action de l'appareil. La vérification uniquement de Android ne permet pas de distinguer un navigateur simple d'un shell capable. Une vérification de capacité lie la commande disponible à une implémentation réelle au lieu d'une étiquette de plate-forme.
Résolvez les capacités une fois pour la session et laissez tous les écrans utiliser ce résultat. Conservez les règles de changement de statut dans WorkOrderService, où chaque client suit le même comportement. Les différences entre les appareils doivent modifier les actions disponibles sans dupliquer les règles métier.
Les quatre clients affichent la même liste de bons de travail à partir d'un serveur. Notez que Prendre une photo apparaît uniquement sur le téléphone doté de la fonctionnalité signalée. La différence vient des informations de capacité de la session, tandis que l’écran partagé reste le même.
Lorsque la connectivité tombe, distinguez les informations mises en cache du travail en direct. Le shell et le dernier résumé synchronisé restent disponibles, mais une commande invisible ne peut pas se charger. L'état de la file d'attente est explicitement identifié afin que le technicien ne le confonde pas avec une mise à jour du serveur terminée.
Créez la liste initiale, les détails et le flux de travail de statut dans le navigateur. Documentez ensuite les objectifs de livraison que vous prendrez en charge, leur commande, ainsi que les contrôles de capacité et les critères d'acceptation. La version de travail du navigateur devient la référence partagée pour les shells ultérieurs.
- LectureExercice de code avec l’IA · 20 min
Construisez l’exemple FieldOps de ce module avec ChatGPT ou Claude à partir d’un prompt prêt à l’emploi qui oriente le modèle vers la spécification du module, puis relisez, exécutez et étendez ce qu’il vous renvoie.
- Quiz de connaissancesVérification des connaissances — Module 1 · 10 min · Note de réussite 80%
- Lab pratiqueLab — Dossier de décision de distribution de FieldOps · 45 min
Objectif: Créez la solution FieldOps avec une liste des ordres de travail, une page de détail d’ordre de travail et un flux de mise à jour du statut qui fonctionnent dans un simple navigateur. Rédigez le dossier de décision de distribution : comparez le navigateur, la PWA, le shell desktop et le shell mobile au regard des besoins des techniciens, choisissez les cibles et leur ordre, et définissez les vérifications de capacités que l’application utilisera pour activer les fonctionnalités de l’appareil. Livrables : solution FieldOps avec liste, détail et mise à jour du statut ; tableau comparatif des modèles de distribution ; dossier de décision de distribution avec l’ordre des cibles ; conception de la vérification des capacités ; schéma d’architecture avec un serveur et plusieurs shells.
Module 2: Mise en place d’une Progressive Web App
Module 2 de Packaging hybride et natif — le parcours de distribution Wisej.NET. Lisez le guide de la leçon et le guide du lab / de l’examen, regardez la vidéo pas à pas sur la mise en place de la PWA, réussissez la vérification des connaissances, puis réalisez le lab pratique dans FieldOps.
- LectureGuide de la leçon · 14 min
Manifeste d’application web, icônes et écrans de démarrage, service worker, installabilité, shell hors ligne et flux de mise à jour d’une PWA. Ce que cela signifie pour une équipe qui livre une application Wisej.NET au-delà de l’onglet du navigateur — et comment aborder ce module.
- LectureGuide du lab / de l’examen · 10 min
Ce que vous allez construire dans le lab pratique, l’approche suggérée et les livrables attendus.
- Leçon vidéoRendre FieldOps installable en tant que PWA · 14 min
Rendre FieldOps installable en tant que PWA — une vidéo pas à pas guidée du Module 2, construite étape par étape dans FieldOps. Elle se lance directement ici, dans le lecteur.
Transcription de la narration
Rendre FieldOps installable tout en gardant sa promesse hors ligne honnête. Le technicien obtient une icône et une fenêtre séparée, mais l'interface dépend toujours d'une session serveur Wisej.NET. La page hors ligne doit expliquer ce qui reste disponible lorsque cette connexion disparaît.
Suivez le technicien depuis la connectivité du dépôt dans une pièce sans signal. La mise en cache du shell de l'application facilite son ouverture, mais ne préserve pas une session Wisej.NET en direct. Concevez l'expérience hors ligne autour de cette limite au lieu de traiter les fichiers mis en cache comme un serveur en cours d'exécution.
Connectez les éléments d'installation : une connexion sécurisée, le manifeste lié à partir de Default.html, le technicien de service enregistré et l'événement d'installation capturé. Conserver cet événement permet à la page de proposer une installation ultérieure, lorsque l'utilisateur le choisit délibérément.
Donnez des itinéraires différents aux fichiers shell et au trafic de session. Le travailleur peut servir les actifs shell connus à partir du cache, mais les demandes de session doivent atteindre le réseau. Si la navigation ne parvient pas à atteindre le serveur, affichez la page hors ligne enregistrée au lieu de relire les réponses de la session.
Dans le travailleur, faites correspondre une liste de fichiers shell explicite et ignorez les requêtes qui ne sont pas des lectures. Restreindre le repli hors ligne à la navigation. Ces règles empêchent que les réponses mises en cache d'une session expirée soient présentées comme si la session en cours avait répondu.
Versionnez le cache pour que la mise à jour ait une destination claire. Le travailleur active et prend le contrôle via ses méthodes de cycle de vie, tandis que le serveur rédige le résumé hors ligne. Proposez l'installation uniquement après qu'une session réussie ait démontré que FieldOps fonctionne.
Vérifiez le manifeste, le travailleur et les neuf fichiers shell mis en cache avant d'accepter l'offre d'installation. Le propre clic de la page appelle l’invite stockée. FieldOps s'ouvre alors dans sa fenêtre autonome, montrant que l'installation modifie l'expérience de lancement plutôt que de déplacer le serveur sur le téléphone.
Sans signal, lisez le résumé mis en cache et son heure de synchronisation. Les changements de statut sont désactivés dans cette version, donc rien ne suggère qu'ils ont été mis en file d'attente. Lorsque la connectivité revient, la barre de rechargement donne au technicien le contrôle du retour à l'application en direct.
Fournissez le manifeste, les icônes, le travailleur versionné et le résumé hors ligne en une seule expérience d'installation. Testez l'offre de première session et le chemin de mise à jour. Confirmez que les anciens caches sont supprimés afin que le prochain lancement ne continue pas à utiliser un shell obsolète.
- LectureExercice de code avec l’IA · 20 min
Construisez l’exemple FieldOps de ce module avec ChatGPT ou Claude à partir d’un prompt prêt à l’emploi qui oriente le modèle vers la spécification du module, puis relisez, exécutez et étendez ce qu’il vous renvoie.
- Quiz de connaissancesVérification des connaissances — Module 2 · 10 min · Note de réussite 80%
- Lab pratiqueLab — FieldOps en tant que PWA · 45 min
Objectif: Transformez FieldOps en PWA : ajoutez le manifeste avec les icônes, la couleur de thème et l’affichage standalone, enregistrez un service worker qui met en cache le shell et les ressources statiques, affichez une invitation à l’installation après la première session réussie, affichez une page hors ligne avec le dernier récapitulatif synchronisé des ordres de travail lorsque le serveur est injoignable, et implémentez le flux de mise à jour qui recharge l’application quand une nouvelle version est disponible. Livrables : manifeste d’application web avec icônes et couleurs ; service worker mettant en cache le shell ; invitation à l’installation après la première session ; page hors ligne avec le dernier récapitulatif synchronisé ; flux de mise à jour et vérification de version.
Module 3: Packaging desktop avec un shell WebView
Module 3 de Packaging hybride et natif — le parcours de distribution Wisej.NET. Lisez le guide de la leçon et le guide du lab / de l’examen, regardez la vidéo pas à pas sur le shell desktop WebView2, réussissez la vérification des connaissances, puis réalisez le lab pratique dans FieldOps.
- LectureGuide de la leçon · 14 min
Héberger l’application dans une fenêtre desktop native, WebView2 sous Windows, chrome de fenêtre, système de fichiers et intégration au système d’exploitation, et installeurs. Ce que cela signifie pour une équipe qui livre une application Wisej.NET au-delà de l’onglet du navigateur — et comment aborder ce module.
- LectureGuide du lab / de l’examen · 10 min
Ce que vous allez construire dans le lab pratique, l’approche suggérée et les livrables attendus.
- Leçon vidéoLivrer FieldOps en tant qu’application desktop Windows · 14 min
Livrer FieldOps en tant qu’application desktop Windows — une vidéo pas à pas guidée du Module 3, construite étape par étape dans FieldOps. Elle se lance directement ici, dans le lecteur.
Transcription de la narration
Enveloppez l'application FieldOps existante dans un hôte de bureau pour les techniciens qui l'utilisent tout au long d'un quart de travail. La fenêtre, l'intégration de la barre d'état et le programme d'installation appartiennent au shell, tandis que les écrans familiers continuent de provenir de l'application Wisej.NET.
Utilisez l'hôte WebView2 pour fournir l'intégration de bureau dont cette livraison a besoin : une icône de lancement, des notifications dans la barre d'état système, un sélecteur de dossiers natif et un package installable. Ces ajouts entourent l’application existante, ils ne nécessitent donc pas de dupliquer ses écrans.
Suivez la demande de dossier au-delà des limites. Le serveur appelle JavaScript, la page envoie des messages WebView2 et l'hôte ouvre la boîte de dialogue native. Sa réponse structurée est renvoyée via un événement client à C sharp, complétant une requête qui couvre les deux processus.
Vérifiez IsDesktopShell avant d'envoyer la commande hôte, puis faites correspondre l'identifiant de la réponse à la demande. Le shell gère séparément la sélection des dossiers et la notification dans la barre d'état. La corrélation des réponses garantit qu'une réponse sans rapport ne peut pas fournir la destination de l'exportation.
Choisissez l'emplacement du serveur dans le cadre du déploiement. Un serveur distant centralise l'application ; un processus local sur l'ordinateur portable fournit une solution de repli pour le travail déconnecté. La sonde de lancement sélectionne le chemin et rend ce choix visible au technicien.
Lisez la configuration de lancement et sondez l’état du serveur avant de démarrer la solution de secours locale. Arrêtez ce processus local lorsque le shell se termine. Gardez la vérification des mises à jour non bloquante, de sorte qu'un échec de recherche de version n'empêche pas le technicien de commencer son travail.
L'export démontre l'aller-retour complet : choisissez un dossier natif, renvoyez son chemin avec l'identifiant correspondant, puis rédigez le rapport. La notification d'affectation exerce l'autre sens, en rouvrant la fenêtre sur l'ordre concerné lorsque le technicien répond.
Testez un ordinateur portable nouvellement préparé sur lequel le runtime WebView2 n'est pas encore présent. Le programme d'installation le fournit, la sonde d'expiration du délai sélectionne le serveur local et la bande hors ligne explique le mode. Une mise à jour disponible est proposée sans interrompre le travail en cours.
Fournissez l'intégration de la fenêtre du bureau et de la barre d'état avec le dossier et le pont de notification. Configurez le serveur distant et la solution de secours locale, puis vérifiez l'installation et l'offre de mise à jour au lancement. Le résultat devrait être une livraison de bureau complète, pas seulement une page hébergée.
- LectureExercice de code avec l’IA · 20 min
Construisez l’exemple FieldOps de ce module avec ChatGPT ou Claude à partir d’un prompt prêt à l’emploi qui oriente le modèle vers la spécification du module, puis relisez, exécutez et étendez ce qu’il vous renvoie.
- Quiz de connaissancesVérification des connaissances — Module 3 · 10 min · Note de réussite 80%
- Lab pratiqueLab — Shell desktop Windows · 45 min
Objectif: Packagez FieldOps pour Windows : un shell WebView2 avec une fenêtre native, un titre personnalisé et une icône dans la zone de notification, un bridge qui permet à l’application d’ouvrir un sélecteur de dossier natif pour exporter les rapports d’ordres de travail et d’afficher une notification native à l’arrivée d’un nouvel ordre, une configuration qui dirige le shell vers le serveur distant avec un repli local, et un installeur avec une vérification des mises à jour au lancement. Livrables : shell desktop WebView2 avec fenêtre et icône de notification ; bridge natif pour le sélecteur de dossier et les notifications ; configuration du serveur distant et local ; package d’installation ; vérification des mises à jour au lancement.
Module 4: Shells mobiles avec .NET MAUI
Module 4 de Packaging hybride et natif — le parcours de distribution Wisej.NET. Lisez le guide de la leçon et le guide du lab / de l’examen, regardez la vidéo pas à pas sur le shell mobile MAUI, réussissez la vérification des connaissances, puis réalisez le lab pratique dans FieldOps.
- LectureGuide de la leçon · 14 min
Héberger l’application dans un shell hybride .NET MAUI pour Android et iOS, navigation et comportement du bouton Retour, cycle de vie de l’application et particularités des plateformes. Ce que cela signifie pour une équipe qui livre une application Wisej.NET au-delà de l’onglet du navigateur — et comment aborder ce module.
- LectureGuide du lab / de l’examen · 10 min
Ce que vous allez construire dans le lab pratique, l’approche suggérée et les livrables attendus.
- Leçon vidéoExécuter FieldOps sur Android et iOS · 14 min
Exécuter FieldOps sur Android et iOS — une vidéo pas à pas guidée du Module 4, construite étape par étape dans FieldOps. Elle se lance directement ici, dans le lecteur.
Transcription de la narration
Hébergez FieldOps dans un petit shell mobile natif tout en conservant ses écrans de serveur existants. Les projets Android et iOS ajoutent l'hébergement des appareils et le comportement du cycle de vie. Ils permettent à la même application Wisej.NET d'atteindre les utilisateurs mobiles sans recréer ses formulaires pour chaque plateforme.
L’hébergeur mobile doit gérer bien plus que l’affichage d’une page. Il peut être suspendu lors d'une lecture, occuper un écran doté d'une encoche, ou recevoir un geste de retour. Planifiez ces interruptions et ces comportements de navigation en fonction des fonctionnalités d'installation et de l'appareil.
Le projet natif contient une vue Web de plateforme connectée de manière sécurisée au serveur FieldOps. Un changement de shell suit le processus de publication du magasin ; les modifications apportées à l'application hébergée restent sur le serveur. Garder cette limite claire évite de reconstruire le shell pour les changements d'écran ordinaires.
Lisez la séquence du cycle de vie comme un scénario de pause et de retour. L'application peut se désactiver, s'arrêter, reprendre et se réactiver pendant l'absence du technicien. La survie de la session d'origine dépend du temps écoulé, la reprise nécessite donc une décision explicite.
Ne rechargez pas l’adresse automatiquement sur chaque CV. Enregistrez l'état concerné lorsque l'hôte s'arrête, puis décidez de vous reconnecter à la session ou de recharger et de rouvrir l'ordre de travail enregistré. Cela préserve la continuité sans supposer qu’une session expirée existe toujours.
Acheminez le geste de retour vers FieldOps et signalez que l'hôte l'a traité. Appliquez un rembourrage de zone de sécurité à partir des encarts réels de la plate-forme. Ces responsabilités appartiennent à l'hôte, de sorte que les écrans de serveurs individuels n'ont pas besoin de décalages de pixels spécifiques à l'appareil.
Exécutez la build Android dans son émulateur et la build iOS via le chemin du simulateur Mac. Les deux chargent le même serveur FieldOps. Comparez leurs écrans de bons de travail pour confirmer que les cibles natives partagent l'application au lieu d'effectuer des implémentations d'écran distinctes.
L'appel entrant interrompt une lecture, de sorte que le gestionnaire d'arrêt enregistre le brouillon et l'heure. Au retour, cent soixante-quatorze secondes se situent toujours dans le délai d'attente de six cent secondes. La reconnexion rétablit le même ordre sans demander au technicien de retaper la lecture.
Créez à la fois des cibles mobiles et testez l’arrière-plan aussi soigneusement que le premier lancement. Incluez la récupération de session, la navigation arrière et la gestion des zones de sécurité. Capturez la liste des bons de travail dans les deux émulateurs afin que la remise démontre l'expérience partagée sur chaque plate-forme.
- LectureExercice de code avec l’IA · 20 min
Construisez l’exemple FieldOps de ce module avec ChatGPT ou Claude à partir d’un prompt prêt à l’emploi qui oriente le modèle vers la spécification du module, puis relisez, exécutez et étendez ce qu’il vous renvoie.
- Quiz de connaissancesVérification des connaissances — Module 4 · 10 min · Note de réussite 80%
- Lab pratiqueLab — Shell mobile MAUI · 45 min
Objectif: Construisez le shell mobile de FieldOps avec .NET MAUI : une page hybride qui héberge l’application sur Android et iOS, une session qui survit au passage en arrière-plan et reprend au retour, le bouton Retour d’Android associé à la navigation dans l’application, des marges de zone sûre pour les appareils à encoche, et un build de débogage exécuté sur un émulateur par plateforme avec des captures d’écran de la liste des ordres de travail. Livrables : projet de shell hybride .NET MAUI pour Android et iOS ; gestion du cycle de vie pour l’arrière-plan et la reprise ; gestion du bouton Retour et des zones sûres ; builds sur émulateur pour les deux plateformes ; captures d’écran des deux émulateurs.
Module 5: API de l’appareil via le bridge hybride
Module 5 de Packaging hybride et natif — le parcours de distribution Wisej.NET. Lisez le guide de la leçon et le guide du lab / de l’examen, regardez la vidéo pas à pas sur le bridge de l’appareil, réussissez la vérification des connaissances, puis réalisez le lab pratique dans FieldOps.
- LectureGuide de la leçon · 14 min
Caméra, fichiers, géolocalisation, notifications push et biométrie depuis l’application via le shell, avec vérifications de capacités et demandes d’autorisation. Ce que cela signifie pour une équipe qui livre une application Wisej.NET au-delà de l’onglet du navigateur — et comment aborder ce module.
- LectureGuide du lab / de l’examen · 10 min
Ce que vous allez construire dans le lab pratique, l’approche suggérée et les livrables attendus.
- Leçon vidéoCapturer photos et positions depuis FieldOps · 14 min
Capturer photos et positions depuis FieldOps — une vidéo pas à pas guidée du Module 5, construite étape par étape dans FieldOps. Elle se lance directement ici, dans le lecteur.
Transcription de la narration
Connectez les actions FieldOps aux fonctionnalités natives de l'appareil via le pont shell. Le technicien peut photographier l'équipement ou capturer une signature, tandis que les commandes Wisej.NET restent sur le serveur. Le pont transporte la demande et renvoie le résultat final de l'appareil.
Suivez la demande de caméra depuis le serveur, via la page, jusqu'à l'objet hôte. Le résultat arrive plus tard sous forme d'événement, après le retour de la commande d'origine. Poussez le changement d'interface résultant avec Application.Update afin que le technicien voie l'action terminée.
Utilisez le descripteur de capacité signalé au début de la session pour choisir les actions disponibles. Le nom de la plateforme d’un navigateur ne prouve pas que le pont natif existe. Lorsque ce pont n'est pas disponible, Upload fournit toujours le chemin basé sur le navigateur pour sélectionner ou capturer une image.
Expliquez pourquoi l'accès est nécessaire lorsque l'utilisateur choisit l'action, puis demandez l'autorisation. Traitez les résultats accordés, temporairement refusés et définitivement refusés comme des résultats différents. L'ouverture répétée de la même invite ne peut pas résoudre un refus permanent et bloque uniquement le flux de travail.
Le gestionnaire de clics vérifie la prise en charge, crée un jeton de demande et renvoie rapidement. OnShellResult vérifie ultérieurement que la réponse est toujours pertinente, gère l'annulation et stocke les données d'image réussies. Faire correspondre le jeton empêche une ancienne réponse de mettre à jour le mauvais état.
Pour le chemin du navigateur, redimensionnez l'image téléchargée avant de la stocker en dehors d'emplacements adressables publiquement. La navigation explique séparément sa demande de localisation. Si l'autorisation est refusée, acceptez une adresse saisie afin que la réalisation de l'itinéraire ne dépende pas de l'octroi de l'accès à la localisation.
Regardez la coque Android compléter deux photographies et une signature. Chaque opération apparaît comme un appel de pont distinct dans le journal. Le clic d'origine a déjà été renvoyé avant l'arrivée des données, confirmant que les opérations de l'appareil se terminent de manière asynchrone via leurs événements de résultat.
Ouvrez le même écran dans un navigateur simple et comparez ses actions disponibles. Le téléchargement remplace la commande de caméra native non prise en charge. Refuser la localisation, saisir une adresse et continuer l'itinéraire ; la solution de secours préserve la tâche même lorsque l'accès au périphérique n'est pas disponible.
Implémentez les actions de photo, de signature, de navigation et de notification d'affectation avec leurs règles de capacité. Incluez les chemins de secours de téléchargement du navigateur et les chemins d’autorisation refusée. La matrice de capacités doit expliquer pourquoi chaque client propose ses actions particulières et comment l'utilisateur continue lorsque l'accès échoue.
- LectureExercice de code avec l’IA · 20 min
Construisez l’exemple FieldOps de ce module avec ChatGPT ou Claude à partir d’un prompt prêt à l’emploi qui oriente le modèle vers la spécification du module, puis relisez, exécutez et étendez ce qu’il vous renvoie.
- Quiz de connaissancesVérification des connaissances — Module 5 · 10 min · Note de réussite 80%
- Lab pratiqueLab — Caméra, localisation et notifications push · 45 min
Objectif: Ajoutez des fonctionnalités de l’appareil à FieldOps : une action Take Photo qui utilise la caméra de l’appareil dans le shell natif et se replie sur un contrôle Upload dans le navigateur, une capture de signature envoyée sous forme d’image, une action Navigate qui lit la position de l’appareil et ouvre l’application de cartographie, une notification push lorsqu’un ordre de travail est attribué, et une vérification de capacités qui affiche ou masque chaque action selon le shell. Livrables : capture photo avec repli sur l’envoi de fichier dans le navigateur ; capture et envoi de la signature ; géolocalisation et transfert vers l’application de cartographie ; notification push à l’attribution ; matrice de vérification des capacités par shell.
Module 6: Signature, distribution, mises à jour et projet de synthèse FieldOps
Module 6 de Packaging hybride et natif — le parcours de distribution Wisej.NET. Lisez le guide de la leçon et le guide du lab / de l’examen, regardez la vidéo pas à pas sur la signature et la distribution, réussissez la vérification des connaissances, puis réalisez le lab pratique dans FieldOps.
- LectureGuide de la leçon · 14 min
Signature de code, soumission aux stores, distribution en entreprise, gestion des versions, stratégies de mise à jour selon les shells, télémétrie et livraison du projet de synthèse. Ce que cela signifie pour une équipe qui livre une application Wisej.NET au-delà de l’onglet du navigateur — et comment aborder ce module.
- LectureGuide du lab / de l’examen · 10 min
Ce que vous allez construire dans le lab pratique, l’approche suggérée et les livrables attendus.
- Leçon vidéoSigner, distribuer et mettre à jour chaque shell FieldOps · 14 min
Signer, distribuer et mettre à jour chaque shell FieldOps — une vidéo pas à pas guidée du Module 6, construite étape par étape dans FieldOps. Elle se lance directement ici, dans le lecteur.
Transcription de la narration
Préparez le FieldOps pour une livraison au-delà des machines de développement. Un serveur prend en charge quatre formulaires client, mais les trois packages natifs nécessitent chacun une identité de signature acceptée. La préparation à la sortie inclut donc la distribution et la compatibilité ainsi que les écrans d'application fonctionnels.
Un déploiement de serveur réussi ne garantit pas une version réussie. Un éditeur de bureau inconnu, un profil mobile expiré ou un ancien shell appelant une méthode supprimée peut toujours bloquer les techniciens. Examinez ces points de défaillance indépendants avant de déclarer le déploiement terminé.
Considérez l’identité de signature de chaque plateforme comme une preuve d’origine. Windows utilise son certificat et son horodatage, Android sa clé de téléchargement et son service de signature, et Apple son certificat et son profil de distribution. La signature identifie l'éditeur ; il ne remplace pas les tests de compatibilité.
Choisissez le canal de distribution séparément pour chaque plateforme native : magasins gérés, gestion des appareils ou téléchargement signé. La livraison par navigateur et application Web progressive suit plutôt le chemin de déploiement Web. Le canal détermine la manière dont les techniciens reçoivent et mettent réellement à jour le package.
Appliquez la version shell au démarrage de la session au lieu de simplement l'afficher. AdmitShell compare la version rapportée avec la version minimale de la plateforme et enregistre le résultat dans l'état de session. Le serveur peut alors admettre, avertir ou exiger délibérément une mise à jour.
Recueillez des preuves des deux côtés de la frontière. Une bibliothèque de rapports de crash à l'intérieur du shell détecte les échecs que le serveur ne peut pas voir. Les événements de fonctionnalité de périphérique ajoutent le résultat, la plate-forme et la version du shell, permettant ainsi de distinguer un problème d'intégration de périphérique d'un problème côté serveur.
Comparez les trois clients atteignant le serveur mis à jour. Le bureau continue, iOS reçoit un avis de rejet et l'ancien shell Android s'arrête à l'écran de mise à jour. La vérification a lieu avant le chargement des commandes, donc un client incompatible ne peut pas démarrer le workflow.
Utilisez une ligne de liste de contrôle de version par chemin de livraison afin qu'aucun package ne se cache derrière le déploiement réussi du serveur. Examinez les événements de refus de localisation comme preuve du flux de travail : une demande d'autorisation effectuée trop tôt nécessite un changement de timing plutôt que de supposer que la fonctionnalité de localisation est interrompue.
Complétez la synthèse avec des packages signés, des canaux d'entreprise choisis et un brouillon de liste. Ajoutez des contrôles de compatibilité au démarrage et des rapports de plantage et d'utilisation. Remettez la liste de contrôle de publication afin qu'une autre personne puisse vérifier les chemins de livraison, de mise à jour et de récupération pour chaque client.
- LectureExercice de code avec l’IA · 20 min
Construisez l’exemple FieldOps de ce module avec ChatGPT ou Claude à partir d’un prompt prêt à l’emploi qui oriente le modèle vers la spécification du module, puis relisez, exécutez et étendez ce qu’il vous renvoie.
- Quiz de connaissancesVérification des connaissances — Module 6 · 10 min · Note de réussite 80%
- Lab pratiqueLab — Projet de synthèse : signature et publication · 45 min
Objectif: Terminez le projet de synthèse FieldOps : signez l’installeur Windows et les packages Android et iOS, préparez une distribution en entreprise pour les shells mobiles et un brouillon de fiche store, définissez une règle de compatibilité entre les versions du serveur et celles des shells avec une vérification de version minimale au démarrage, ajoutez le signalement des plantages et un événement d’usage pour chaque fonctionnalité de l’appareil, et livrez une checklist de publication couvrant les quatre modèles de distribution. Livrables : packages Windows, Android et iOS signés ; configuration de la distribution en entreprise et brouillon de fiche store ; vérification de compatibilité des versions du serveur et des shells ; télémétrie des plantages et de l’usage ; checklist de publication pour tous les modèles de distribution.