6. PORTABLE CLASS LIBRARIES
Microsoft .NET
El camino a grandes ideas y soluciones:
Microsoft.NET un Framework que permite la integración rápida de
aplicaciones,
7. PORTABLE CLASS LIBRARIES
El camino a grandes ideas y soluciones:
Miguel de Icaza.
del Origen del Mono a Xamarin
8. PORTABLE CLASS LIBRARIES
¿Por qué es importante la historia de
.net y de Xamarin para entender
el desarrollo multiplataforma?
10. PORTABLE CLASS LIBRARIES
Si podemos programar para cualquier plataforma
¿Para qué sirven las PCL?
Las PCL fueron creadas como parte de .Net en Visual Studio 2012
El proyecto Biblioteca de clases portable permite escribir y compilar ensamblados administrados capaces
de funcionar en varias plataformas .NET Framework. Puede crear clases que contengan el código que
desea compartir entre diversos proyectos (por ejemplo, la lógica empresarial compartida) y después
hacer referencia a esas clases desde diferentes tipos de objetos.
Con el proyecto Biblioteca de clases portable, puede compilar ensamblados portables que funcionen en
las plataformas .NET Framework, Silverlight, Windows Phone 7 o Xbox 360 sin necesidad de realizar
modificaciones. Sin el proyecto Biblioteca de clases portable, solo podrá usar como destino una única
plataforma y tendrá que modificar manualmente la biblioteca de clases para usarla en otras plataformas.
El proyecto Biblioteca de clases portable admite un subconjunto de ensamblados de estas plataformas y
proporciona una plantilla de Visual Studio que permite compilar ensamblados para que se ejecuten sin
modificaciones en esas plataformas.
12. PORTABLE CLASS LIBRARIES
Xamarin mejora el concepto de las PCL
PCL Support was added in Xamarin.Android 4.10.1, Xamarin.iOS 7.0.4 and Xamarin Studio 4.2. Portable Library
projects are automatically enabled in Xamarin Studio on OS X, and are built-in to Visual Studio 2013 and later.
13. PORTABLE CLASS LIBRARIES
Xamarin mejora el concepto de las PCL
PCL Support was added in Xamarin.Android 4.10.1, Xamarin.iOS 7.0.4 and Xamarin Studio 4.2. Portable Library
projects are automatically enabled in Xamarin Studio on OS X, and are built-in to Visual Studio 2013 and later.
16. PORTABLE CLASS LIBRARIES
Benefits
• Centralized code sharing – write and test code in a single project that can be
consumed by other libraries or applications.
• Refactoring operations will affect all code loaded in the solution (the Portable Class
Library and the platform-specific projects).
• The PCL project can be easily referenced by other projects in a solution, or the
output assembly can be shared for others to reference in their solutions.
17. PORTABLE CLASS LIBRARIES
Disadvantages
• Because the same Portable Class Library is shared between multiple applications,
platform-specific libraries cannot be referenced (eg. Community.CsharpSqlite.WP7).
• The Portable Class Library subset may not include classes that would otherwise be
available in both MonoTouch and Mono for Android (such as DllImport or
System.IO.File).
18. PORTABLE CLASS LIBRARIES
Disadvantages
• Because the same Portable Class Library is shared between multiple applications,
platform-specific libraries cannot be referenced (eg. Community.CsharpSqlite.WP7).
• The Portable Class Library subset may not include classes that would otherwise be
available in both MonoTouch and Mono for Android (such as DllImport or
System.IO.File).
19. PORTABLE CLASS LIBRARIES
MEJORES PRACTICAS EN PCL
- Separación en Capas “libreria para tarjetas de credito”
- DRY No te repitas Don’t Repeat Yourself ejemplo uso de Modelos
- Tener organizado el proyecto
- Ahorro en desarrollo de código.
Patrones de diseño pueden ser usados ejemplos :
MVVM - Xamarin Form hace uso de este patron para lograr interfaces compartidas.
Service Locator - Para libraries que comparten procesos comunes.
Adapter Pattern - Para librerías que requieren de clases comunes para su consumo