Fermer

septembre 26, 2019

Introduction à Xamarin.Forms Shell


Le nouveau shell Xamarin.Forms est conçu pour améliorer la productivité des développeurs mobiles. Le contenu de Shell simplifie bien l’organisation et la navigation du contenu des applications, ce qui laisse plus de temps aux développeurs pour se concentrer sur le contenu des applications. Cet article explore les bases de Xamarin.Forms Shell et comment commencer.

Le développement d'applications mobiles devrait être amusant. Mais les réalités du développement d'applications d'entreprise placent souvent les développeurs mobiles dans des délais serrés. Les développeurs indépendants qui créent des applications mobiles tentent souvent de tirer le meilleur parti des nuits et des week-ends. Tout framework, outil ou technique permettant aux développeurs mobiles d’augmenter leur productivité est donc le bienvenu.

Maintenant, la plupart des gourmands seront d’accord: un bon burrito est un pur bonheur. Vous devez choisir un emballage qui convient à vos goûts et ce qui est à l'intérieur est ce que votre coeur désire. Et oui, tous les burritos devraient être personnalisables. Mais qu'est-ce qu'une référence alimentaire a à voir avec le développement mobile?

Les développeurs mobiles recherchent souvent des raccourcis – un bon point de départ en vaut vraiment la peine. Ce ne serait pas bien si nous pouvions obtenir certaines fonctionnalités standard et pouvoir nous concentrer sur les fonctionnalités des applications? La plupart des applications suivent une structure d'organisation du contenu et de navigation. Ne serait-il pas agréable de disposer de quelque chose de beau, prêt à l'emploi, qui fonctionne de manière transparente entre plates-formes? Ce que les développeurs d'applications veulent, c'est un shell burrito – et pouvoir ensuite le remplir avec le contenu des applications.

Xamarin.Forms permet aux développeurs .NET de créer des applications pour iOS, Android et bien plus facilement. Xamarin.Forms permet de créer des applications véritablement natives à partir d'une seule base de code partagé – des applications avec une belle interface utilisateur native .

Xamarin.Forms 4.0 a été envoyé plus tôt cette année et a considérablement amélioré le jeu de l'interface utilisateur avec l'introduction du shell Shell . Tout comme Xamarin.Forms synthétise les éléments de l’interface utilisateur dans une API facile à utiliser, Shell élimine l’architecture des applications et la complexité de la navigation.

Shell fournit un conteneur pour votre application. Ce conteneur comprend un MasterDetailPage un TabbedPage et un NavigationPage ou une combinaison des deux. Shell fournit également une fonctionnalité de recherche rudimentaire. Et, pour couronner le tout, la navigation basée sur URI a été intégrée. C'est presque comme si la coquille était la tortilla de notre burrito app et que les pages étaient des garnitures délicieuses! Maintenant que la métaphore du burrito est ancrée au sol, plongeons-nous et créons une application Xamarin.Forms basée sur Shell!

Notre application de démonstration

Tout d'abord, voici l'application que nous créerons aujourd'hui.

 ShellDemo

C'est comme un guide touristique de Seattle – à l'exception d'une application de démonstration. Il a un MasterDetailPage avec 2 enfants – l'un est un TabbedPage l'autre est un vieux ContentPage normal. Ce TabbedPage a 2 onglets. Chaque page de ces onglets a un ListView et un appui sur les éléments ListView permet de naviguer dans l'application. Vous pouvez récupérer tout le code de démonstration pour cette application sur GitHub, le cloner et le suivre! Cool? Cool.

Bases de Shell

Pour créer une application dans une application Shell, vous avez besoin d'une page Shell . Et cela ressemble à ceci:

  
    
    

Ensuite, dans le constructeur de votre page Application :

 app publique ()
{
InitializeComponent ();
MainPage = new ShellPage ();
} 

La documentation de Xamarin.Forms Shell contient une tonne d'informations détaillées sur l'amorçage d'une application Shell. Maintenant, faisons en sorte que le shell contienne quelque chose!

Composants de shell

Comme indiqué, il existe 3 composants principaux d’une application Shell: le MasterDetailPage (ou flyout), le TabbedPage . et le NavigationPage . Vous pouvez les utiliser tous ensemble ou les sélectionner à votre guise. Commençons par le MasterDetailPage .

The Flyout

En regardant l'application ci-dessus, il existe deux pages de "détail" pour le MasterDetailPage . L'un est un TabbedPage et l'autre est un ContentPage . Voyons donc comment vous ajouteriez ceci: ContentPage :


    
        
    

