iOS meeting to prepare 2.1 release
by Corinne Krych
Hello iOS world!
Our next iOS meeting we will focus on organizing 2.1 release.
Be warmed it could be a long list of JIRAs in it. For now here is a skeleton of meeting agenda (to be completed):
http://oksoclap.com/p/planning_ios_2.1
Let’s meet Tuesday 21st October 4pm (CEST - UTC + 2hours) on IRC #aerogear
See you all there.
++
Corinne
10 years, 1 month
Announcing AeroGear-iOS 2.0
by Christos Vasilakis
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
10 years, 1 month
AeroGear.js 2.0.0-beta1
by Lucas Holmquist
The first beta release of AeroGear.js 2.0 is out and ready for you to test it!
There's been a bunch of changes that could possibly break existing code as well as some things that have been removed.
Pipeline
It was deteremined that Pipeline and pipes did not add much value since it was basically a wrapper on top of jQuery Ajax.
So Pipeline and pipes have been completely removed in 2.0
If this was something that you used, they will still live on in the 1.X branch
Authentication
Similar to Pipeline, the Auth module didn't really add any value to the library, so this has also been removed.
Again It will live on in the 1.X branch
Datamanager
One of the big things that has changed in Datamanager is that it is no longer dependent on jQuery.
The other thing is that we have fully embraced es6 Promises. Which means we have removed callbacks.
For the IndexedDB and WebSQL adapters, the auto param has now been updated to default to true. This means that you no longer have to excplitly call open.
So instead of doing something like this:
idbStore.open(...).then(function () {
idbStore.read(...)
});
You can now just do
idbStore.read(...)
Ajax Promises
We also updated the internal Ajax library to just use promises also.
This is used by both the UnifiedPush SDK and the Authz OAuth2 module.
Since ES6 promises only have 1 return value we return an object with this signature:
{
data: dataOrError, - the data or an error
statusText: statusText, - the status of the response
agXHR: request - the xhr request object
};
Cookbook Examples
The cookbook examples have also been updated with the 2.0.0 beta1 version and can be found in this branch
Integration Tests
Last but not least the Integration tests have been completly reworked, thanks to lfryc!!!
The PR's for these are https://github.com/aerogear/aerogear-js-integration/pull/12
and
https://github.com/aerogear/aerogear-js/pull/150
Release Notes - AeroGear JavaScript - Version 2.0.0
Bug
[AGJS-184] - Vertx and SimplePush integration tests execution issues
Feature Request
[AGJS-201] - XMLHttpRequest#response not implemented in Sinon.JS lib & authentication unit tests fail
[AGJS-251] - DataManager - Auto connect options should default to true
Task
[AGJS-189] - Review DevDependencies Versions
[AGJS-211] - Rework Integration Tests from the ground up
[AGJS-228] - Deprecate Pipeline
[AGJS-229] - Deprecate Authentication Module
[AGJS-232] - Remove AeroGear.isArray method from core
[AGJS-233] - Remove pipeline integration tests
[AGJS-234] - Promisify Library
[AGJS-242] - Update cookbook examples with deprecation notices, etc...
[AGJS-248] - Move the SimplePush and UnifiedPush examples to the real js-cookbook
Sub-task
[AGJS-42] - Remove jQuery dependency from DataManager; embrace Promises instead
[AGJS-162] - Remove jQuery Dependency from Auth
[AGJS-212] - Update to express 4
[AGJS-231] - Update Authz cookbook example without pipeline
[AGJS-235] - Promisify Datamanager
[AGJS-236] - Promisfy Crypto
[AGJS-237] - Promisfy Notifier
[AGJS-238] - Promisfy UnifiedPush client
[AGJS-239] - Promisfy Authorization
[AGJS-240] - Promisfy SimplePush
[AGJS-243] - Add deprecation Notice for Pipeline Cookbook example
[AGJS-244] - Add deprecation notice on Auth cookbook example
[AGJS-245] - Promisify AeroGear.ajax
[AGJS-246] - Update unified push example to use just promises
[AGJS-247] - Update Datamanager example to use promises not callbacks
10 years, 1 month
database migration
by Erik Jan de Wit
Hi,
Now that we have 2 versions out of the door, when we change stuff we need an easy upgrade path. Not only for the API but also for the database. Because we support a couple of them having something of a process would help.
I’ve have used liquibase in the past. You write ‘change sets’ in yaml, json or if you must in xml, it will create a migration table in the database and execute the changes needed to bring it up to date or you can create a sql script that will do the same. Cool thing about this approach is that it’s independent of the database
http://www.liquibase.org
Another tool I’ve heard about, but also promising is Flyway. It’s supports writing migrations in sql and java comes with it’s own java api. Basically the same idea with regards to this migration table, but here you need to specify your own sql scripts. Or you can write migrations in java where having special named java class gets executed to update/migrate the data.
http://flywaydb.org
WDYT?
Cheers,
Erik Jan
10 years, 1 month