I’ve started to look into JavaScript to be use in web project as much as possible ever since I last built a web game with jQuery. During my service in previous company, my team was assigned an assignment to research on mobile apps development, we’ve focusing on technology other than native, as we don’t have the skills for Java and Objective-C.
We’ve came out with few option, Appcelerator, Rhomobile, OpenPlug (Discontinued), and PhoneGap. Rhomobile was out of the picture very quickly, as it uses MVC style to code, and the team is not proficient in the style at that time. I’ve taken the rest to test drive.
OpenPlug then removed from our option, as it uses ActionScript, MXML to build and design the apps, which is then again, the team don’t have the skills on these technology. Even though it claim to compile the code into native code (which is appealing to me) and it has iOS simulator (a plus as well, as the team only have one MacBook).
PhoneGap was tested after that, it is different from the rest, it mainly to wrap the HTML pages in it using web view, and publish itself as a native apps (real native, but with a web view inside, think of apps that running web browser inside), and exposing native function such as camera via JavaScript function. This does not came even close to the choice of mine at that time, I’m so into going native for everything.
Appcelerator was then my choice at that time, it have the simulator, using JavaScript, and it claim to be fast. But at that time my JavaScript skill is still not good enough for me to understand how the Titanium SDK (the Appcelerator) works. Even though I have previous experience with JavaScript in some web game and projects, but the with Titanium SDK, everything is in JavaScript, even the UI is generated by JavaScript, and that’s too much for me to digest with the workload at that time.
To push the prototype of some mobile apps while on heavy workloads, I gave up on the Appcelerator, and go for PhoneGap, and go for jQuery mobile, the result is not good when I tested it. It is slow and didn’t feel like native, and then we found Sencha Touch.
Sencha Touch is another framework that uses JavaScript to generate UI, specifically built for mobile (based on their ExtJS), it reminds me to the Appcelerator. I have the opportunity to have time to dive into Sencha Touch when the workload reduced, and found that it works much more smoother than the jQuery for mobile.
I’ve accepted a mobile project recently, motive is to push myself learn the Sencha Touch. I’ve never read as much documentation, watch video tutorial and visit GitHub as much as pass 2 months (BTW, their Duckumentation is awesome). Together with PhoneGap and PHP MySQL combo, I’ve manage to finish the project on time.
I’m craving for more of Sencha ever since, I upgraded myself to Sencha Touch 2.0, and go for MVC style development, I even considering to use their ExtJS for my future web project, but the license fees for ExtJS is too much for me.
Sencha Touch influenced me, I’m starting to learn more about MVC, upgrading to ASP.net MVC, and CakePHP.
I am excited about future of the web technology.