Xamarin Form Prism (Sin Extension Template)

primslib

Este post vamos a crear un proyecto de Xamarin Form e implementaremos el Framework Prism sin necesidad de hacer uso del Extension Template que nos suministra la documentación oficial.

Que es Prism?
Prism es un framework para construir aplicaciones XAML libremente acopladas, mantenibles y comprobables en WPF y Xamarin Forms. Hay versiones separadas disponibles para cada plataforma y se desarrollarán en líneas de tiempo independientes. Prism proporciona una implementación de una colección de patrones de diseño que son útiles para escribir aplicaciones XAML bien estructuradas y mantenibles, que incluyen MVVM, inyección de dependencia, comandos, EventAggregator y otros.

Su creador es Brian Lagunas.

Que es MVVM?
El patrón modelo–vista–modelo de vista (Model View ViwModel) es un patrón de arquitectura de software. Se caracteriza por tratar de desacoplar lo máximo posible la interfaz de usuario de la lógica de la aplicación.

Modelo: Representa la capa de datos y/o la lógica de negocio, también denominado como el objeto del dominio. El modelo contiene la información, pero nunca las acciones o servicios que la manipulan. En ningún caso tiene dependencia alguna con la vista.

Vista: La misión de la vista es representar la información a través de los elementos visuales que la componen. Las vistas en MVVM son activas, contienen comportamientos, eventos y enlaces a datos que, en cierta manera, necesitan tener conocimiento del modelo subyacente.

Modelo de Vista: El modelo de vista es un actor intermediario entre el modelo y la vista, contiene toda la lógica de presentación y se comporta como una abstracción de la interfaz. La comunicación entre la vista y el viewmodel se realiza por medio los enlaces de datos.


Una vez que entendemos lo anterior, empezaremos a trabajar con nuestro proyecto.

Vamos a crear un proyecto Xamarin Form en blanco, que nos quede de la siguiente manera.

Vamos a Eliminar los archivos MainPage y AssemblyInfo.cs y crearemos nuestra estructura MVVM tan solo añadiendo tres carpetas con los nombres Models, Views y ViewModels, nuestro proyecto nos quedara de la siguiente manera.

Ahora vamos a abrir nuestro Manejador de Paquetes (NuGet Package Manager), haciendo click derecho en la solución > click en Manage NuGet Package for Solution y en la pestaña Buscador (Browser), buscaremos el siguiente paquete: Prism.Dryloc.Forms e instalaremos en los todos los proyectos que tenemos.

Vamos a ir a nuestro archivo App.cs y vamos a reemplazar el código que tiene actual con el siguiente: En nuestro archivo App.xaml vamos a reemplazar el codigo con el siguiente. Ahora iremos a nuestro proyecto en Android y agregaremos las siguientes lineas de código en nuestro MainActivity.cs, la primera linea que esta en el código a continuación, reemplazara la linea ya existente LoadApplication(new App()); por la que muestro, se ubica dentro del metodo OnCreate y la clase que muestro se agregara dentro de la clase MainActivity. Seguimos con nuestro proyecto iOS con el archivo AppDelegate.cs y añadiremos las lineas de código que siguen a continuación, siguiendo pasos similares al del proyecto en Android, la primera linea ira dentro del método FinishedLaunching y reemplazara la linea ya existente LoadApplication(new App()); por la que indico mas abajo y la clase iOSInitializer ira dentro de nuestra clase principal AppDelegate. Hasta aqui, ya tenemos la base principal para empezar a trabajar con nuestro proyecto utilizando Prism, a continuacion les enseñare como agregar las vistas y los modelos de vista , para todo esto, antes vamos a crear una clase dentro de la carpeta ViewModels y lo nombraremos ViewModelBase.cs, agregaremos el codigo siguiente a nuestra clase. Habiendo hecho esto, vamos a crear nuestra vista, dentro de la carpeta Views y esta la nombraremos MainPage, el tipo de archivo sera Content Page, lo único que modificaremos aquí, es que en la propiedad Title del Content Page, vamos a hacer un Binding: Title:”{Binding Title}” y listo, lo dejaremos lo restante tal cual. Dentro de la carpeta ViewModels agregaremos una clase llamada MainPageViewModel.cs y debe añadiremos las siguientes lineas. Ahora solo nos falta agregar nuestra vista y agregarle su modelo de vista desde nuestro archivo App.cs y dentro de nuestro método RegisterTypes agregaremos la siguiente linea de código. Y ahora si, ya podremos ejecutar nuestra aplicación y fijarnos en nuestro NavBar, ahí nos debería aparecer, el titulo que le agregamos desde el constructor de nuestra clase ViewModel que asignamos para MainPage.

