Introducción a Xamarin.Forms ShellXamarin.Forms Shell Introduction

Descargar ejemplo Descargar el ejemploDownload Sample Download the sample

Xamarin.Forms Shell reduce la complejidad del desarrollo de aplicaciones móviles al proporcionar las características fundamentales que requieren la mayoría de aplicaciones móviles, como por ejemplo:Xamarin.Forms Shell reduces the complexity of mobile application development by providing the fundamental features that most mobile applications require, including:

  • Un único lugar para describir la jerarquía visual de una aplicación.A single place to describe the visual hierarchy of an application.
  • Una interfaz de usuario de navegación común.A common navigation user experience.
  • Un esquema de navegación basado en URI que permite la navegación a cualquier página de la aplicación.A URI-based navigation scheme that permits navigation to any page in the application.
  • Un controlador de búsqueda integrado.An integrated search handler.

Además, las aplicaciones de Shell se benefician de una mayor velocidad de representación y un consumo reducido de memoria.In addition, Shell applications benefit from an increased rendering speed, and reduced memory consumption.

Importante

Las aplicaciones existentes pueden adoptar Shell y aprovechar inmediatamente las mejoras de navegación, rendimiento y extensibilidad.Existing applications can adopt Shell and benefit immediately from navigation, performance, and extensibility improvements.

Compatibilidad con la plataformaPlatform support

Xamarin.Forms Shell está totalmente disponible en iOS y Android, pero solo parcialmente disponible en la Plataforma universal de Windows (UWP).Xamarin.Forms Shell is fully available on iOS and Android, but only partially available on the Universal Windows Platform (UWP). Además, Shell es actualmente experimental en UWP y solo se puede usar agregando la siguiente línea de código a la clase App en el proyecto de UWP, antes de llamar a Forms.Init:In addition, Shell is currently experimental on UWP and can only be used by adding the following line of code to the App class in your UWP project, before calling Forms.Init:

global::Xamarin.Forms.Forms.SetFlags("Shell_UWP_Experimental");

Para obtener más información sobre el estado de Shell en UWP, vea el Panel de proyectos de Shell de Xamarin.Forms en github.com.For more information about the status of Shell on UWP, see Xamarin.Forms Shell Project Board on github.com.

Experiencia de navegación de ShellShell navigation experience

Shell ofrece una experiencia de navegación bien fundamentada basada en controles flotantes y pestañas.Shell provides an opinionated navigation experience, based on flyouts and tabs. El nivel superior del panel de navegación en una aplicación de Shell es un control flotante o una barra de pestañas inferior, según los requisitos de navegación de la aplicación.The top level of navigation in a Shell application is either a flyout or a bottom tab bar, depending on the navigation requirements of the application. El ejemplo siguiente muestra una aplicación donde el nivel superior de navegación es un control flotante:The following example shows an application where the top level of navigation is a flyout:

Captura de pantalla de un control flotante de Shell en iOS y AndroidScreenshot of a Shell flyout, on iOS and Android

Al seleccionar un elemento de control flotante, se selecciona y muestra la pestaña inferior que representa el elemento:Selecting a flyout item results in the bottom tab that represents the item being selected and displayed:

Captura de pantalla de pestañas inferiores de Shell en iOS y AndroidScreenshot of Shell bottom tabs, on iOS and Android

Nota

Cuando el control flotante no está abierto, la barra de pestañas inferior se puede considerar el nivel superior de navegación en la aplicación.When the flyout isn't open the bottom tab bar can be considered to be the top level of navigation in the application.

Cada pestaña muestra un objeto ContentPage.Each tab displays a ContentPage. Sin embargo, si una pestaña inferior contiene más de una página, las páginas son navegables mediante la barra de pestañas superior:However, if a bottom tab contains more than one page, the pages are navigable by the top tab bar:

Captura de pantalla de pestañas superiores de Shell en iOS y AndroidScreenshot of Shell top tabs, on iOS and Android

Dentro de cada pestaña, se puede navegar a objetos adicionales ContentPage:Within each tab, additional ContentPage objects can be navigated to:

Captura de pantalla de navegación de páginas de Shell en iOS y AndroidScreenshot of Shell page navigation, on iOS and Android