GithubHelp home page GithubHelp logo

willcode2surf / modernhttpclient Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anaisbetts/modernhttpclient

0.0 2.0 0.0 3.48 MB

HttpClient implementations that use platform-native HTTP clients for :rocket:

License: MIT License

modernhttpclient's Introduction

ModernHttpClient

This library brings the latest platform-specific networking libraries to Xamarin applications via a custom HttpClient handler. Write your app using System.Net.Http, but drop this library in and it will go drastically faster. This is made possible by two native libraries:

Usage

The good news is, you don't have to know either of these two libraries above, using ModernHttpClient is the most boring thing in the world. Here's how it works:

On iOS:

var httpClient = new HttpClient(new AFNetworkHandler());

On Android:

var httpClient = new HttpClient(new OkHttpNetworkHandler());

How can I use this in a PCL?

Using ModernHttpClient from a PCL is fairly easy with some rigging, especially if you've got some sort of IoC/DI setup - request an HttpClient in your PCL, and register it in your app. However, here's what you can do without any external dependencies:

// In your PCL
public static class HttpClientFactory 
{
    public static Func<HttpClient> Get { get; set; }
    
    static HttpClientFactory()
    {
        Get = (() => new HttpClient());
    }
}

// Somewhere else in your PCL
var client = HttpClientFactory.Get();

// In your iOS app (i.e. the startup of your app)
public static class AppDelegate
{
    public void FinishedLaunching(UIApplication app, NSDictionary options)
    {
        HttpClientFactory.Get = (() => new HttpClient(new AFNetworkHandler()));
    }
}

How can I use this in MvvmCross?

Check out Michael Ridland's blog post, Implementing ModernHttpClient in MvvmCross, for more information.

Building

make

modernhttpclient's People

Contributors

anaisbetts avatar nberardi avatar rid00z avatar

Watchers

 avatar  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.