January 30, 2012
Updates to Some Libraries
With changes that have been happening in my life, specifically going back to school to get a doctoral degree, I find that I am no longer able to support the full suite of QC libraries. The QuickConnect Hybrid framework will now be the only one I am supporting.
When I am done with the degree I will again be supporting the other libraries. There is only so much time in the day.
The other libraries, such as enterprise sync, QCJSON, QCNative, etc. are and will still be available for download from source forge.
Thank you,
Lee Barney
January 10, 2012
Current Beta
The latest release of QC is in beta stage and is proceeding apace. This beta includes optimizations of the communication layer between the JavaScript and the native sides for both iOS and Android. It is much more responsive but requires a large amount of testing since it is a major change.
Another change is the Xcode 4 template that easily allows you to easily create iOS and Android applications from the same project. This is in final dev-test.
Additionally there will be some new functionality that allows you to generate multiple views from within JavaScript, size them, and indicate where they should display on top of the base web view. Such views can be other web views, image views, document views, etc.
The time required by my work on my doctoral degree has slowed the release process but work continues. It just can’t be done quite as quickly as it was before I started the program.
VTM Developer Conference http://bit.ly/rwjFgk
I will be speaking at the Voices Android Developers Conference in February. I’d love to meet you there. Use this priority code ANDSP34 and save $200 + Early Bird price thru Jan 13
I’ll be speaking about hybrid application development.
September 10, 2011
At Last!!!
At long last (big sigh of relief here by me) QuickConnectFamily 2.1 is finally available for download. It involved a lot of work by many people and has come together well. There are some big changes for both the iOS and Android platforms. These enhancements and changes have been driven by requests from developers like you.
Both:
- This one is BIG. The JavaScript functions now exist inside the qc name space. In other words where you would have used the handleRequest method it is now the qc.handleRequest method. The old behavior is deprecated.
- Another BIG one. In order to make the Control Function code more readable and more easily comprehended for those new to the framework all Control Functions MUST return one of the following three values (see the documentation for more information):
- qc.STACK_CONTINUE – This instructs the framework to execute the next control function in the stack.
- qc.STACK_EXIT – This instructs the framework to terminate all further stack execution.
- qc.WAIT_FOR_DATA – This instructs the framework that a call to database or remote data has been made or a call to device specific behavior such as showing a map, displaying the camera, email editor or other native behaviors.
- Work has been done to improve the asynchronous call stability in the underlying framework. (Thank you to the team at affinityAmp).
- Miscellaneous bug fixes and enhancements.
Android:
- Bug fixes
- Expanded database support and fixes
- A major rework of the underlying Android Java code to make it match the design changes in iOS. This is in preparation for QC Plugins and some new features such as ‘window-in-window’ that will be part of the next release as a Plugin. The ‘window-in-window’ code is in there now but not official until it is converted to a plugin and the same behavior is available for iOS.
- Added a hybrid sqlite database example
iOS:
- Bug fixes
- Removed the native footer code since libraries for scrolling and others such as Sencha, JQTouch, etc. are now of good quality.
- QC Family Hybrid Plugin API and design spec completed. There is an example of how you can add to QC on your own. If you thing these additions could be useful to others you are free to charge for them, or not, host them yourself, notify me and I will add them to the plugin list on the QC plugin site. If you are willing to donate them to the QC community send them to me for review and I will put them into the git repository and list them on the QC plugin site.
- Updated all the examples to use the new return values and the new qc name space.
August 16, 2011
QC DBSync version 1.3 available
For those of you needing a native database synchronization tool version 1.3 of QC DBSync is now available. It includes minor functionality and API upgrades on the iOS side, an example service written in PHP is included in the download.
QC Native 1.3 available
For those of you doing native, not hybrid JavaScript, development with QC I have uploaded a new version of QC Native. It rationalizes the differences between the Java and iOS versions making the APIs nearly identical. I have also updated the API Docs for Android, created API Docs for iOS, and included both in the downloads as well as the QC Family web site.
The download now includes a SimpleDB example for both Android and iOS. The example inserts values into the database, queries values from the database, and can do an HTTP GET. The iOS database interactions show how to use CoreData. I will soon (by the end of the month??) have an example using the Android ORM I’m developing.
Still working on that QC Hybrid release. It is getting really close. More on that later.
August 11, 2011
Android Developer Conference
Get a discount for AdDevCon II coming up on November 6 – 11. You can use my last name (Barney) as a discount code and get $200 off the registration price. I’d love to meet you there.
http://www.andevcon.com/AndevCon_II/index.html
Lee
August 2, 2011
Android ORM (Object Relational Management)
For quite some time I have been thinking about what a good ORM library should look like. I haven’t had any time to design and create it until now because of the university classes I’ve been teaching and supporting and completing the other QuickConnect Family projects. For the last couple of days, since school is now out for the summer, I have been making a cut at it.
I am very pleased. I have a very functional and easy to use implementation. It avoids the pitfalls that Hibernate made back in the day when it was designed and it avoids mistakes made by Apple when the created CoreData.
You don’t need any annotations. You don’t need any HQL like language for queries.
Even better it is only 16K in size! I was surprised but pleased at how little code was required.
It is untested at the moment but you can see what the code looks like if you download the source from sourceForge using git.
https://sourceforge.net/scm/?type=git&group_id=508843
I hope to have an example working soon and want to create a GUI front end to make use even easier. This GUI will create your SQLite tables for you and put everything together you need in one jar file.
What fun.
August 1, 2011
QCDBSync 1.2 now available
This posting is about the QCDBSync library. For more information about QCDBSync go to:
http://www.quickconnectfamily.org/qcdbsync/
For those of you doing native development in iOS and Android a new version of QCDBSync is now available for download from its sourceforge site.
https://sourceforge.net/projects/qcdbsync/
This version adds the iOS version and its documentation to the download. You will no longer need to use git to use QCDBSync on iOS. It also adds delete functionality to the iOS version that only the Android version had before.
The iOS version is now much easier to use as well. Less work on your part, more functionality, must be good. Right?
June 15, 2011
New Version of QC Native Available
I have just completed an update to QC Native for those of you who are doing native Android and/or iOS development. Download it from here: http://goo.gl/P7s6D
If you are using QC Hybrid to write your app in JavaScript you can safely ignore this update. There will soon be a new version of QC Hybrid for you to use with several updates that I’m dying to get out to you.
As with the previous version of QC Native all threading is done for you. ValCO’s and BCO’s will run in a background thread and VCO’s will run in the UI thread on Android, JavaSE, and iOS. No threads will be used when you use the qc.jar file in an Enterprise Java environment since they are not needed there.
The Control Objects in QC Native now use HashMap/NSMutableDictionary instead of ArrayList/NSArray. This allows you to have more control over the data used in your Control Objects. Another change is that you now add the results of your calculations in your BCO’s, ValCO’s, and VCO’s to the parameters HashMap/NSMutableDictionary instead of returning them from your handleIt methods. Now you return null to terminate a control stack and any value to continue.
This change will give us a strong base to build on for the foreseeable future for both the native and hybrid libraries.