11.28.09
Cross Platform Mobile Development Documentation
Available on the wiki you will find documentation on how to start using the latest 1.6 beta to develop for iPhone, Android, and Palm with the same HTML, CSS, and JavaScript code. I hope this helps you creating the apps that you want.
I’m still working on getting Blackberry development to work the same way as the others but I’m close to having something that works.
I’m also uploading 1.6 beta6. It makes some small fixes related to the Images directory in the project. If you are using beta5 you should upgrade.
11.27.09
QCFamily 1.6 beta5 support files
I have noticed that a support file that you use to launch the Android emulator called SimDroid may not have ended up in the 1.6 beta 5 install. To remedy this I have put QCFamilySuportApps.zip in the downloads for the 1.6 beta. After you have unzipped it and installed 1.6 beta 5 you can double click this application. It should launch the Android emulator for you (you don’t want to know the command line methodology).
11.26.09
QuickConnectFamily 1.6 beta5 now available
QC 1.6 beta5 includes:
- A new Palm WebOS template (more examples coming soon)
- A new Android template (more examples coming soon)
- The ServerAccessObject has been updated to allow cookie handling. The XmlHttpRequest object it is based on would not. (in preparation for Apple Push technology implementation)
- A simplified view of the projects (compatible with the beta4 projects. No modification of existing beta4 projects needed.)
The QCFamily download includes the full Android SDK and is ready to go. If you want to develop for Palm WebOS you will need to download the Palm WebOS SDK and install VirtualBox from Sun.
In the next be
QuickConnect Cross Platform Mobile Development
The latest QuickConnectFamily beta, 1.6 beta5, includes Xcode templates for iPhone, Android, and Palm WebOS development. The file structure is the same across all of the platforms. You can write your application in HTML, CSS, and JavaScript for one device and then move the code into projects for the other platforms.
Coming soon, one project that builds and launches on all platforms.
Things to remember
- The 1.6 beta 5 dowload does not include the full Android SDK. Download the QC Android support file and it will have what you need.
- You have to install the Palm WebOS SDK if you want to develop for that platform
Here are images of the same simple application running on all of the platforms on my MacBook Pro
11.17.09
QCiPhone 1.6 beta 4 is now available.
A new beta of QC 1.6, beta 4, is now available on sourceforge. I has the following fixes and changes
- DBScript can now be used with native databases.
- All examples shipping in the download of the beta are now converted to the 1.6 file structure. A few of the examples have not been ported yet and so I have not included them yet. I’ll put them in the next beta.
- ServerAccessObject timeout defect fixed that triggered multiple calls to VCO’s
- Cleaned up DataAccessObject batch method (a support method for DBScript. Don’t use it directly). Simplified batch completion checking.
- Fixed DataAccessObject transaction handling that caused transactions not to appear to fail if database constraints were violated.
- SQLite updated to version 3.6.20 with support for FTS3 query syntax added
- Added missing NativeFooter Example
- Fixed failure to hide native footer defect
- Added new JQTouch example showing the JQTouch developer demo
10.31.09
QuickConnectiPhone 1.6 beta 3 now available
QCiPhone 1.6 beta 3 includes:
- All new Xcode apps created using the 1.6 beta 2 or later Xcode template will auto-update to a new version of QCiPhone when you run the QCFamily installer
- A fix for the permission build error in beta 2
- In application maps. This feature allows you to drop any number of pins as well as show the current location of the device.
- A new object, DBScript, that allows you to do bulk updates to the SQLite database in a transactionally safe fashion (in-browser only for now. Will work for native databases in the next beta.
Examples for both the in-app maps (MapExample) and DBScript (BrowserDBScript) exist in the iPhone Examples directory of the download.
The post just previous to this one shows how to use the DBScript object.
SQLite bulk data update or insert
I just added SQLite bulk updates for in-browser databases (native databases coming soon) to the QuickConnect iPhone framework (1.6 beta 3). I did this by creating and adding to the framework an object called DBScript. It is transactionally safe. If one of your updates in the script fails all changes are rolled back.
It is also easy to use. The code below comes from the databaseDefinition.js file of the new BrowserDBScript dashcode example. In it a link to the database is established using the DataAccessObject. Then the DBScript object is created and a series of SQL statements are added to the script. Lastly, the script is executed. Notice that the script object works for both standard and prepared statements.
If you are using this after a data pull from a network resource or after querying the user for information to insert, make sure you use a prepared statement type call to avoid SQL insertion attacks.
/*
* An example of how to use the DBScript object to populate a database.
* This will be done as a single transaction and is transactionally safe.
* This means that all changes will be rolled back if any
* database error happens.
*/
//create or connect to the in-UIWebView database
var database = new DataAccessObject(“WelcomeExample”, “1.0″, “Welcome example”, 20);
//create the script object
var bulkInsertScript = new DBScript(database);
//add all statements to the script object
bulkInsertScript.addStatement(“CREATE TABLE IF NOT EXISTS names (id INTEGER UNIQUE, name TEXT)”);
bulkInsertScript.addStatement(“INSERT INTO names VALUES(1,’Bob’)”);
bulkInsertScript.addStatement(“INSERT INTO names VALUES(2,’Sue’)”);
//and example of using a prepared statement
bulkInsertScript.addStatement(“INSERT INTO names VALUES(?,?)”,[3,"Jose"]);
bulkInsertScript.addStatement(“INSERT INTO names VALUES(4,’Bjorn’)”);
bulkInsertScript.addStatement(“INSERT INTO names VALUES(5,’Jean’)”);
bulkInsertScript.addStatement(“INSERT INTO names VALUES(6,’Gustav’)”);
//execute all statements within a transaction
bulkInsertScript.executeSetDataScript();
10.25.09
Speaking at iPhone Developers Conference
I am going to be speaking at the upcoming iPhone Developers Conference in Santa Clara on the 3rd of November. I’m going to be speaking on Rapid Prototyping and using QuickConnect.
If you would like to attend the conference, follow these instructions to get in for free.
Snow Leopard QuickConnectiPhone Update
QuickConnect 1.6 beta 2 is now available. It includes the functionality that allows you to create QCiPhone Applications in the version of Dashcode shipping with Snow Leopard. The Objective-C code has also been reorganized. It now is contained in a sub-project to allow you to more easily focus on the JavaScript used to create your application.
I’m going to give a short description of how to create an application and move it into a Dashcode application. I’ll put a tutorial movie on the wiki on Monday Oct. 26th.
Creating a Dashcode Project and Moving it into Xcode
- Copy the QCDashcodeTemplate.dcproj and rename it with the name for your application.
- Design and build all or portions of your application in Dashcode.
- Export your Dashcode project to your Sites directory.
- Create a new Xcode project by selecting the QuickConnect iPhone Application
- Use Finder to copy the files and directories from your exported Dashcode project into the newly created Xcode project directory. Make sure you allow finder to copy over all of the files and directories in the project.
- In Xcode, compile and run your application.
- Expand your application to include access to the native behaviors of the device as needed by using the functions in the com.js file.
If you do not want to use Dashcode to create your application all you need to do is to edit the index.html file and include any JavaScript files you wish to use. You should also delete the Dashcode specific directories from your Xcode project.
By the way, any of the existing JavaScript libraries such as JQuery, etc. should be usable with QC not just Dashcode.



