September 10, 2011

At Last!!!

Posted in Android Development, iPhone development tagged , , , , , , , , , , , , , , , at 10:29 pm by tetontech

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.
Now that this is out I will be creating a Key/Value store for Android and presenting it at the next AnDevCon.  I’m also looking forward to adding Android build support back into the QC Hybrid build process so you can write your app once yet build and run it in the iOS simulator and the Android emulator with one click.
As always I hope this is helpful for you.  I enjoy working on QC and hope to be able to do so long into the future.  If you find any issues please let me know via the google group.
Lee

August 16, 2011

QC Native 1.3 available

Posted in Uncategorized tagged , , , , , , , , , , at 3:30 am by tetontech

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.

January 15, 2011

QuickConnectFamily 1.6.7 Available

Posted in Android Development, iPhone development tagged , , , , , , , , , , , , , , at 11:14 pm by tetontech

QC 1.6.7 has been uploaded.  It includes a complete rewrite of the way your QCAndroid apps are compiled from within xCode.  I think you will find compiling much better.  It also includes a native Android template that allows you to build QC applications in Androids’ native Java along side the Objective-C native template for iOS apps.

Just like in QC Native for iOS apps created using this QC Native for Android template ‘pre-threads’ your application for you.  This means that any code that you write that is not directly related to updating the view is run in helper threads.  Any code you write that updates the view will run in the main view thread just like the native QC iOS apps.

Build your Control stacks in either language and your Validation and Business Control Objects, including db and server/service access, will be run on background, helper threads and then when the View Control Objects are executed they will be run in the main-view thread.

This means that your applications’ user experience is snappier since the main-view thread is only blocked when the view is being updated.

I will be covering the basic structure of Android Native QC apps and how to write them at the Android Developer Conference in March.

I will be covering the basic structure of iOS Native and Hybrid QC apps at the iPhone Developers Conference in April.

More tutorials, when I get them done, will be available on the wiki.

I have also uploaded QuickConnectFamilyPC_1.6.7 for those of you who want to develop using Eclipse rather than Xcode.  It includes a few examples of hybrid apps and instructions for how to use QC in Eclipse.

I’d love to see you at the developer conferences and get feedback in addition to what I receive via the Google group and this blog.

Thanks,

 

Lee

December 23, 2010

QuickConnect 1.6.4 Now Available

Posted in Uncategorized tagged , , , , , , , , , , , , , , , at 8:44 am by tetontech

I have just posted the 1.6.4 version of QC on SourceForge.  It includes some defect fixes and some minor additions, and a few big changes.  QC 1.6.4 requires the iOS 4.2 SDK.

The big changes are regarding the native application templates.  You can now use the same design to create Objective-C iPhone, iPad, and Universal iPhone/iPad apps that you have been using to create your hybrid applications.

These native iOS apps come ‘pre-threaded’.  Every time you call handleRequest your command stack is executed on a worker thread.  Any of your ViewControlObjects that you create for your control Stack are executed in the main  thread since it is the only one that is allowed to update the User Interface.  All other behavior is done on a worker thread and you don’t have to worry about how to set it up, make it go, or make it stop.

Just as with the hybrid apps you’ve been creating with QC all of your async calls to HTTP servers, portals, etc. are linearized for you.  You never need to write another callback function!

In addition to making your remote HTTP calls easier all of the templates for native QuickConnect applications also include support for both direct SQLite access and CoreData.

With a little time working in Interface Builder and putting together some CoreData objects your app is up and running.

Examples are already in the download for all of these native iOS templates.  Check them out and see how easy native iOS apps can be.

The next release will have native multi-threaded Android applications as well.

One other change is  that the PHP template has been updated.  Take a look at the example in the download.

Lee

July 30, 2010

iAdds and File Download available in new QuickConnect Release

Posted in Android Development, iPhone development tagged , , , , , , , , at 2:49 am by tetontech

As promised QCFamily 1.6.2 is now available.  It includes the ability to show and hide iAdds from within JavaScript.  Take a look at the new exmaple app.

It also includes the ability to download files.  When you download a file from a server the framework stores it on the device it then sends the full file path to your javascript code.  See the new example.  It downloads an image file and then sets the source of an img tag to be the file.  Presto!  Image updates from your server.

A feature to build on top of this download would be displaying office docs that you download.  Would you like that feature?

Be careful with this download feature.  If you download JavaScript Apple will probably reject your app.

July 4, 2010

QuickConnectFamily 1.6 Release is Here.

Posted in Android Development, Blackberry development, iPhone development tagged , , , , , , , , at 2:04 am by tetontech

The first non-beta of QuickConnect 1.6 is now available.

Thanks to several of your users the new QC release is available.  It is no longer in Beta!

It includes an update to Android version 2.2.  You will also find that the template selection has been dramatically simplified.  You will find that there are now two template groups, QuickConnect Mobile Hybrid and QuickConnect Mobile Obj-C.  Within these groups you will find the different types of projects.

For the Hybrid group you will find iPhone, iPad, Android, Blackberry, and PalmWebOS hybrid JavaScript/Objective-C templates.

For the Obj-C group you will find iPhone and iPad Objective-C  templates.

The Obj-C group is used to develop pure Objective-C iPhone and iPad applications.

There have been many changes and improvements since 1.5 including many more examples.

May 30, 2010

QuickConnect 1.6 beta 17 now available

Posted in mac development tagged , , , , , , , at 1:02 am by tetontech

