Introducció a Xamarin
Xamarin és una plataforma de desenvolupament d'aplicacions mòbils que permet crear aplicacions per a Android, iOS i Windows amb un sol codi base en C#. Utilitza el framework .NET i proporciona accés complet a les API natives de cada plataforma, permetent als desenvolupadors crear aplicacions amb una experiència d'usuari nativa.
Objectius del Tema
- Entendre què és Xamarin i les seves capacitats.
- Configurar l'entorn de desenvolupament per a Xamarin.
- Crear una aplicació bàsica amb Xamarin.
- Comprendre l'estructura d'un projecte Xamarin.
- Utilitzar controls bàsics d'interfície d'usuari.
- Implementar la navegació entre pàgines.
- Accedir a funcionalitats natives del dispositiu.
- Què és Xamarin?
Xamarin és una plataforma de desenvolupament d'aplicacions mòbils que permet als desenvolupadors utilitzar C# i .NET per crear aplicacions per a Android, iOS i Windows. Les aplicacions creades amb Xamarin tenen accés complet a les API natives de cada plataforma, permetent una experiència d'usuari nativa.
Avantatges de Xamarin
- Codi Compartit: Permet compartir fins al 90% del codi entre les diferents plataformes.
- Experiència Nativa: Accés complet a les API natives de cada plataforma.
- Productivitat: Utilitza C# i .NET, llenguatges coneguts per molts desenvolupadors.
- Ecosistema .NET: Accés a una àmplia gamma de biblioteques i eines .NET.
- Configuració de l'Entorn de Desenvolupament
Requisits
- Visual Studio: Visual Studio 2019 o posterior amb el component Xamarin instal·lat.
- SDK d'Android: Per desenvolupar aplicacions Android.
- Xcode: Per desenvolupar aplicacions iOS (només en macOS).
Passos per Configurar l'Entorn
-
Instal·lar Visual Studio:
- Descarrega i instal·la Visual Studio des del lloc web oficial.
- Durant la instal·lació, selecciona el càrrec "Desenvolupament mòbil amb .NET".
-
Configurar l'SDK d'Android:
- Obre Visual Studio.
- Ves a
Tools > Options > Xamarin > Android Settings. - Assegura't que l'SDK d'Android estigui configurat correctament.
-
Configurar Xcode (només en macOS):
- Descarrega i instal·la Xcode des de l'App Store.
- Obre Xcode i accepta els termes i condicions.
- Creació d'una Aplicació Bàsica amb Xamarin
Pas 1: Crear un Nou Projecte
- Obre Visual Studio.
- Selecciona
Create a new project. - Cerca
Xamarini seleccionaMobile App (Xamarin.Forms). - Dona un nom al projecte i selecciona la ubicació.
- Selecciona el tipus de plantilla (per exemple,
Blank).
Pas 2: Estructura del Projecte
Un projecte Xamarin.Forms típic té la següent estructura:
- Projecte Compartit: Conté el codi compartit entre les plataformes.
- Projecte Android: Conté el codi específic per a Android.
- Projecte iOS: Conté el codi específic per a iOS.
Pas 3: Crear una Interfície d'Usuari Bàsica
// MainPage.xaml
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.MainPage">
<StackLayout>
<Label Text="Welcome to Xamarin.Forms!"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand" />
<Button Text="Click Me"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand"
Clicked="OnButtonClicked"/>
</StackLayout>
</ContentPage>// MainPage.xaml.cs
using System;
using Xamarin.Forms;
namespace MyApp
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void OnButtonClicked(object sender, EventArgs e)
{
DisplayAlert("Alert", "Button clicked!", "OK");
}
}
}Pas 4: Executar l'Aplicació
- Selecciona la plataforma de destinació (Android o iOS).
- Fes clic a
Runper compilar i executar l'aplicació en un emulador o dispositiu físic.
- Controls Bàsics d'Interfície d'Usuari
Xamarin.Forms proporciona una àmplia gamma de controls d'interfície d'usuari. Alguns dels més comuns són:
- Label: Per mostrar text.
- Button: Per crear botons interactius.
- Entry: Per introduir text.
- ListView: Per mostrar llistes de dades.
- StackLayout: Per organitzar altres controls en una disposició vertical o horitzontal.
Exemple d'Ús de Controls
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.ControlsPage">
<StackLayout>
<Label Text="Enter your name:"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand" />
<Entry x:Name="nameEntry"
Placeholder="Name"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand" />
<Button Text="Submit"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand"
Clicked="OnSubmitClicked"/>
</StackLayout>
</ContentPage>// ControlsPage.xaml.cs
using System;
using Xamarin.Forms;
namespace MyApp
{
public partial class ControlsPage : ContentPage
{
public ControlsPage()
{
InitializeComponent();
}
private void OnSubmitClicked(object sender, EventArgs e)
{
string name = nameEntry.Text;
DisplayAlert("Hello", $"Hello, {name}!", "OK");
}
}
}
- Navegació entre Pàgines
Xamarin.Forms proporciona diverses maneres de navegar entre pàgines. La més comuna és utilitzar el NavigationPage.
Exemple de Navegació
// MainPage.xaml
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.MainPage">
<StackLayout>
<Button Text="Go to Next Page"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand"
Clicked="OnNextPageClicked"/>
</StackLayout>
</ContentPage>// MainPage.xaml.cs
using System;
using Xamarin.Forms;
namespace MyApp
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private async void OnNextPageClicked(object sender, EventArgs e)
{
await Navigation.PushAsync(new NextPage());
}
}
}// NextPage.xaml
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.NextPage">
<StackLayout>
<Label Text="This is the next page!"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand" />
</StackLayout>
</ContentPage>// NextPage.xaml.cs
using Xamarin.Forms;
namespace MyApp
{
public partial class NextPage : ContentPage
{
public NextPage()
{
InitializeComponent();
}
}
}
- Accés a Funcionalitats Natives del Dispositiu
Xamarin.Essentials proporciona una col·lecció d'API per accedir a funcionalitats natives del dispositiu com la càmera, la geolocalització, els sensors, etc.
Exemple d'Ús de Xamarin.Essentials
using Xamarin.Essentials;
using Xamarin.Forms;
namespace MyApp
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private async void OnGetLocationClicked(object sender, EventArgs e)
{
try
{
var location = await Geolocation.GetLastKnownLocationAsync();
if (location != null)
{
await DisplayAlert("Location", $"Latitude: {location.Latitude}, Longitude: {location.Longitude}", "OK");
}
}
catch (Exception ex)
{
await DisplayAlert("Error", ex.Message, "OK");
}
}
}
}Exercicis Pràctics
Exercici 1: Crear una Aplicació de Calculadora
- Crea un nou projecte Xamarin.Forms.
- Dissenya una interfície d'usuari amb botons per als números i operacions bàsiques (+, -, *, /).
- Implementa la lògica per realitzar les operacions matemàtiques.
Exercici 2: Aplicació de Llista de Tasques
- Crea un nou projecte Xamarin.Forms.
- Dissenya una interfície d'usuari amb un
Entryper introduir tasques i unListViewper mostrar-les. - Implementa la funcionalitat per afegir, eliminar i marcar tasques com a completades.
Resum
En aquest tema, hem après què és Xamarin i com configurar l'entorn de desenvolupament. Hem creat una aplicació bàsica, explorat l'estructura d'un projecte Xamarin i utilitzat controls bàsics d'interfície d'usuari. També hem après a navegar entre pàgines i accedir a funcionalitats natives del dispositiu. Finalment, hem proposat alguns exercicis pràctics per reforçar els conceptes apresos.
Amb aquests coneixements, estàs preparat per començar a desenvolupar aplicacions mòbils amb Xamarin. En el següent mòdul, explorarem millors pràctiques i patrons de disseny per millorar la qualitat del teu codi.
Curs de Programació en C#
Mòdul 1: Introducció al C#
- Introducció al C#
- Configuració de l'Entorn de Desenvolupament
- Programa Hello World
- Sintaxi i Estructura Bàsica
- Variables i Tipus de Dades
Mòdul 2: Estructures de Control
Mòdul 3: Programació Orientada a Objectes
Mòdul 4: Conceptes Avançats de C#
- Interfícies
- Delegats i Esdeveniments
- Genèrics
- Col·leccions
- LINQ (Consulta Integrada al Llenguatge)
- Programació Asíncrona
Mòdul 5: Treballant amb Dades
Mòdul 6: Temes Avançats
- Reflexió
- Atributs
- Programació Dinàmica
- Gestió de Memòria i Recollida d'Escombraries
- Multifil i Programació Paral·lela
Mòdul 7: Construcció d'Aplicacions
Mòdul 8: Millors Pràctiques i Patrons de Disseny
- Estàndards de Codificació i Millors Pràctiques
- Patrons de Disseny
- Proves Unitàries
- Revisió de Codi i Refactorització
