OkHttp
Square’s meticulous HTTP client for the JVM, Android, and GraalVM. (by square)
Finagle
A fault tolerant, protocol-agnostic RPC system (by twitter)
Our great sponsors
OkHttp | Finagle | |
---|---|---|
37 | 22 | |
43,733 | 8,504 | |
0.3% | 0.2% | |
9.1 | 9.4 | |
3 days ago | 18 days ago | |
Kotlin | Scala | |
Apache License 2.0 | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
OkHttp
Posts with mentions or reviews of OkHttp.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-06.
-
What stack to use for app with functionality like event calendar?
Retrofit in combination with OkHttp for fetching data from server (which hopefully already exists)
- Generate Kotlin client for a complex web API
-
Modern Android Development in 2023
OkHttp
-
Is it acceptable to use mock servers, like Postman, for testing in Android?
Being more familiar with Android development only, I mainly use https://github.com/square/okhttp/tree/master/mockwebserver
-
Best libraries for Android Developers
Retrofit is the best library that lets you connect to HTTP-based API services from your Android applications. It leverages the OkHttp library’s core functionality, adding a bunch of features to it while eliminating the boilerplate code.
-
How to use Cronet Engine for API calls? Any simple repo for it to understand?
Use Retrofit or anything else that builds on OkHttp. If you do end up needing some features that Cronet supports but OkHttp doesn't (such as HTTP/3), just write an interceptor or use google/cronet-transport-for-okhttp.
-
IPv6 Support on Android
Even as of 2022, there are networks out there that have broken/misconfigured IPv6, and there most likely always will be. Some wireless carriers and ISPs support it, but in some cases, people have old or improperly-configured routers and devices. Patchy IPv6 support is less of a problem on iOS and the web these days since those clients have support for dynamically falling back on IPv4 when IPv6 fails. After more research, we realized that Android didn’t have this “dual-stack” IP support, and neither did our preferred networking library, OkHttp. This explained why the content-loading issues only surfaced on Android, and why it took some additional digging to uncover the root cause.
Working with the reddit infrastructure team, we did more testing and built high confidence that this last IPv6 theory was indeed the cause of users’ content-loading problems. We assessed our usage of OkHttp and checked if there were any upcoming plans to improve support. OkHttp did have an open ask for “Happy Eyeballs” #506, but no known plans to implement it. Out of due diligence, we also assessed other network libraries– but knew that moving off OkHttp would be a radical change, indeed. We read the RFC 8305, “Happy Eyeballs algorithm for dual-stack IPv4/IPv6”, and thought “wow, we don’t want to implement this ourselves.” And as we were studying that open OkHttp issue and thinking “If only they would…”
-
App Flow of an Android App?
Your app would request data from the backend inside it's domain layer. As the other commenter mentioned, Retrofit is a commonly used library for interfacing with REST APIs, which is built on top of OkHttp (a more generic HTTP client).
-
Watery : A water delivery solution android app
OkHttp
Finagle
Posts with mentions or reviews of Finagle.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-31.
-
Twitter (re)Releases Recommendation Algorithm on GitHub
Don't really see how "enterprise scala" has anything to do with this, scala is meant to be parallelized , that's like it's whole thing with akka / actors / twitter's finagle (https://twitter.github.io/finagle/)
-
Introduction to Bazel for Scala developers
Thank you. I only took a quick look, but this looks like a goldmine of info if you are interested in using bazel to build a scala monorepo: https://github.com/twitter/finagle
-
Server Stack Options for Scala
Finagle
-
Elon: "[Twitter's] recommendation algorithm was using absolute block count, rather than percentile block count, causing accounts with many followers to be dumped, even if blocks were only 0.1% of followers."
And the engineering team are far from imbeciles because they built one of the worlds' best cache and RPC microservice components. As well as the fact that up until Musk took over the website was running just fine (other than your issue with product decisions).
-
Pretty incredible thread where Elon confuses how GraphQL works, thinks the Android client itself is making one thousand requests, and then publicly fires an employee who corrects him.
Bro it's their fucking project lolhttps://twitter.github.io/finagle/
You can even see it mentioned in Finagle's project, which is what Twitter uses https://twitter.github.io/finagle/
-
Elon Musk publicly feuding with and firing his developers on Twitter
RPC generally means server side calls, probably this https://twitter.github.io/finagle/, and XHR is not RPC.
-
You worked on it? Why is it slow then?
Twitter is a Scala shop and specifically uses Finagle - a homegrown RPC framework based on Apache Thrift. https://twitter.github.io/finagle/
-
At what point does an unstable company become a risk in your tech stack? (more Twitter fallout)
We use Twitter Finagle. Coupled with some other bits, we are running our company's most critical services on top of it. The announcement that 50% of Twitter's workforce is being let go has us seriously concerned that our core infrastructure will be running on unmaintained software.
-
What is a service mesh?
When breaking up a monolithic app into microservices, the communication between these services becomes vital to the health and performance of the application. Technically, you could incorporate the features to manage this traffic directly into your application. This is what Twitter, Google, and Netflix did with massive internal libraries like Finagle, Stubby, and Hysterix.
What are some alternatives?
When comparing OkHttp and Finagle you can also consider the following projects:
unirest-java - Unirest in Java: Simplified, lightweight HTTP client library.
Async Http Client - Asynchronous Http and WebSocket Client library for Java
Netty - Netty project - an event-driven asynchronous network application framework
Retrofit - A type-safe HTTP client for Android and the JVM
Android Volley
gRPC - The Java gRPC implementation. HTTP/2 based RPC
android-async-http - This project under develop
okio - A modern I/O library for Android, Java, and Kotlin Multiplatform.
Dubbo - Apache Dubbo is a high-performance, java based, open source RPC framework.
Akka - Build highly concurrent, distributed, and resilient message-driven applications on the JVM