hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject Re: HttpClient in Android
Date Thu, 18 Mar 2010 19:55:16 GMT
Jesse Wilson wrote:
> Oleg,
> I'm quite sorry that Android included an unreleased rev of Apache HTTP
> client, and I suspect we'll be paying for that mistake for quite a while.
> Because of the strict compatibility requirements of our platform, we will be
> unable to make forwards-incompatible API changes to the HTTP code. Unlike
> your desktop and serverside users, including the API as a part of the core
> platform significantly reduces our ability to make API changes.
> These days we aren't spending much time on the HTTP client code. Our users
> seem to be mostly satisfied with the ancient version in the SDK, and have
> been directing their complaints elsewhere (crypto, locales, XML...).
> That said, we do want to figure out a long term strategy for an HTTP client
> API that will work for both us and the Apache HTTP client team. We're
> considering a variety of options...
>    - Discouraging our users from using the built-in Apache HTTP client,
>    preferring the JDK's own URLConnection classes. Whether this is feasible
>    depends mostly on whether the new APIs in Java 6 (which we're working on)
>    will satisfy the use cases that Apache HTTP client has covered for years.
>    - Replacing the Apache HTTP client API with a 3rd API in a "com.google"
>    or "android." package. Such an API would likely be based on parts of your
>    own code, but with a more limited API.
>    - Tidying up the version of Apache HTTP that we're already stuck with.
>    This includes deprecating APIs that shouldn't have ever been exposed as
>    public, and possibly filling in any gaps using newer code from your project.
> But none of this work is particularly urgent since we're actively fighting
> fires in other areas of the core libraries.
> Cheers,
> Jesse


The current snapshot of HttpClient 4.x still maintains API compatibility 
with the version shipping with Android.

It would be truly, truly sad if Google chose to deprecate HttpClient or 
replace it with some other API. Whatever reason and intent this decision 
could be based upon, that would be quite a setback for us as a project.

We had to rush the 4.0 API freeze per agreement with Bob Lee to be in 
time for the first official Android release. So, we were stuck with that 
API baseline ever since, even though I often wished we still had freedom 
to make some tweaks to it. Nonetheless, we kept out side of the deal. 
The initial plan and the expectation on our part was that Google would 
sync up with our code line once HttpClient 4.0 was officially released. 
Sadly, that did not happen.

I understand that in the grand scheme of things we are very small. Now 
that Android is a major success we are no longer needed.


> On Tue, Mar 16, 2010 at 2:45 AM, Oleg Kalnichevski <olegk@apache.org> wrote:
>> Hi Jesse
>> As far as I know Android still ships with a very old, pre-BETA version
>> of HttpClient 4.0. There have been numerous changes in the HttpClient
>> main code line, which, sadly, have not been picked up by Android. My
>> main concern is that the more two code lines stay out of sync, the more
>> they deviate from one another the more difficult it may become for you
>> to rebase your code line to the latest snapshot upstream.
>> We have also been deprecating code in HttpClient. At some point of time
>> I would like to start removing old code that has been deprecated for a
>> couple of GA releases. Since you have been skipping releases it will be
>> impossible to remove deprecated code without breaking API compatibility
>> with the version of HttpClient shipped with Android.
>> Could you please share with us your plans regarding HttpClient and let
>> us know whether you intend to upgrade to the latest 4.0.x release at
>> some point?
>> Cheers
>> Oleg

To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org

View raw message