QuickConnect

A Family of Frameworks

A New Way to Create
QuickConnect is designed to dramatically reduce your application's time-to-market in a cross platform world. You create your interface in HTML and CSS and then implement you application logic in JavaScript.

The JavaScript framework is identical on all of the supported application platforms and the same design is even used in the server-side version for PHP.

Since it is open source and liberally licenced you can use it to develop for your open source, free projects or closed source, for-cost projects.

Pick a Platform

To download a member of the QuickConnect family go to the SourceForge repository.

For more detailed information visit the

You can also sign up for the development tweets @ http://twitter.com/quickconnect and look at the QuickConnect JavaScript API

QuickConnectiPhone
QCiPhone allows you to use native iPhone behaviors without needing to know Objective-C or the native iPhone API. Using the Dashcode and Xcode templates your application comes together quickly and easily in JavaScript. The QCiPhone framework supplies you with access to:
GPS location information
Accelerometer information
Embedded Google maps
Device information
Bonjour networking
SQLite database access
An AJAX wrapper
A fast drag-and-drop library
Recording/Playing Audio
Play System sounds
A charting/graphing library
Native Date/Time pickers

To see the development roadmap go to the QuickConnect wiki.

QuickConnectAndroid
QCAndroid allows you to use native device behaviors without needing to know Java or the Android API. Using the eclipse base or example projects helps your application come together quickly and easily in JavaScript. The QCAndroid framework supplies you with access to:
GPS location information
Accelerometer information
Device information
SQLite database access
Recording/Playing Audio
Play System sounds

To see the development roadmap go to the QuickConnect wiki.

QuickConnectSymbian

QCSymbian uses the QT framework but allows you to use native machine behaviors without needing to know C++ or the QT API. QCSymbian is still in development. The first beta will be available soon. To see how it will work look at QuickConnectLinux.

To see the development roadmap go to the QuickConnect wiki.

QuickConnectLinux

QCLinux uses the QT framework but allows you to use native machine behaviors without needing to know C++ or the QT API. Starting with the example applications helps your application come together quickly and easily in JavaScript. The QCLinux framework is small and still in development but supplies you with access to:

SQLite database access

To see the development roadmap go to the QuickConnect wiki.

QuickConnectMac

QCMac allows you to use native iPhone behaviors without needing to know Objective-C or the OS X development API's. Using the Dashcode and Xcode templates your application comes together quickly and easily in JavaScript. The QCMac framework supplies you with access to:

Bonjour Networking
SQLite database access
An AJAX wrapper
Recording/Playing Audio
Play System sounds

To see the development roadmap go to the QuickConnect wiki.

QuickConnectPHP

QCPHP uses the same design and structure as QCiPhone and the other members of the QuickConnect Family but for a PHP web application. Now you can use the same architecture for both your client-side and server-side development.

Using QCPHP you can dramatically shorten your web application's time-to-market and yet have it be much more secure. Adding or removing functionallity is also very easy.

QCPHP includes a MySQL wrapper that uses the same getData and setData methods you find in all of the QCFamily. SQLite and Oracle wrappers are also in development.

With QCPHP you can create your application faster and more securely than with any other framework.

To see the development roadmap go to the QuickConnect wiki.

GPS

With one simple function call you can get all of the GPS location information available to you from your mobile device. Simply call:

findLocation()

and the device's latitude and longitude are reterned to your JavaScript application. Altitude is also included if it is available.

Acceleration

As soon as your device starts running your application accelerometer information begins to be passed to your JavaScript application. Each time motion is detected the 'accel' command is executed.


To take advantage of this information all you need to do is map the 'accel' command to a control function in the mappings.js file.

Google Maps

A call to the showMap function is all it takes to display a custom Google map within your JavaScript application.

showMap(locations)

The locations parameter is an array of latitudes, longitudes, and short descriptions. Put in a descrilption and tell QuickConnect where you want it and a map is displayed containing all of your pins.

Device Info

If you need device information such as OS running, language being used, time zone, or if the device is an iPhone or iPod touch a single call to getDeviceDescription will get you what you need.

getDeviceDescription()

Bonjour Networking

Want to have your application talk to other iPhones or servers? You can do this from within your JavaScript application.


Create an AdHocServerAccessObject and then use it's findTCPServices method to get a list of available servers nearby (they may even be other iPhones).

Once you have selected a service call openConnection(). You can then send a message to the server with the sendMessage() method as many times as you want.

Database Access

You can now ship pre-filled databases with your iPhone JavaScript applications. Access the data only or update it as well. Your choice.


Create an DataAccessObject and then use it's getData or setData methods.

Pass the SQL and any prepared statement parameters and your done.

AJAX Access

Accessing server data is easy now. You don't even need to know the XMLHttpRequest object's API.


Just create an ServerAccessObject and then use it's getData or setData method.

Pass the URL parameters and any custom headers you want to define and you're done.

Drag & Drop

With one simple call you can make any HTML element in your application draggable or scrollable.

makeDraggable(anElement)

makeScrollable(anElement)

Or if you want it to be resizable and rotateable you make one other call.

makeChangeable(anElement)

Maybe you want to make something draggable, rotateable, and resizable. If so just call both makeDraggable and makeChangeable.

You can even have code evaluated for you automatically for you each time and element starts to be or is done moving. See the wiki for more information.

Charting

If you need charting in your applications QuickConnect has a library to make it easy.


Pie, bar, line, and filled line charts currently available with more being added in the future.

To add a chart call the constructor for the type you want and then call it's addData method. For bar and line charts you add a new data series each time addData is called. Pie charts only have one data series and so if you call addData more than once the data is replaced.

Pickers

Some systems, such as the iPhone, have easy ways of selecting items called pickers. QuickConnect exposes these native pickers and pass your JavaScript application the result of the selection.

By using these native pickers for dates and times your application has a more native look and feel than if you use the standard HTML 'pull down' lists.

Audio

Playing audio files is easy using QuickConnect. Just call the play() function and pass it the name of the file you want played.


play(fileName)


Looping is just as easy. Call the play() function, pass the name of the file you want played as the first parameter and the number of times you want the file played in a loop as the second parameter. To loop continuously set the second parameter to -1.

When you are done you can stop an audio file playing by calling the stopPlaying() function.

Audio

You can use any audio file as a system sound as long as it is less than five seconds long. To play a system sound call the playSystemSound() function and pass it the name of your short audio file.

playSystemSound(fileName)