Exercise for fetching data from PokeAPI in Swift & UIKit

Pokemon_UIKit

This is a sample Project for fetching data from PokeAPI in Swift & UIKit

  • This Application is full written in Swift.
  • UI has been implemented implemented with UIKit.
  • The http client for API requests leverage the latest Swift Concurrency Features (Async-Await/Actors) because of that, all async methods can potentially been suspended awaiting results, this implies also a better reading and reasoning compared to the traditional callbacks.
  • Images are downloaded with a basic caching system implemented inside Http Client for avoid useless downloads and data consumption.
  • Because the pokemon count amount to 1154, is unrealistic to download everything in one shot, so it has been implemented also a pagination system, that download other pokemons while scrolling.
  • Furthermore with withThrowingTaskGroup we are able to download data in parallel instead of a sequential async requests.
  • PokemonManager is an observable object just because is shared with the SwiftUI version of the same project that you can fine here

GitHub

View Github