I just published my first whitepaper on the subject of cloud computing.
The link can be found here
Please enjoy.
I just published my first whitepaper on the subject of cloud computing.
The link can be found here
Please enjoy.
Sometimes I want to recommend a link and this is a good one : http://www.ibm.com/developerworks/cloud/library/cl-mobilecloudcomputing/?cmp=dw&cpb=dwcld&ct=dwnew&cr=dwnen&ccy=zz&csr=031711
Have fun
In this blog post I will be documenting my first app which I am building with Titanium which is a cross platform native app tool made by Appcelerator. Feel free to use it as a tutorial is you like.
Introduction
I am an experienced developer and have been using a MAC with XCODE to make some basic apps over the last 6 months. Quite frankly I find it pretty hard work, that is not to say that programming should not be difficult, but Apps is more of a sideline for me and my company so I would like to be able to get a bigger ‘bang for my buck’ (buck in this case being hours).
I have built a sort of wrapper for quick and easy deployment of HTML5 based apps built with sencha touch and jqtouch but they are not quite as good as native apps. It is for this native building that I want to maximize my efforts and therefore the idea of a cross browser platform is appealing so long as it really does produce native code. In the case of Titanium I saw that after making my program I was able to export it as an XCODE project and then compile it, therefore I do see Titanium as providing this ‘real native’ solution.
The log of my app
firstly I see that Titanium makes a native folder structure on your filesystem and from then on you are on your own. It creates a few files for you but you have to find an editor yourself and work from examples and the API Docs. From here I start with an app called test003m.
In the folder there is :
app.js
In the resources folder is app.js which I suspect is quite important. it contans the following code to start with:
Titanium.UI.setBackgroundColor('#000'); var tabGroup = Titanium.UI.createTabGroup(); var win1 = Titanium.UI.createWindow({ title:'Tab 1', backgroundColor:'#fff' }); var tab1 = Titanium.UI.createTab({ icon:'KS_nav_views.png', title:'Tab 1', window:win1 });
Now this is very reminiscent of the structures you use in EXT.JS in order to set up the GUI. It is all JSON based syntax, so far it looks like it could be quite easy to get the hang of.
The following are the major design components in Titanium:
Here is an example from the Appcellerator website of code to make a view in a window
varwin = Ti.UI.createWindow();varview = Ti.UI.createView({backgroundColor:"red"});win.add(view);win.open();
We could restructure the above code to use a URL-based design.
First, in your app.js, you would add:
|
Then, create a file named view.js and add the following code:
|
Notice that the win variable points to Ti.UI.currentWindow. Titanium defines a set of special variables in your JavaScript context automatically for you which allow you. Ti.UI.currentWindow defines the Window reference that owns (opened) the current Window so you can still reference it.
To add interacivity this should be the code according the the tutorial I am reading:
view.addEventListener('click',function() { view.animate({width:96,height:96,duration:1000}); });
Here is a more complicated example:
view.addEventListener('click',function() { var t = Ti.UI.create2DMatrix(); t = t.rotate(-90).scale(4); view.animate({transform:t,duration:1000}); });
Widgets
It seems to me that widgets are basically forms, i.e. views with controls on them which in turn cannot contain views. Here is another example from the website
var win = Ti.UI.createWindow(); var view = Ti.UI.createImageView({ image:"myimage.png", width:24, height:24 }); var button = Ti.UI.createButton({ title:"Animate", width:80, height:40, bottom:10 }); button.addEventListener("click",function(){ view.animate({top:0,duration:500}); }); win.add(view); win.add(button); win.open();
Modal windows
You can create modal windows at any time without adding them to another component. Here is an example of opening a modal window which is attached to a button by the use of an onclick handler
var b3 = Ti.UI.createButton({ title :'b3' }); b3.addEventListener('click',function(e) { var mod1 = Titanium.UI.createWindow({ backgroundColor:'red' }); var mod1b3 = Ti.UI.createButton({ title :'b3' }); mod1b3.addEventListener('click',function(e) { mod1.close(); }); mod1.add(mod1b3); mod1.open({ modal:true, modalTransitionStyle: Ti.UI.iPhone.MODAL_TRANSITION_STYLE_COVER_VERTICAL, modalStyle: Ti.UI.iPhone.MODAL_PRESENTATION_FORMSHEET }); });
The reference guide (link)
There is a comprehansive guide to the API but I found it difficult to determins which component was which by looking at the descriptions. I made myself a set of notes which I share with you:
To help with remembering which components and view to use I have made a sort of cheat sheet with screenshots from the Appcelerator Titanium kitchen sink Application:
I am currently writing my part 2 so this post is to be continued…
We are using a tachnique of warppers and html5 to make mobile apps
Here are some great links on the subject
http://www.ibm.com/developerworks/web/library/wa-senchatouch/?cmp=dw&cpb=dwwdv&ct=dwnew&cr=dwnen&ccy=zz&csr=022411
this is my 2010 xmas investigation. The options are :
Mongodb
I installed the code and after struggling I worked out that if I used the staticly linked code it worked first time with no compilation or other complecations
Jboss, BEA, IBM, Sun, JRun J2EE application servers
There are so many components in the new servers I have found it very difficult to make sense of it all
I am looking into adding Rhino (JavaScript engine) or Java 1.6 scripting to my CMS
Here will follow my next blog..
I am going to use the following links:
This last week I have investigated Jquery and found it to be more comprehensive than mootools and prototype. It also seems quicker to load and execute.
I have to say that it seems much more extendable than the other libraries also. I say this because with mootools, for instance, if you want to add GUI components you have to use something like cnet components which seem heavy
I want to refer to the following links ::
Some usefull plugins that I have used already::
Some usefull looking plugins that I have not tried yet::