Esto ha sido todo para empezar a trabajar con Prism sin necesidad de hacer uso del Extension Template, si te ha gustado el post, recuerda dejar un comentario para saber que te gusta y seguir creando mas contenido, hasta el próximo post.

1,533 thoughts to “Xamarin Form Prism (Sin Extension Template)”

  1. This is really interesting, You are some sort of very skilled blog owner.
    I have joined up with your feed in addition to look toward looking for more of your wonderful post.
    In addition, I? ve distributed your website inside my internet sites!

    먹튀검증

  2. Pingback: cialis wikipedia
  3. İnstagram takipçi satın alma konusunda türkiye’nin lider sosyal medya ajansını denediniz mi? Sizde instagram takipçi satın al hizmetini ucuz bir şekilde kullanmak için hemen takipçi satın alabilirsiniz. Türk, gerçek, aktif, güvenilir ve en ucuz instagram takipçi satın alma hizmeti ile yükselişe geç. İnstagram takipçi satın al ve takipçini rakiplerine oranla arttır.

  4. Heya i am for the primary time here. I came across this board and I in finding It really helpful & it helped me out a lot.
    I hope to present something back and help others such as you aided me.

  5. Takipçi satın almanın keyfini instagram takipçi satın alma sitesi ile yaşayın. İnstagram takipçi satın alma son zamanlarda çokça tercih edilmektedir. İnstagram takipçi satın almak için bizi tercih etmeniz için sebepler; Güvenilir takipçi satın alma sitesi, ucuz instagram takipçi satın alma ve 7/24 instagram takipçi satın alma hizmeti sunmaktadır.

  6. İnstagram takipçi satın al hizmeti ile takipçi sayını arttırmaya başla! Türkiye’nin en güvenilir instagram takipçi satın alma sitesi ile takipçi sayınızı arttırmak çok kolay. Güvenilir ve ucuz instagram takipçi satın alma paketleri sunan sitemiz ile güvenilir bir şekilde hesabını yükselişe geçir! İnstagram güvenilir takipçi satın almak için sitemizi ziyaret edin.

  7. İnstagram hesabınızı canlandırmak için, türk takipçi satın alma sitemizi ziyaret edebilirsiniz. En güvüvenilir ve en hızlı şekilde siparişleriniz tamamlanmaktadır. Faturalı hizmet ile resmi bir şekilde takipçi satın alabilirsiniz. İnstagram 100, 500 veya 1000 takipçi paketlerinden hesabın için seçim yap ve takipçi satın al.

  8. İnstagram takipçi satın alma konusunda türkiye’nin lider sosyal medya ajansını denediniz mi? Sizde instagram takipçi satın al hizmetini ucuz bir şekilde kullanmak için hemen takipçi satın alabilirsiniz. Türk, gerçek, aktif, güvenilir ve en ucuz instagram takipçi satın alma hizmeti ile yükselişe geç. İnstagram takipçi satın al ve takipçini rakiplerine oranla arttır.

  9. İnstagram takipçi satın alarak takipçi sayınızı arttırmak sandığınızdan çok daha kolay. Websitemizi ziyaret edin ve takipçi satın almak için paketinizi seçin. Ödeme yöntemlerinden dilediğinizi seçerek, güvenilir instagram takipçi satın alın. Hadi sende gel ve takipçi satın alarak, takipçi sayını arttır.

  10. İnstagram organik Takipçi satın al hizmetimiz ile hesabını yükselişe geçirmeye hazır ol! Güvenilir, ucuz ve organik instagram takipçi satın al hizmeti sunan sitemiz ile kaliteli takipçi satın alma paketlerinin tadını çıkar. İnstagram takipçi satın al hizmetimizi kullanmaya başlamak için 4 yıldır hizmet verdiğimiz instagram takipçi satın alma sitemizi ziyaret edebilirsiniz.

  11. İnstagram’da yükselişin kolay yolu takipçi satın almak. Sizde hesabınızı daha hızlı bir şekilde yükseltmek için instagram takipçi satın alabilirsiniz. Websitemizi ziyaret ederek, bizimle daima iletişime geçebilir ve instagram takipçi satın alma işleminizde yardım alabilirsiniz.

  12. Howdy! This post could not be written much better!
    Going through this post reminds me of my previous roommate!
    He constantly kept preaching about this. I will forward
    this article to him. Fairly certain he’ll have a great read.
    Many thanks for sharing!

  13. I really love your site.. Great colors & theme. Did you build this website
    yourself? Please reply back as I’m looking to create my very own blog
    and would love to learn where you got this from or just what the theme
    is called. Many thanks!

  14. Its like you learn my thoughts! You seem to know so much about this, like you wrote the guide in it or
    something. I believe that you could do with some percent to force the message house a
    bit, however instead of that, this is great blog.

    An excellent read. I will definitely be back.

  15. It’s actually a great and helpful piece of info. I’m glad that you just shared this helpful information with us. Please keep us informed like this. Thank you for sharing.|

  16. It’s appropriate time to make some plans for the future and
    it is time to be happy. I have read this post and if I could I want to suggest you some interesting things or advice.
    Perhaps you could write next articles referring to this article.
    I want to read more things about it!

  17. I truly love your site.. Great colors & theme.
    Did you create this amazing site yourself?
    Please reply back as I’m hoping to create my
    very own site and would love to know where you got this
    from or just what the theme is named. Kudos!

  18. Hi, Neat post. There is an issue with your website in web explorer, may check this?
    IE still is the marketplace chief and a huge part of people
    will omit your wonderful writing because of this problem.

    Also visit my site … Solvolt

  19. It’s really a nice and helpful piece of information. I’m satisfied that you simply
    shared this helpful info with us. Please stay us up to date like this.
    Thanks for sharing.

  20. Hello there, just became aware of your blog through Google,
    and found that it’s really informative. I’m gonna watch out for brussels.
    I’ll be grateful if you continue this in future. A lot of people will be benefited from your writing.
    Cheers!

  21. A person essentially help to make critically articles I’d state.
    That is the first time I frequented your website page and up to now?

    I surprised with the research you made to create this actual publish incredible.
    Great process!

  22. Link exchange is nothing else however it is simply placing the other person’s webpage link on your page at proper
    place and other person will also do similar in favor of you.

  23. I don’t know if it’s just me or if perhaps everybody else experiencing issues with your blog.
    It appears like some of the written text within your content are running off the screen. Can someone else
    please provide feedback and let me know if this
    is happening to them too? This may be a problem with my internet
    browser because I’ve had this happen previously.
    Thanks

  24. Wow, superb blog layout! How lon have you been blogging
    for? you make blogging look easy. The overawll lolk off your web site
    is excellent, let alone the content!
    Payday Loans Online USA homepage Payday Loans Online In USA

  25. Hey! I know this is somewhat off topic but I was wondering if you knew where I could find a
    captcha plugin for my comment form? I’m using the same blog platform
    as yours and I’m having problems finding one? Thanks
    a lot!