Giter Club home page Giter Club logo

agavgar / practica_dispatrones_agga Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 29.58 MB

En esta práctica desarrollo una app con lenguaje swift bajo el patrón de diseño MVVM (Model View viewModel). Para su elaboración se consumido la API de Dragon Ball para realizar llamadas de red usando #Xcode, #Swift, #UIKit, #MVVM, #Encoder, #API

Swift 100.00%
mvvm swift5 uicollectionview uikit uitableviewcell uitableviewcontroller uitableviewdatasource uitableviewdelegate xcode xctest

practica_dispatrones_agga's Introduction

Práctica para el módulo Patrones de diseño de Keepcoding.

En esta práctica desarrollo una app con lenguaje swift bajo el patrón de diseño MVVM (Model - View - ViewModel). Para su elaboración se consumido la API de Dragon Ball para realizar llamadas de red. Solamente he añadido de imagen, las capturas que difieren del proyecto anterior. He rediseñado las table y las celdas buscando otro aspecto gráfico nuevo que tener.

Resultado: APTO

Simulator Screenshot - iPhone 15 - 2024-01-28 at 14 43 1 Simulator Screenshot - iPhone 15 - 2024-01-28 at 14 43 2 Simulator Screenshot - iPhone 15 - 2024-01-28 at 14 43 3

Breve descripción

Es una app focalizada en Dragon Ball. Ya que su historia tiene muchos personajes interesantes, esta app nos muestra una lista de muchos personajes y sus numerosas transformaciones. Todo ello haciendo una llamada a un useCaseGenerico que se ocupa de gestionar todas las llamadas a la API siendo genérico donde todas las llamadas las gestionamos desde le viewModel de cada pantalla. Al final se trata de la siguiente navegación: vieWModel tiene la funcion que recupera el objeto y luego se lo enviamos a la vista a travñes de estados y llamadas asíncronas.

Guía de instalación

Simplemente debemos descargarnos el prouyecto en ZIP o en HTTP y clonar el repositorio. Luego ejecutar el archivo del proyecto de xCode y con pulsar al play tendremos la aplicación funcionando. Solo usuarios con MAC y xCode instalado. TESTADO EN IPHONE XR.

Experiencia

El proyecto se ha reecho entero, empezandose de 0 y no cogiendo la base de la práctica anterior. Al principio me parecía un poco confuso lo de manejar la lógica a través de otras clases pero a medida que más pantallas haces, te das cuenta que es un proceso increiblemente agil para desarrollar todo y es muy sencillo encontrar los errores de primeras. Digamos que para una app así, quizás no sea la mejor opción pero entiendo el potencial del patrón MVVM y sin duda saerá con el que trabajaré en un futuro. He tenido la posibilidad de hacer el trabajo solo con UITableViewController pero como reto personal he querido realizarlo usando los dos tipos de tablas que tenemos en mópvil, usando Collections y Tablas. Lo demás es azucar sintáctico y mucho cariño!

practica_dispatrones_agga's People

Contributors

agavgar avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.