Sunday, June 30, 2013

Google .Net API's go portable... The v1.4.0 Google APIs .NET library is now a Portable Class Library (PCL) And now uses TPL and the new HttpClient lib too

google-api-dotnet-client Announcements - Announcing the release of 1.4.0-beta

We are excited to announce the Google APIs .NET library 1.4.0-beta release.

There are amazing new features in this release, the library was upgraded to support .NET 4.0, and the core Google.Apis assembly is now a Portable Class Library (PCL, see below). We support now HttpClient as our transport layer and TPL for asynchronous tasks. Resumable upload was also improved and media download support was added to the library.

For users who run on .NET 3.5 or earlier versions of .NET framework, release 1.3.0 is still available for you to download from: https://google-api-client-libraries.appspot.com/download/library/[API_NAME]/[API_VERSION]/csharp?lv=1.3.0-beta.

For example to download the Blogger API library that works with 1.3.0-beta, use the following link -  https://google-api-client-libraries.appspot.com/download/library/blogger/v2/csharp?lv=1.3.0-beta
All the new generated APIs can be downloaded from: http://code.google.com/p/google-api-dotnet-client/wiki/APIs

The release highlights:

Portable Class Library (PCL)

From this release, the Google.Apis core assembly is a PCL.

Portable Class Libraries support cross-platform development of .NET Framework apps. Use PCL to write and build portable assemblies that work without modification on multiple platforms, such as Windows 7, Windows 8, Silverlight, Windows Phone, and Xbox 360. ...

HttpClient

HttpClient provides developers an extremely simple programming interface to connect to services across the internet including REST-based services. It is part of .NET framework 4.5, but we use a .NET 4.0 PCL version using NuGet (which is available here).

In addition HttpClient exposes the new Task based asynchronous methods, which makes writing responsive and performant UI applications across all platforms a lot simpler....

...

Breaking changes in ClientServiceRequest...

Media Upload and Download...

Service names...

...

NuGet

From this release, we support NuGet for managing our 3rd party dependencies. You can also use the assemblies in the bundle (for .NET 4.0 full profile only), although our recommendation it to use NuGet.

Follow our Build wiki page for more details regarding building your project with or without NuGet.
* Notice that the Google packages are NOT served by NuGet, but it is scheduled to be in the future.

While I'm not really a happy google camper this second, this IS a great move by them. I'm really happy to see them continue in this investment and how they've moved to PCL. This should REALLY help in making Google reading/consuming/producing app's for most of the Windows platforms MUCH easier.

 

(via Bnaya Eshet - Google API)

2 comments:

j said...

It would seem that depending on HttpClient prevents this from running on Linux and Android due to license restrictions.

Greg said...

So Phil Haack has recently pointed out...

But then again, I don't think that's the target for this.

"...without modification on multiple platforms, such as Windows 7, Windows 8, Silverlight, Windows Phone, and Xbox 360..."

But anyway, good point that it's important to confirm all licensing for all components you use.