Exciting new features have been added in this beta with matching examples.   They include:

  • Camera Access – display the camera from JavaScript
  • Activating and deactivating the application activity indicator from JavaScript
  • Activating and deactivating the network activity indicator from JavaScript
  • Custom Extension support including a template for your new BCOs, VCOs, ValCOs, etc. that inherit from QCCommandObject.

The custom extension support has made it very easy to create custom Objective-C behavior and run it from within the QC framework.  JavaScript custom extensions are still done the same way as before.  Just add your .js files and make your calls.

To create an Objective-C extension do the following:

  1. In your application project select New->File and pick the Mac OS X -> QuickConnect-> QCCommandObject subclass option.
  2. Repeat this until you have created your BCOs, VCOs, etc.
  3. Open the app delegate .m file in the Classes group and map commands to your new Control Objects ( see the Objective-C Extension example for code you can copy and paste).
  4. Create JavaScript functions to trigger your control stacks (see the Objective-C Extension main.js file for example code you can copy and paste).

To those of you who are creating custom behavior.  If the behavior is generic enough to be used by others please submit it for review and let’s get it in the base framework.

Lee

April 26, 2010

Teaching at iPhone/iPad DevCon

Posted in iPhone development tagged , , , , , , , , , , , at 5:20 pm by tetontech

I have been invited to teach three 75 minute courses at the upcoming iPhone/iPad DevCon in San Diego September 28th and 29th, 2010.  Two of the courses are on Objective-C topics and one  is on using QuickConnect to build hybrid applications.

I’d love to meet you there if you get the chance.  Maybe we could setup a users group meeting.  I have put up a survey here on the blog as to what you think would be the most helpful items to cover in the ‘using QC’ class.

After the survey you can see a description of each of the classes I’ll be teaching.

Advanced track “Mobile Data Synchronization with Any Database”

Abstract:

iPhone applications can easily store data using either the core Data framework or by directly interacting with the SQLite database engine.  This data can then be heavily used without delays involved in passing information back-and-forth between the device and a remote database.  How then can data be kept in sync if it needs to exist on the device and a remote database?  What if you don’t need all of the data found in the database to exist on the device?

This class helps you design and implement a synchronization utility that will work with the database management system of your choice.  It could be Oracle, MySQL, Sybase, or some other database.  It could even be something completely different such as XML or other textual flat files.  The data structure on the device won’t even need to match the remote data structure.

All of this can be done to create an easy to use sync utility you can use in any of your applications.

Intermediate track “Creating an Easy-To-Use Objective-C Modular Framework”

Abstract:

The Model-View-Control pattern as implemented by apple is great as far as it goes.  It does tend to lead to implementation code being scattered across many areas of your application.

This class helps you design and implement a modular, reusable framework that can speed up your application development dramatically.  Initial data indicates you could reduce your time to market by a factor or 10 or more by reusing the framework you will create in this class.

You will create a command-response, highly modular framework that you can reuse in every iPhone, iPad, and even Mac application you ever create.  Your framework will be fast.  It will be small.  It will be easy to use.

Beginning track “Ship Your App Now by Creating Hybrid Applications”

Abstract:

Learning Objective-C can be a major hurdle for a beginning iPhone or iPad application creator.  One solution that allows you to get your apps out the door and helps you learn Objective-C at the same time is to create a hybrid application.  Hybrid applications use HTML, Javascript, and CSS for much if not all of your application display and logic.  There are several hybrid application libraries available on-line both open and free as well as closed and for cost.

This class helps you create your hybrid application using the first, open source, free, and most highly developed hybrid application framework QuickConnect.  A few of the ideas you will learn to implement are:

  • Storing data on the device
  • Using HTML 5 to animate your interface
  • Displaying Maps in your application
  • Using audio and Video

January 28, 2010

Apple iPad Simulator

Posted in iPhone development, Uncategorized tagged , , at 4:54 am by tetontech

I just ran the QuickConnectiPhone framework in the iPad simulator.  It works without changes.  All I had to do is add the iPad build target and run it.

Slick.

I won’t add it officially to the framework template until the 3.2 SDK release ships so it won’t mess you up.  You can add it to your app if you want.

January 26, 2010

QuickConnectFamily 1.6 beta 11 Now Available!

Posted in Android Development, iPhone development tagged , , , , , , , , , , , , , , , at 8:12 am by tetontech

We are getting closer to build once and launch all all platforms!  The Android template is much more functional now and prepares the way.

This beta 11 of QCFamily 1.6 has some important features

  1. Enterprise Sync supports synchronization with all remote databases.
  2. Stabilization of the iPhone enterprise synchronization for native and in-browser databases
  3. Enterprise synchronization is now available for  Android devices.  Unfortunately Google is not supporting in-browser HTML 5 databases at this time.  This means that if you want to use this feature you will need to use a native database (include a .sqlite file)
  4. Google doesn’t support the XMLHttpRequest object in their WebView class.  Therefore I have written a simple replacement.  It is not fully featured but works in support of the Enterprise data sync ability.
  5. The QC Android template now includes the ability to build and run on a connected Android device in addition to the build for release and build for simulator functionality it already had.

Target features for the next beta:

  • iPhone in-app purchase
  • Enterprise data sync for Palm WebOS
  • First Blackberry template
  • Enterprise data sync for Blackberry
  • One click build and run on all platforms

Next page

<span>%d</span> bloggers like this: