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
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.
Oleg
On Tue, Mar 16, 2010 at 2:45 AM, Oleg Kalnichevski <[email protected]> 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: [email protected]
For additional commands, e-mail: [email protected]