I love learning. I’m always reading and trying new things. As I looked into mobile application development I tried to figure out the best way to do things.
The first major discovery was that you could use HTML5, CSS and Javascript to build a powerful, slick mobile app and get the benefits of using web standards, as well as the internals of the device thanks to sites like PhoneGap.
Then I started looking at IDEs and tools that help you build mobile apps fast. I came across sites like BuzzTouch which allows you build apps using their web application. I was able to easily create screens and link them together, pull in RSS feeds and so on. Then I hit a wall as I discovered I couldn’t easily link from custom HTML screens to the screens I had already created with Buzztouch. Doing that requires going back to objective C programming (which is platform specific). Also you can only current build apps for iPhones and Androids. Also v2.0 of their server will require a server installation instead of using their already hosted web app for v1.5. Buzztouch is great for some people though. One of the amazing things is the ability to update your app from the app itself without having to resubmit to iTunes.
Another cool site is Tiggr. You can use a visual drag and drop editor to create your app and they generate HTML5, CSS and Javascript. The first month is free and then it’s $45 per month per developer. They say it’s good for fast prototypes which makes sense, so I wonder if it can also be used for production apps.
You have to evaluate your goals and the goals for your app to determine which path is best for you. But generally I don’t like to be put into a box where I may run up against the wall at some point. Also as a developer I want to also learn the technologies and not just generate code. So I am going to stick with the ‘standards’ (HTML5, CSS, JS, jQuery mobile, PHP, etc). This way I can leverage these skills if I decide to start taking contracts.
Also any of these tools require you to learn their tool and way of doing things and the code generated may not be easy to understand or modify.
Also as I work on mobile apps I realize that there is an important server side component to all of this. The server can provide the content to the device (unless it’s static content which is rare these days), it can filter the content for a smaller device, provide API access, update websites with client locations, push notifications to device, and so on. Many of the tools I mentioned and have worked with do not do any of this.