C'est assez simple. Dans l'élément nous avons inséré un élément . Et dans ce cadre, référence à votre page personnalisée.

Prenons maintenant une minute pour nous arrêter et examiner quelques raccourcis lors de la création du shell. Il existe d'autres éléments tels que qui pourraient entrer dans cette hiérarchie. Mais l’équipe Xamarin.Forms l’a conçue pour que l’analyseur XAML les mette si vous les omettez. Xamarin.Forms sait déjà que devrait être dans . Nous pouvons donc omettre cela et laisser les formulaires faire le travail. Vous pouvez plonger profondément dans la mécanique de Flyout dans les documents ou en savoir plus sur que fait encore Forms pour vous.

The Tabs

La prochaine étape consiste à ajouter le TabbedPage . Ou Tabs comme Shell aime les appeler. Puisqu'il fait également partie de MasterDetailPage il ira également dans un FlyoutItem . Et ensuite, dire à Xamarin.Forms de transformer ce FlyoutItem en onglets, vous y mettez des éléments .

La syntaxe est la suivante:



    
        
    
    
        
    

Nous allons quelque part. A MasterDetailPage terminant un TabbedPage avec deux onglets et une ContentPage .

Que faire si vous ne voulez pas de ContentPage .

Que faire si vous ne voulez pas de MasterDetailPage du tout? Laissez de côté les éléments FlyoutItem . Ne mettez que dans éléments. Et si vous le souhaitez, vous pouvez également envelopper tous ces éléments dans un élément . Et voici la meilleure chose: par défaut, toutes les pages en bas se trouvent déjà dans un NavigationPage .

Vous savez ce que cela signifie, il est temps de faire de la navigation!

Navigation

Shell nous donne quelque chose appelé routage basé sur URI. Cela signifie que vous attribuez un identifiant de chaîne à une page, puis appelez Shell.Current.GoToAsync en indiquant l'identifiant de cette page. Et .. vous transmettez des arguments à la nouvelle page en tant que paramètres de chaîne de requête.

Donc, dans le cas de la page d’arrêt de bus: comme elle n’est référencée nulle part dans le XAML de la page nous devons définir un itinéraire pour cela. . Nous faisons cela dans le constructeur de notre page Shell:

 public ShellPage ()
{
    InitializeComponent ();
    Routing.RegisterRoute ("arrêt de bus", typeof (BusStopPage));
} 

Cela va permettre à Shell d'accéder au BusStopPage . Et nous le ferons dans la liste ListView.ItemSelected de de BusRoutePage :

 async void Handle_ItemSelected (expéditeur d'objet, Arguments SelectedItemChangedEventArgs)
{
    var selectedRoute = e.SelectedItem as BusRouteInfo;

    wait Shell.Current.GoToAsync ($ "arrêt du bus = route {selectedRoute.RouteNumber}");
} 

Shell va alors remonter le BusStopPage et y accéder, en indiquant le numéro de route du bus de l'élément sélectionné. Comment obtenez-vous à celui passé en paramètre? Vous pouvez utiliser un attribut de niveau de classe. Il spécifie le nom du paramètre entrant avec une propriété de la classe à renseigner.

Voici donc à quoi cela ressemble:

 [QueryProperty("RouteNumber", "route")]
classe partielle publique BusStopPage: ContentPage 

Le paramètre route remplira la propriété RouteNumber . Il y a beaucoup beaucoup plus de navigation dans Shell. Les documents sont là pour vous aider.

Résumé

Voilà, Xamarin.Forms Shell résume certaines des complexités de la création d'applications dans une API intuitive. L'élément est la base de tout. À cela, vous ajoutez pour créer un MasterDetailPage . Dans ces éléments, vous ajoutez des éléments pour créer un TabbedPage ou vos pages personnalisées. Dans les éléments ajoutez vos pages personnalisées. Et vous pouvez naviguer partout en utilisant la toute nouvelle navigation basée sur les URI de Shell.

Shell peut faire beaucoup plus, y compris la recherche et une multitude de styles visuels. Comme toujours, les documents sont le meilleur endroit pour commencer – plus d'articles de plongée profonds Shell à venir ici. Et saviez-vous que l'interface utilisateur Telerik pour Xamarin fonctionne parfaitement avec le nouveau Shell Xamarin.Forms? Bons moments en effet. Profitez de votre burrito!





Source link

septembre 26, 2019