Hi all,

today we are proud to announce AeroGear-iOS 2.0 codename ‘Swift’. It was not long time ago, at WWDC 2014, where Apple announced the Swift programming language and took developers by surprise, and for a good reason. It provides a modern and familiar syntax that borrows proven concepts from various languages (including functional ones). Developers who were reluctant to try objective-c because of it’s C and C++ heritage and it’s somehow ‘obscure' syntax, now have a reason to look again (and judging from their responses liked what they saw)

As apple stated in their blog [1]

"Swift is ready to use today, in brand new apps or alongside your proven Objective-C code. We have big plans for the Swift language, including improvements to syntax, and powerful new features..“

We immediately understood the importance of the new language and jumped in. Today we are releasing the first 'fruits' of our endeavour, and in particular:

- aerogear-ios-http [2]
  A networking library built on top of NSURLSession offering a convenient API for accessing RESTful services, performing download/upload (including multipart) as well as extension points to provide your own serialisers for request / response (with JSON serialisers be the default)
- aerogear-ios-oauth2 [3]
 An OAuth2 module build on top of 'aerogear-ios-http’  supporting common providers such as Google, Facebook and our own JBoss solution Keycloak[4] . A pluggable system is also provided so external developers you plug-in their own support for their favorite provider. You can read more of this integration (including a screencast) on the excellent blog post written from my friend Corinne [5]
-aerogear-ios-push [7]
 If you are using AeroGear Unified Push Server[8] and our iOS push-sdk in your objective-c applications, we are happy to announce that we have ported the SDK to Swift including all our demos[9] and quick starts[10]. No more messing with 'Bridging Headers' and the like. Just drag and drop the framework in your own application and you are ready to go.
-aerogear-ios-httpstub [11]
A handy networking stub library written entirely in swift developed to support our efforts, but it can be possible proved useful in your own projects too.

Now, regarding our 1.6.x branch of aerogear-ios we have decided to cease the development of that branch (apart from critical bug fixes) and focus all our efforts in porting the libraries to Swift. Already the base functionality has been ported (and hopefully improved) but we still have a long way to go. Most importantly our OTP and Crypto functionality libraries haven’t been ported yet (but we are planning to), but still they are useful on their own right in your objective-c projects (or in Swift if you decide to go with a mixed environment)

Last but not least,
Swift as a language is improving rapidly and only recently has been tagged as an 1.0 release[12]. Real world usage though showed that still has a long way to go. As an iOS team though we will work hard to update our ‘current’ and ‘future’ libraries with latest developments so expect to see frequent releases in that front.

So give our libraries and demos[13] a try, we will be happy to hear your thoughts and suggestions.

Enjoy!

++
Corinne && Christos


[1] https://developer.apple.com/swift/blog/?id=2
[2] https://github.com/aerogear/aerogear-ios-http/tree/0.1
[3] https://github.com/aerogear/aerogear-ios-oauth2/tree/0.1
[4] http://keycloak.jboss.org
[5] http://corinnekrych.org/2014/10/aerogear-with-keycloak-oauth2-friends.html
[7] https://github.com/aerogear/aerogear-ios-push/zipball/2.0.0
[8] http://aerogear.org/push/
[9] https://github.com/aerogear/aerogear-push-helloworld/tree/swift/ios-swift
[10] https://github.com/aerogear/aerogear-push-quickstarts/tree/swift
[11] https://github.com/aerogear/aerogear-ios-httpstub/tree/0.1
[12] https://developer.apple.com/swift/blog/?id=14
[13] https://github.com/aerogear/aerogear-ios-cookbook