La aplicación de muestra en este repositorio se llama Gogogiphy.
Gogogiphy es una aplicación de aprendizaje de muestra utilizada con el libro, "Learn Visual Studio App Center con formularios de xamarina". Puede desembolsar este proyecto o importar este proyecto en Azure DevOps. Te mostraré esos pasos en mi libro.
Como no administraré esta aplicación o arreglaré errores en el futuro, no envíe ninguna solicitud de extracción.
Esta aplicación se usa puramente para fines de capacitación y demostración. Está diseñado en el marco de formularios Xamarin en el estándar .NET usando C#.
Encontrará 2 versiones diferentes de la aplicación de muestra: inicio y finalización. Ambos son funcionales. El proyecto en la carpeta de inicio tiene la mayoría de las funciones de trabajo, excepto aquellas funciones que interactúan con los paquetes Nuget del centro de aplicaciones. Esas funciones se dejan como trozos vacíos. Puede encontrar los trozos vacíos en Visual Studio buscando "TODO". Las versiones de trabajo de las mismas funciones se pueden encontrar en la carpeta de finalización. De lo contrario, ambos proyectos son idénticos.
En primer lugar, esta aplicación está diseñada utilizando el marco FreshMVVV. Si comprende el patrón de diseño Model-View-ViewModel, entonces comprende la eventual necesidad de navegación de páginas, el uso de BindingContext de las páginas XAML, la inyección de dependencia y las prácticas de inversión de control. No entraré en gran detalle sobre cada uno de estos conceptos, pero utilicé el marco de primer año porque el autor, Michael Ridland, ha hecho un trabajo maravilloso creando un marco MVVM específicamente para formularios de xamarina y facilitó la integración en una aplicación de formularios de Xamarin. Puede encontrar más información en su página de Github a continuación.
https://github.com/rid00z/freshmvvm
Puede encontrar más información útil sobre su guía de inicio rápido desde su blog a continuación.
https://michaelridland.com/xamarin/freshmvvm-quick-start-guide/
El próximo gran kit de herramientas que utilicé en la aplicación es Xamarin Essentials. Este kit de herramientas le da a un desarrollador la potencia de usar una única API multiplataforma para aprovechar las características específicas de la plataforma cruzada como conectividad, batería, portapapeles, etc. en lugar de tener que aprender cada API por separado para Android, iOS y Windows. Puede encontrar la página GitHub para Xamarin Essentials en el sitio a continuación. En esta aplicación de muestra, utilizo las API de Helper de conectividad, listón principal y sistema de archivos. Si decide usar mi aplicación de muestra como base para su propia aplicación y si tiene más ideas, puede aprovechar las API multiplataforma de Xamarin Essentials. Le animo a que lea su página y documentación de GitHub en los enlaces a continuación.
https://github.com/xamarin/essentials https://docs.microsoft.com/en-us/xamarin/essentials/
James Montemagno, quien ha sido una voz importante en la escena de Formas de Xamarin durante mucho tiempo, es un gran contribuyente entre un equipo de otros contribuyentes de código abierto a Xamarin Essentials. Si no sabes mucho sobre él, siempre puedes seguir su blog a continuación porque publica muchos artículos relevantes para los artículos relacionados con las formas de Xamarin y otras tecnologías. Regularmente publica un código de muestra del que puede aprender.
https://montemagno.com/
Otra biblioteca crucial utilizada en esta aplicación de muestra es la biblioteca FFIMageloading. Esta biblioteca es crucial porque le da a la aplicación la capacidad de mostrar GIF. Esta biblioteca está disponible en varios marcos diferentes como Xamarin.ios, Xamarin.Android y, por supuesto, Xamarin.Forms. Personalmente, me encanta esta biblioteca porque simplemente puedes enchufar y reproducir los controles, modificar algunas configuraciones y nunca preocuparte por ello. Le animo a que lea más sobre esta biblioteca mientras navega a través del código en la aplicación de muestra.
https://github.com/luberda-molinet/ffimageloading https://github.com/luberda-molinet/ffimageloading/wiki
Por supuesto, estos GIF deben almacenarse en algún lugar localmente para que el usuario pueda guardar las imágenes en colecciones para ver. Es por eso que implementé SQLite en el proyecto central de la solución porque era fácil de implementar y fácil de aprender incluso para un principiante. El paquete NUGET integrado en el proyecto central es el paquete .NET Wrapper alrededor del cliente SQLite. Puede encontrar más información en los enlaces a continuación.
https://github.com/praeclarum/sqlite-net https://www.nuget.org/packages/sqlite-net-pcl https://www.sqlite.org/index.html
Por último, el marco final final para aprender es JSON.NET. Si alguna vez ha desarrollado un sitio web o un proyecto de API web o una aplicación móvil, JavaScript Object Notation (JSON) se ha convertido en nuestra carga de opción porque es fácil de usar, fácil de leer y fácil de serializar o deserializar en un objeto .NET. Si eres nuevo en JSON.NET, te recomiendo que leas la documentación en su sitio web a continuación.
https://www.newtonsoft.com/json https://www.newtonsoft.com/json/help/
Siga estos simples pasos para obtener el valor secreto de la aplicación para iOS.
Siga estos simples pasos para obtener el valor secreto de la aplicación para Android.
Siga estos simples pasos para configurar su cuenta Giphy.
Vaya al siguiente sitio web, configure una cuenta de desarrollador Giphy y vaya a su tablero.
https://developers.giphy.com
Configure una nueva aplicación en su cuenta. Encontrará su aplicación en la lista de "sus aplicaciones". Y tu clave API se da por dentro.
Copie el valor y reemplace el valor de cadena "giphyapikey" en la variable apikey en settings.cs.
PRECAUCIÓN
No es seguro confirmar su secreto de aplicación y los valores de la clave de su API en el control de origen simplemente cometiendo los cambios en la clase de configuración tal como existen actualmente. Puede usar los pasos descritos anteriormente para que la aplicación se ejecute localmente en sus simuladores de iOS y Android. Pero le mostraré en el libro sobre qué pasos se necesitan para evitar cometer valores secretos y claves API en el control de origen y lograr que el centro de aplicaciones reemplace esos valores por usted dinámicamente antes de cada construcción.