<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Flavio Ishii &#187; titanium mobile</title>
	<atom:link href="http://www.flavioishii.com/tag/titanium-mobile/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flavioishii.com</link>
	<description>&#34;Live as if you were to die tomorrow. Learn as if you were to live forever.” Mahatma Gandhi</description>
	<lastBuildDate>Tue, 29 Mar 2011 03:37:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>HTML/CSS/JavaScript mobile development platforms</title>
		<link>http://www.flavioishii.com/2009/09/htmlcssjavascript-mobile-development-platforms/</link>
		<comments>http://www.flavioishii.com/2009/09/htmlcssjavascript-mobile-development-platforms/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 23:47:27 +0000</pubDate>
		<dc:creator>flavio</dc:creator>
				<category><![CDATA[About]]></category>
		<category><![CDATA[appcelerator]]></category>
		<category><![CDATA[mobile development]]></category>
		<category><![CDATA[Ovi]]></category>
		<category><![CDATA[rhodes]]></category>
		<category><![CDATA[rhohub]]></category>
		<category><![CDATA[rhomobile]]></category>
		<category><![CDATA[rhosync]]></category>
		<category><![CDATA[titanium mobile]]></category>
		<category><![CDATA[webOS]]></category>

		<guid isPermaLink="false">http://www.flavioishii.com/?p=38</guid>
		<description><![CDATA[A brief overview of four mobile development platforms that utilize the standard Web technologies: HTML, CSS, and JavaScript - Palm webOS, Rhomobile, Appcelerator Titanium, and Nokia Ovi.]]></description>
			<content:encoded><![CDATA[<p>Web development and mobile development seem to compliment each other well. We see proof of this in recent native smartphone application development platforms from <a title="Palm webOS developer" href="http://developer.palm.com/" target="_blank">Palm webOS</a>, <a title="Rhomobile" href="http://rhomobile.com/" target="_blank">Rhomobile</a>, <a title="Appcelerator Titanium" href="http://www.appcelerator.com/products/titanium-mobile/" target="_blank">Appcelerator Titanium</a>, and <a title="Nokia Ovi" href="http://www.forum.nokia.com/Ovi/" target="_blank">Nokia Ovi</a>. When developing for the Web we use HTML, CSS, and JavaScript (HCJ) plus some server-side component, or ideally just an API service that a web page can hit via AJAX. HCJ is the most popular set of programming technologies among developers, we all know it or at least should know it. Adding an efficient and fun development platform/process to it really makes the case for investing in one of these young HCJ development platforms. Writing and maintaining one set of code is a huge factor to consider for cutting down development costs. Smaller companies (early adopters) can really benefit from this because chances are they already have experienced in-house HCJ developers. HCJ is a true unifier not only as a commonality among developers but as a way to deploy thin client apps on multiple platforms.</p>
<p><span id="more-38"></span></p>
<p>Having played with the SDK tools from Palm&#8217;s webOS, the Rhohub platform as a service (PaaS) from Rhomobile, and Titanium Mobile I can honestly say that I really enjoyed and had fun developing simple mobile apps in days as opposed to weeks. I&#8217;m looking forward to diving into the Nokia Ovi development platform as well. In theory developing a mobile app with any of these tools will  also facilitate porting them over into a Web browser or even desktop version.</p>
<p><strong><a title="Palm webOS developer" href="http://developer.palm.com/index.php?option=com_learn&amp;view=learn" target="_blank">Palm webOS</a></strong> has been popularized by Palm&#8217;s latest mobile phone the Palm Pre and soon the Palm Eos and other devices. webOS is a Web-driven Operating System providing developers access to it via the Mojo framework, a pure HCJ technology. Not having the actual device yet, I had fun deploying simple apps on the Pre simulator provided by the toolkit. The platform allows developers to add popular JavaScript libraries, debug the Javascript and easily implement webOS native interface widgets and phone capabilities.</p>
<p><strong>Rhomobile</strong> brings a few things to a developer&#8217;s plate: Rhodes Framework, Rhosync Server, and <a title="Rhohub" href="http://www.youtube.com/rhomobile#play/all/uploads-all/2/iKA3RBpm77M" target="_blank">Rhohub</a>. Out of the four platforms mentioned here this is the only one that requires an additional technology to the HCJ and may take a few more days to learn it if you are not familiar with Rails or Merb. But it may be worth it considering the heavy lifting it will do for you with the data synchronization or the wider range of platforms it supports. Rhodes is a nano-framework similar to but much lighter than Rails. Rhodes allows the developer to write apps in a Rails agile fashion with Ruby code and deploy it for a number mobile platforms (iPhone, Android, BlackBerry, Symbian, and Windows Mobile). The Rhosync Server is the optional Rails application that synchronizes the system&#8217;s data between the mobile device and a backend API (i.e. Twitter, SugarCRM&#8230;). Rhosync is ideal for apps that require local data storage and synchronization with a backend app, see <a title="Rhosync Architecture" href="http://wiki.rhomobile.com/index.php/Rhodes#Architecture" target="_blank">architecture</a>. Rhohub is a PaaS (similar to <a title="Heroku" href="http://heroku.com" target="_blank">Heroku)</a> that allows you to edit the Rhodes app code and Rhosync server code and settings right on a Web browser. This places all or most of your installation and maintainability worries on the cloud. As mentioned on their site, Rhomobile is dual licensed, translation: under the GPL agreement as long as you open your code you don&#8217;t have to pay their commercial fees. I&#8217;m happy with that.</p>
<p><strong>Appcelerator </strong>offers a suite of development products that allow developers to write HCJ code once and deploy on their respective multiple platforms. These products are: <a title="Appcelerator Titanium Mobile" href="http://vimeo.com/5697395">Titanium Mobile</a> (iPhone and Android),  <a title="Appcelerator Titanium Desktop" href="http://vimeo.com/2509975" target="_blank">Titanium Desktop</a> (Windows, Mac, Linux), and <a title="Appcelerator Entourage" href="http://www.appcelerant.com/introducing-appcelerator-entourage.html" target="_blank">Entourage</a> (rich Web apps with support of server-side service brokers). The Titanium Developer is like a hub for creating, configuring, packaging, deploying and testing the Titanium suite apps. The skeleton code and file structure generated is very similar to the webOS application&#8217;s. It has its own Titanium JavaScript libraries but you may also integrate additional JavaScript libraries (i.e. Prototype, JQuery&#8230;). I&#8217;m not so clear on their business model but they seem to be keen on open technologies.</p>
<p><strong>Nokia Ovi</strong> (pronounced <em>ovee</em>) <strong>Ecosystem </strong>was introduced earlier this month in <a title="Nokia World 09" href="http://events.nokia.com/nokiaworld/home.htm" target="_blank">Nokia World 09</a>. It&#8217;s their answer to what the big mobile development players have been doing in terms of developing applications and providing services (i.e. App Store == Ovi Store; webOS SDK == Ovi SDK) around them. It may be late to the game but it may be right on target, considering  it has the largest number of mobile phone consumers in the international market and its focus on an HCJ dev platform, namely the Ovi API &amp; SDK. This simplified the cumbersome development process for deploying on the Symbian and Maemo. The Ovi SDK works as a plugin to a Web browser. I hope to gain access to the Ovi SDK soon so that I can experience it.</p>
<p>You can learn these development platforms in just a few days to then develop apps in just a few days. Learning Objective-C, Cocoa framework, and non-intuitive XCode features would take a few weeks. So if the app you want to develop is a simple form-based app with access to the GPS capability on your phone, choose your platform wisely. These HCJ platforms may be good enough at the moment and they will continue to improve with things coming down the pipe like more device capabilities (i.e. <a title="Nokia Eco Sensor Concept" href="http://www.nokia.com/corporate-responsibility/environment/sustainable-products/eco-sensor-concept" target="_blank">Nokia Eco Sensor Concept</a>) and the <a title="WebGL Initiative" href="http://www.khronos.org/news/press/releases/khronos-webgl-initiative-hardware-accelerated-3d-graphics-internet/" target="_blank">WebGL Initiative</a> (JavaScript interface for OpenGL).</p>
<p>I believe in silver bullet solutions as much as I believe in werewolves. These development platforms are NOT the ultimate solutions; that is for you to decide on a project or company level. I would not consider developing a mobile game with 3D graphics using an HCJ platform, not yet anyways. Given enough incentives I would gladly learn how to do it strictly in the native iPhone dev platform. A lot of developers complain about how painful JavaScript debugging is but those days are over since a few great tools have surfaced and some are even bundled in these platforms. There are other web-based mobile development platforms out there that I have not mentioned and that are being brewed up, if you have experienced any them please share your thoughts.</p>
<p><strong>Side topics:</strong></p>
<p>The above platforms require backend API&#8217;s to exist for mobile applications to interact with. These API service providers should live in reliable, resourceful, and scalable infrastructures. Joyent&#8217;s <a title="Joyent Smart Platform" href="http://www.joyent.com/products/joyent-smart-platform/" target="_blank">Smart Platform Beta</a> allows developers to do server-side JavaScript and publish HCJ. This now allows developers to focus on developing in a single language, avoiding all the context switching.</p>
<p>I am also keeping Adobe&#8217;s <a title="Open Screen Project" href="http://www.openscreenproject.org/" target="_blank">Open Screen Project</a> in my radar. It shows a lot of potential for deploying apps on multiple platforms.</p>
<p><strong>Posting Updates:</strong></p>
<p>A few more things worth mentioning&#8230; Rhodes apps include the first mobile ruby version to run on these devices. The Rhosync components (Rhosync client on the device and Rhosync server) allow users to manipulate the synchronized data in their Rhodes app online and offline, this feature was made in such a way that is simpler for developers to work with. Its <a title="Rhomobile Architecture" href="http://wiki.rhomobile.com/index.php/RhoSync" target="_blank">inner workings</a> are actually quite elegant. Rhohub is the first hosted IDE for mobile development and has many more powerful features worth mentioning: generates and hosts builds for three different platforms, provides a desktop client for Windows, provides a console for debugging purposes.</p>
<p>I will soon post a quick tutorial on working with Rhohub so stay tuned. If there is enough interest I may also demo it at the Saskatoon Barcamp this year.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioishii.com/2009/09/htmlcssjavascript-mobile-development-platforms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

