Mobile App Development Made Easy…er
…for web developers.
I am a web developer. I know the tools and languages to build about any kind of web site application, but I don’t have the time to learn Objective C, Cocoa, Java, or other languages needed for native mobile app development. The thing is, mobile is huge, likely the most important development frontier. I MUST be able to develop for it!
Here’s my approach: Build mobile-optimized web pages. Ok, that’s nothing new. But hear me out… Not just the way they have been thought of in the past. Not just mobile stylesheets or WAP. I am talking full-on app simulation here.
Duplicate the behavior of the native controls including the animated rolling date pickers, on/off toggles, menu lists with buttons the size of your finger tip that slide content in from the side when touched, etc. Make the UI/UX exactly like what they are used to with native apps built with mobile SDKs.
One of the biggest benefits of this method is the ease of updating your “app.” You don’t have to hire your app developer to add features or change content, then resubmit to the app store and wait for it to be approved, then force users to update the app before they see the new features. You just update your pages and the next time the user runs your app they see the latest content.
This also opens up the whole world of data-driven applications, and the ability to use existing data already maintained on your web site. For example, I manage sites that pull content from a database or calendar system. Now I can use the same data in my mobile app instead of having to duplicate the data entry in my app.
With this paradigm you can build an app entirely online and distribute it via your marketing channels. Instruct people to visit your url (just link to it if delivering electronically), then touch the middle icon in the bottom toolbar, then “Add to Home Screen.” Tada, they’ll have an icon to launch your app just as if they installed from the app store. For a nicer touch, provide a custom app icon: Create a PNG image 45 pixels square, name it “apple-touch-icon.png” and upload it to the root folder of your site. The iPhone will automatically round the corners, add gloss, and use it on the home screen.
Here are some tools that will help you build quickly instead of starting from scratch:
- Jquery Mobile
- Sencha Touch
- DHTMLX Touch
- MobiOne (no online demo, boo)
- Lime JS (mobile game building framework)
“But I want to leverage native phone features like GPS location.” Yeah. “But I want my app in the app store.” Ok, no problem.
First of all, you might be surprised to know that some features that were previously thought to be only available to a native app can actually be duplicated by web pages. Here’s a geolocation example:┬á dev.sencha.com/deploy/touch/examples/guide
There’s another route that can really help you get your app built easier than you thought, and give you some powerful features out of the box, AND turn it into a real app in the app store, AND still utilize this web development paradigm: Use a hybrid app platform like Mobile Roadie.
If you use a platform that supports linking to web pages (like Mobile Roadie), or you are building a full app and wanting to extend it with web content, you can serve up your mobile page from inside your app instead of launching in the device’s web browser. This way the user has no idea they are interacting with something that isn’t part of the app itself, and they still have a back/home button to return to the previous screen instead of having to close the browser and re-run your app to go back a step.
If you want a packaged system to build an app without writing code, using more of a CMS (content management system) for the basics, here is a list of options. A couple are free, with limitations. Most of them will cost you something, but a fraction of what it costs to hire a developer and you can do it yourself.
- Mobile Roadie
- App Inventor (by Google, Android only)
My App Creator(Boo, last time I clicked “Pricing & Sign Up” it said: “We are no longer accepting orders. Apple has too many iPhone applications. Please check back later.” Really? #fail)