views:

72

answers:

3

I'm building some web apps for clients. They're usually CRMs, project management systems, custom CMS, support system etc...ie. all work and business related systems.

Often times, I think it would be awesome if the client had a mobile app to manage their web apps and the employees who use them. The challenge is building one mobile app that can work on all the different smart phones out there - iphones, blackberries, droids etc..

The easiest thing to do is to build a mobile version of the web app. The drawback is that mobile web apps are inferior to native mobile apps for the following reasons:

  1. web apps use more data transfer bandwidth

  2. web apps aren't as responsive as native mobile apps

  3. web apps on mobile lack rich media support

-- am i missing anything from the above list?

Do you think advances in mobile hardware technologies, improvements in mobile browser technologies and evolution of carrier provider business models will resolve the above issues in the near future (within the next 2-3 years)?

If yes, then there's no practical reason for me to learn N different mobile application development platforms which may end up being obsolete for my purposes in 5 years. I should just sit back and wait for the mobile industry to catch up with my software development needs.

My question is in bold, but would appreciate feedback on anything else I've said.

+1  A: 

I don't think the issues will be totally resolved in the next 2-3 years, no. I think the situation will get better, but for the foreseeable future it seems that mobile devices will stay pretty much the same with regards to the above technologies. The devices are just too proprietary, there are just too many licensing issues to put say, flash on an iPhone. Android alleviates this to a point, but that still leaves the problems with the hardware itself. Unless companies loosen up on the technology a bit, or more open (not necessarily Open Source) mobile devices come along, things will remain as they are.

JC Leyba
Simply agree!..
Marcel
A: 

I fought (and lost) this same battle. I am of the opinion that native applications are currently the best way to go. Another point about native applications is that they will be better integrated with the smartphone. For example, a web page will not be able to interact with the smartphone's contact list.

The smartphone market is not that big. The players are basically Apple, Blackberry, Android, and Windows. I think that Blackberry apps can be done in C++. I believe Android app could also be done in C++ with the NDK. So, a lot of the codebase would be shared.

If you use web technology, then you are most likely dependent on an open source library that is being maintained by an individual. Chances are there will be differences between the platforms in that library that will cause bugs. Good luck fixing those!

I think any significant application should steer away from cross-platform web technologies. Going native is the way to go. Your window is many years out there. A lot will change between now and then. If you need to release an application today, I think customers are going to be happier with a more responsive, better integrated with the phone application then a web app that should be better when technology catches up.

zooropa
A: 

Your problem statement is definitely of interest. Although for the end-customer, the situation means more choice and more services, from a developer perspective that want to address the mobile space, there are just too many different smartphones platforms & OSes. Programming models and toolsets associated with smartphones platforms require a specific expertise and software re-use is almost impossible.

Talking about how the industry will evolve in the 2-3 coming years is kind of tough. Remember just few years back, most analysts were forecasting a consolidation of smartphones OSes around Linux. Well, they are just even more mobile OSes than ever before!

Anyway, can you wait 3 more years to go mobile with your apps? If not, then you'd better look at what is available as of today as an alternative to learning N different mobile development environments. Cross-platform development environments based on web-technologies are available now from various vendors. I'd like to highlight one of them which is called ELIPS Studio, as it brings an interesting approach to resource and variants management. Indeed, ELIPS Studio enables generating - out of a single code based in ActionScript - native apps looking like iPhone apps on iPhone, Android apps on Android and so on. Full details on their developer web site.

manu