By way of explanation, Appcelerator's Titanium Platform is a development environment that allows you to write HTML/CSS/JavaScript apps and have them compiled down to native code (Android or iOS). Titanium provides a rich framework of APIs from which to build your apps. For instance, the UI components in Titanium are analogous to the UI components in Android. The advantage to Titanium is that you can take one app and compile it down to any of the supported platforms, like Android or iOS. Since Titanium compiles down to native code, you're not running interpreted, though there are some specific wrappings that Titanium has to build in.
The app: Quotious
For my app, I had a few necessities. First, it had to be twitter-like, meaning that it was a bunch of short messages that can be displayed as a list. I also wanted the data to be served up from some external source and arrive packaged in JSON.
Based partly on these needs, and partly on an idea I got from a buddy, I decided to build an app that captured quotes. You could specify the author of the quote, the source of the quote and the quote itself. Nothing too fancy. I called it "Quotious".
In light of that, I first built out a small Jetty based server which I could run on my local. It was backed by a MongoDB database. The server simply served up the contents of the database in a RESTful manner (I really only implemented the GET). I seeded the database with a bunch of quotes from Darth Vader, as he is a worthy source of quotes all over the interwebs.
Then, I got to work building the apps.
Titanium Quotious
Titanium Quotious |
From start to finish, it took me about two days to turn out the Quotious app in Titanium. Titanium offers a great example app called "Kitchen Sink" that implements examples of an incredible number of their APIs. I relied heavily on an example twitter app that comes included with Kitchen Sink, adapting it for my needs.
The Titanium implementation of Quotious doesn't have a persistent store and pulls the data over a RESTful call every time you fire up the app. In that manner, it's not very robust, but the real story here is that it was almost trivial to implement. I was able to bring all of my traditional web app skills to bear and had I really been trying I could have turned it out faster.
Native Quotious
After I was done with the Titanium version of the app, I turned my hand to a natively built implementation done in Eclipse. I quickly went through all the tutorials and found myself in an interesting position: After Hello World, there wasn't a clear path to building up my understanding. So, I turned to The Goog and found this superb implementation of a twitter app that is put together as a tutorial by Marakana.
Native Quotious |
As I worked through the Marakana example, I was enlightened about all of the various moving parts that truly make up an Android app. From the Manifest.xml to the views, from the actions to the intents, I had to actually learn what went into an Android app. This accounted for much of the increased time of development.
The native app that I developed is slightly more robust than the Titanium version. It is backed by a SQLite database. As updates are fed from the web source they are placed into the database. As those changes go in, the UI is updated and what you see on the left is what is created. In light of the database, my app will survive a loss of connectivity with grace, serving up what it has already seen and remembered in the past.
Conclusion
Let me not give the impression that Titanium is only about building web-app like Android apps. It's not. There is rich support for what makes a truly native app within Titanium. You can create and manipulate a database, you can work with actions and intents. You can do all of these things. (Update: See the first link below for some info on how to do all of these things)
But you don't have to. And therein lies what might be the most seductive thing about Titanium. You can build your app as if it is a web app, only it runs natively. You don't have to expand your skill set to understand all of the ins-and-outs of what makes up an Android app. All you have to do is take your current skill set for building JavaScript heavy web apps and port them over to your device of choice.
If developer time is your main constraint, then Titanium is likely the way to go. You can hit the ground running faster with Titanium. You don't really have to be an "app developer" to develop apps with Titanium. What's more, and something I only lightly touched on, with very little augmentation, you can port your app to an entirely different platform such as iOS. With very little, if any, changes, I can run the Titanium version of Quotious on an iOS device by simply compiling it down.
One word of caution, though: If you choose the Titanium route, don't eschew learning what really goes into an Android app. Knowing the actuals behind Android can only make you a stronger developer in the long run.
Edited: For formatting
Updated: Added pointer to first comment with additional information
39 comments:
Michael,
Appcelerator also supports actions and intents as well as storing your data in a SQLite database.
Take a look at:
http://vimeo.com/18541179
http://vimeo.com/19138717
http://developer.appcelerator.com/blog/2011/01/titanium-and-the-android-ndk.html
Tony Guntharp
Director of Developer Relations
Appcelerator
@fusion94
I made note of that in the conclusion, but the links will certainly help anyone that comes along.
Think my next step is going to be to build in DB support for quotious on the appcelerator app.
So Titanium is a bit like "app-crack". It gives you a hit quickly but it's superficial if you want to be a capable and skilled developer for Android ?
I appreciate the comparison and you are just giving it a try, but would like to also hear about more serious efforts in app development for Android between Titanium and Eclipse.
@giuliocc, it's probably a bit of a red herring that I differentiated the two by including Eclipse in the native app development category. I did, in fact, write the js for the Titanium app in Eclipse, but there's a secondary environment which is Titanium that compiles and packages your app for running on the device.
For the native app, I did everything within Eclipse, including launching my emulators and loading the app onto the device. It's a subtle difference, but one that is worth noting.
As for Titanium being like app-crack, well, that's only partly true. I think that if you really want to get serious, you won't be doing the superficial stuff alone. Titanium just makes it easy to build the superficial stuff. In the vimeos that Tony linked, they go on to talk about the more in-depth stuff that they're making available in version 1.5, including intents and services.
The platform definitely bears some serious consideration, especially if you're trying to gain traction by converting a bunch of web app devs into Android/iOS devs.
@giuliocc: I can give you first hand experience of trying to use Titanium on a production grade app. One word. Disaster. Or perhaps nightmare. Don't get sucked in by it. We wasted a month of dev time battling with it. From painful debugging, slow building, poor documentation, little community help and to cap it off, it's 'native' performance really isn't. We were really excited about using it and tried really hard to make it work, but it just is not ready. Maybe later versions will solve the problems, but to me it seems fundamentally flawed.
If even its own KitchenSink application has noticable performance issues compared to a true native app that tells you something.
We had to abandon it as wasn't good enough to show to the client. In the end we decided to learn Android native and ended up all done within a month. We'd still be debugging Titanium, or trying to make it perform reasonably and fighting with the api.
@Ian
> Don't get sucked in by it. We wasted a month of dev time battling with it
Same experience we had. Appcelerator is cute and seemingly quite convenient, but the company hides its problems so that people aren't deterred from using it. That is not good in the world of software development where problems are very important. People begin to encounter big problems when the functionality of their app goes just outside the scope of the kitchen sink sample code. Besides that, the kitchen sink app is not written in the correct manner for a large app, in which the windows should be opened from a central location. I've built three apps with Appcelerator and my advice is to avoid it entirely unless your app has minimal functionality demands, like displaying flat content and photos.
Even with simple apps it is useful to code them natively IMO, since it gives you nice training in the platform in case you want to create more complex things later.
According to a new research the market for cross platform
mobile development tools is forecast to reach $8.2 billion by 2016. The promise
of Titanium as a write once run anywhere is a illusion but the technology is
still indispensable in developing mobile apps. Developers are taking a number
of cross platform development approaches and successful developers will match
the right tools and approach to appropriate requirements and use cases. With
the complexity of mobile app development continuing to grow, the tools vendors’
ability to reduce development time and increase application reach is generating
significant opportunities. This new trend in mobile application development
will also help fuel an more open and prosperous mobile app ecosystem.
It's actually a nice and useful piece of information. I am happy that you shared this useful information with us. Please keep us up to date like this. Thank you for sharing.
Feel free to visit my blog; community.atom.com
It's really very difficult in this active life to listen news on Television, so I just use internet for that purpose, and take the latest news.
Feel free to surf to my website; iraqidinarchart01.xanga.com
These are not empty words which are uttered by a
disciple of Jesus who anyone would anticipate to say such as this.
If you want to know what folks are listening to and talking
about on the opposite coast, Fly - Cast is
terrific. As a gadget, it's out of this world; as a functional laptop, I'm not so sure.
Feel free to visit my web blog ... www.pariscitybreaks.com
It has been a great discussion here. Thanks for stating a titanium platform's forecast. I had a good time on reading this post. Thank you also, Michael.
clients, Rachel, who got back together with her ex. The only downside of it in a lot of people's eyes is the fact that there is no multiplayer content. In this addictive puzzle game, catch that damn fly and avoid those tricky obstacles.
My site Visit posters website
Facebook has groups, applications, and many of the exact same features of My - Space, delivered in just about the same way.
You need to make real efforts towards inviting your friends
to your fan page. Just because you can do something doesn't mean you should.
my web page; facebook likes kaufen
Around 150 games in total, but that's relatively small compared to our users. Finding good outsourcing companies is the key, as naturally you do not want to lower the quality of the service. Next Jim Deacove developed a few of his own board games based on the principles of cooperation, group strategy and joint problem solving.
Also visit my weblog: visit the next website
If adult comedy is what entertains you then there are plenty of these as well.
All you have to do is select the movie from the Camera Roll and adjust the slider.
Let's take a look at some of the devices which are used for video conferencing.
Also visit my webpage; By TrackBack on
Once the game is 80% complete you will need to work on the sound. Don't leave the landscape designing and terrain optimization to the last moment. As ever we strive to help our customers make informed decisions and understand where their r4 cards are coming from.
Also visit my weblog ... keep reading
This site is very easy to work with and doesn't shoot you around to different web sites before you find what your looking for. I believe the FTP transfer is a bit better than the regular HTTP transfer protocol. The virtual D-pad has been improved as well to make it easier to move around plus there are other tweaks for slabs and the Nether Reactor too.
Feel free to visit my blog post http://mollyjfdszukl.skyrock.com/
Part 2 of this series on marketing your small business using Facebook
offers social media marketing tips and guidelines for how to attract fans to your Facebook
page. You need to make real efforts towards
inviting your friends to your fan page. (Although, I also
believe that there is something in them that might be
and seek to reverse, too.
Also visit my blog; mokchon-kimjungsik.org
According to statistics, "Internet radio attracts an upper-income audience, with weekly Internet radio listeners 36% more likely to live in a household with annual income of $100K+ than the general US population 18+".
Perhaps there is a news broadcast you want to check, or perhaps
a vital sports game you cannot miss. Individuals have acquired
different software and programe through which you could
download these videos.
Here is my site; Let�s Get Personal
And Ouya, which is about the size of a Rubik's cube. Finding good outsourcing companies is the key, as naturally you do not want to lower the quality of the service. People are now looking to be able to connect to things like their vehicles through their smart phones, and now Buick has announced the release of their new e - Assist Fuel Effeciency smartphone games.
my web-site - http://exercise.dsu.ac.kr/39811
Similar to the cue ball that is shot in pools;
this game involves coins and strikers that are essential to play carrom game.
It should come as no surprise that i - Tunes is loaded full of pirate apps for
i - Phone, i - Pod Touch, and i - Pad. Harry Potter Hogwarts is one more entry into this new series of LEGO
board games.
my web blog - http://www.spielespielen24.de/geschick/oldest/22
Upon examining some etymological dictionaries, one can conclude that games
are a creative expression of the human spirit through the creation of an activity that has an entertaining, instructive
and competing element. This way you are not disappointed when you get residence, and you
won't have to make a excursion back to the shop. As ever we strive to help our customers make informed decisions and understand where their r4 cards are coming from.
Visit my blog: game
Part 2 of this series on marketing your small business using Facebook offers
social media marketing tips and guidelines for how to attract fans to your Facebook page.
You might not allow people to write on your wall, however, when you share a thought, a link, or comment on someone's else wall, people can definitely also leave a comment. Link ' Recommend sites to other users
and vice versa.
my web blog :: cybernet4u.com
Aside from the usual fare of alternative rock,
jazz, and pop, among others, this station also showcases
the work of and connects with indie artists from all over the globe.
There are quite a few to choose from such as the Roberts stream
83i or the Tangent Quattro which are both good examples
of internet radios. Using a little exploration (which you happen to be clearly working on proper now), expenditure in your business here is exactly the instructions to use the medium
to your benefit.
Feel free to visit my web site: just click the next webpage
Once you have done this, set the burn speed to 4x and click
Burn and wait for it to complete. Imagine never having to worry about what to wear to work, and even the infuriating traffic jams that never seem to end.
The main reason why you would want to do this is
simple, you can unlock the true potential of your purchase.
Have a look at my web-site - http://gloriousk9kennels.com/cgi-bin/fpg.cgi
Much like Safari, the Camera app, the App Store and i - Pod, Game Center
has no option to be deleted when editing your apps.
However, every character in the game (even supporting players) should be
presented in this same detail. In this addictive puzzle game, catch that damn fly and avoid those tricky obstacles.
My blog post - click the following internet page
Much like Safari, the Camera app, the App Store and i - Pod, Game Center has no option to be deleted
when editing your apps. At the same time, web games seemed like the future of gaming, and we wanted to be a part of it.
The main reason why you would want to do this is simple, you can unlock the
true potential of your purchase.
My blog post - please click the following internet page
Similar to the cue ball that is shot in pools; this game
involves coins and strikers that are essential to play carrom game.
All spaceship game leveling systems are designed slightly differently, but there are some general concepts that apply to all games in this genre.
For the purposes of this game, a "set" is at least three cards of equal
value such as three Jacks or three fours and a "sequence" is made up of at
least four cards that are of the same suit and run sequentially such as three, four, five,
and six of spades.
Also visit my web page ... denzel washington
Around 150 games in total, but that's relatively small compared to our users. t want to forget to buy your all star game tickets at Angels Stadium from an independent ticket broker that cares more about customer satisfaction than the bottom line. It fizzles as the lights go out, and she says it's been great talking to you.
Also visit my homepage ... http://www.bgsurugby.com/board/profile.php?mode=viewprofile&u=273130
Similar to the cue ball that is shot in pools; this game involves coins and strikers that are essential to play carrom game.
Imagine never having to worry about what to wear to work, and even
the infuriating traffic jams that never seem to end.
If you want to be able to hit the ball further and harder,
you should keep in mind to keep your grip on the bat loose, your swing should begin with
your legs and hips, and finally, you must always follow your bat through.
My web blog; mouse click the following article - www.datingmadeeasy.com
Once you have done this, set the burn speed to 4x and click Burn and wait for it to
complete. Imagine never having to worry about what to wear to work, and even
the infuriating traffic jams that never seem to
end. In this addictive puzzle game, catch that damn fly and avoid those tricky
obstacles.
Here is my blog ... click the following page
They help separate the fishing men from the boys, so you can
find an excellent guide who really knows what he's doing. The 360 Series from Aqua-Vu is specifically designed with a rugged encasement for ice fishing. But here's my top 5 to
consider with choices for both types of water included:.
Also visit my web page: fishing.seweb.de
Una Musica Brutal, by Gotan Project: from Buddha Bar IV.
Manual; this is the instructions; same again is it in good condition.
Be comfortable in its open-air concept restaurant, where you might even sit in a table
and look up to see stars in a clear night sky.
Have a look at my blog - http://journals.fotki.com/kerriwhhi/kerriwhhi/entry/fwdtrfqssrfd/
If you just want to do a few cakes for right now
you may be able to borrow most of the items or get cheaper versions of each tool.
Personalized and theme cake asserts cake designs as per your requirements.
The TV crew will embark on the task of helping "sweet" businesses survive
and prosper.
Here is my weblog ... cake and bake germantown coupons - dicttrans.com -
Similar to the cue ball that is shot in pools; this game involves coins and
strikers that are essential to play carrom game. It combines RPG elements and strategy for a very interesting
game where you must stop the rows of pirates ship from making their way down the river.
Preparing to apply to the dozens of other game development companies for video game jobs will
enable you to expand and diversify your list of possible employers, and your chances of getting hired
will increase tremendously.
Check out my blog post ... Read More Listed here - pcrepairandwebsitedesign.
com (http://www.support.pdregister.com/knowledgebase/309982/page/2)
I hope it was informative and helped you along your own culinary journey.
Couples only fool themselves if they think guests only care about
the cake. The TV crew will embark on the task of helping
"sweet" businesses survive and prosper.
Feel free to visit my web page ... cake avenue cupcakes
Once you have the centers prepared, there are a number of ways to decorate
the outside. If you prefer to use frozen strawberries, they work in
this cake equally as well as the fresh. You may even love them more than this classic
cake recipe.
My webpage ... cake alchemy ()
Post a Comment