Get Updates By E-mail 

Article Written By:
Johann Dowa

Swift Based Network Abstraction Layer For Simplifying Work With Complex APIs

  •  
  •  
  •  
  •  
  •  

Earlier this month I mentioned the Swift based networking library AlamoFire created to be AFNetworking reimagined for the conventions of the Swift language.

Here’s a library from Ash Furrow created in Swift called Moya that utilizes AlamoFire providing a network abstraction layer that makes it easier to work with more complex APIs, especially those where an action can lead to different end points.

As the readme states some of the requirements for Moya that were met include:

Treat test stubs as first-class citizens.
Only allow endpoints clearly defined through Moya can be access through Moya, enforced by the compiler.
Allow iterating through all potential API requests at runtime for API sanity checks.
Keep track of inflight requests and don’t support duplicates.

And takes things a step further:

We actually go a bit farther than other network libraries by abstracting the API endpoints away, too. Instead of dealing with endpoints (URLS) directly, we use targets, which represent actions to be taken on the API. This is beneficial if one action can hit different endpoints; for example, if you want to GET a user profile, but the endpoint differs depending on if that user is a friend or not.

You can find Moya on Github here.

An interesting library for those working with complicated web APIs.


  •  
  •  
  •  
  •  
  •  

Submit A Resource

Have you created a useful tutorial, library or tool for iOS development that you would like to get in front of our 300,000+ monthly page views from iOS developers?

You can submit the url here.

The resources we feel will appeal to our readers the most will be posted on the front page.

Comments