Interview for Devs Xamarin [Q&A] P2


Hola Mundo!… como se habrán percatado con el titulo, en esta entrada continuaremos con la segunda entrega sobre las preguntas que nos pueden efectuar en una entrevista, y que de igual forma, son relevantes a la hora de comenzar a desarrollar por primera vez en Xamarin.

¿Cuál es la diferencia entre XAML y AXML en Xamarin?

AXML y XAML son dos especificaciones XML diferentes. AXML solo es compatible ó más bien, solo se encuentra disponible para Xamarin.Android.

XAML es la forma en que Xamarin.Forms estandariza la interfaz de usuario en un aplicativo basado en la especificación XML.

En otras palabras, si se desarrolla en Android de manera nativa en Xamarin se utilizara axml, si desarrolla con Xamarin.Forms, se utiliza XAML.

¿Por qué XAML en Xamarin.Forms?

XAML (Extensible Application Markup Language) permite a los desarrolladores definir interfaces de usuario en aplicaciones Xamarin.Forms mediante un lenguaje de marcado en lugar de código.

XAML define la apariencia visual de una UI, y un archivo de código subyacente asociado, define la lógica. El diseño de la interfaz de usuario se puede ajustar sin realizar necesariamente cambios en la lógica del código subyacente. XAML simplifica el flujo de trabajo entre las personas que pueden tener una responsabilidad primordial de diseño visual y las personas responsables de la lógica de la aplicación y el diseño de la información.

¿Cuáles son las desventajas de XAML en Xamarin.Forms?

XAML no puede contener código. Todos los controladores de eventos deben estar definidos en un archivo de código.

XAML no puede contener bucles para un procesamiento repetitivo (sin embargo, ListView – puede generar varios hijos en función de los objetos en su colección ItemsSource).

XAML no puede contener un procedimiento condicional (sin embargo, un enlace de datos puede hacer referencia a un convertidor de enlace basado en código que efectivamente permite algún procesamiento condicional).

XAML generalmente no puede crear instancias de clases que no definen un constructor sin parámetros (sin embargo, a veces hay una forma de evitar esta restricción).

XAML generalmente no puede llamar a los métodos (de nuevo, esta restricción a veces puede superarse).

¿Cuándo debo usar Xamarin.Forms ó Xamarin.Native?

Se debe de implementar Xamarin.Forms en las aplicaciones que requieran poca funcionalidad específica de la plataforma. Aplicaciones donde el código compartido es más importante que la interfaz de usuario personalizada.

Por otro lado, se debe de hacer el uso de Xamarin.iOS y Xamarin.Android cuando las aplicaciones requieran interacciones especializadas, con diseño altamente pulido, así mismo en aplicaciones que requieran muchas APIs específicas de la plataforma.
Aplicaciones donde la UI personalizada sea más importante que el uso compartido de código.

¿Cuáles son los diferentes archivos de salida de extensión generados desde Xamarin.Forms?

Si ejecutamos la aplicación Xamarin, puede generar los siguientes paquetes de aplicaciones para diferentes plataformas:

.xap / .Appx : para Windows Phone, Windows, UWP
.ipa : para iOS
.apk : para Android

¿Cuál es la estructura del proyecto de Xamarin.Forms?

Si creamos una aplicación en Xamarin.Forms usando Xamarin Studio o Visual Studio, el proyecto creado tendrá la siguiente estructura:

Proyecto Compartido: contiene el código común a todos los proyectos ya sea PCL o Shared Project.

Proyecto Android: aplicativo Xamarin.Android

Proyecto iOS: aplicativo Xamarin.iOS

¿Cuáles son las diferentes técnicas para compartir código en Xamarin.Forms?

El objetivo de una estrategia de intercambio de código es respaldar la arquitectura, donde una única base de código puede ser utilizada por múltiples plataformas.

Hay dos métodos alternativos para compartir código entre aplicaciones multiplataforma:

Bibliotecas Portátiles (PCL) y Proyectos Compartidos

¿Cuál es la diferencia entre Portable Class Library (PCL) y Shared Projects?

La biblioteca de clases portátil (PCL) produce bibliotecas que se pueden compartir en múltiples plataformas, la cual incluye interfaces.

Los proyectos compartidos utilizan código compartido que puede ser basado en la plataforma utilizando las directivas del compilador (por ejemplo, usando #if__Android__, #if__IOS __, etc).

¿Qué realiza Pages in Xamarin.Forms?

La clase de página es un elemento visual que ocupa la mayor parte o la totalidad de la pantalla y contiene un único elemento secundario. Y las páginas en Xamarin.Forms se asignan directamente de tal forma:

En iOS, es un controlador de vista.

En Android, es una actividad.

¿Cuáles son los diferentes tipos de páginas en Xamarin.Forms?

Afortunadamente, Xamarin.Forms admite múltiples representaciones de página, y cada representación tiene su propio propósito, como se muestra a continuación:

ContentPage: una página que muestra una sola Vista, a menudo un contenedor como StackLayout o ScrollView.

MasterDetailPage: Una página que administra dos paneles de información.

NavigationPage: una página que permite la navegación entre páginas secundarias, usando pestañas.

TemplatedPage: una página que muestra contenido de pantalla completa con una plantilla de control y la clase base para ContentPage.

CarouselPage: una página que permite deslizar los gestos entre las subpáginas, como una galería.

Continuara…

Anuncios

2 comentarios sobre “Interview for Devs Xamarin [Q&A] P2

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s