Thursday, July 17, 2008

Cross-platform development

I've read a great article about multi-platorm development today. I've already been involved in the development of multi-platform solutions and I saw big sacrifices made for the sake of common codebase. Not all code could be shared this way, of course, there was thicker/thinner layer(s) on the top of common code. Generally the maintenance/improvement of common code was slower compared to one-platform-only cases and the code was less efficient, too. I was not convinced that it was worth doing it this way at all.

Having said this, I fully agree with the analysis above. I would add, though, that multi-platform development requires either highly-skilled developers with solid knowledge of each platform they're developing for or a team of developers writing code 1 man/platform with very good communication within the team. Either choice could be right or wrong depending on many factors, like complexity of solution, developer skills, proper specification, etc.

Btw, Simon Judge has also added his valuable remarks to this topic.

Cheers,

Tote

2 comments:

prajakt said...

This is a good article which explains real world problem when developing a mobile application for multiple platforms. However I don't agree that single code base for multiple platforms cannot be achieved. KonySolutions has created a working platform product which uses a single code base for not only multiple mobile platforms but as well multiple channels (on device rich client , web client and SMS client).

Our solution provides the best user experience without sacrificing speed and maintainability. You dont have to target least common denominator.

For more info you can reach me at prajakt@konysolutions.com

Gábor Török said...

Thanks for your comments, prajakt! First of all, I did NOT claim that cross-platform development was not possible. What I wrote was that it was not worth the effort - only with highly-skilled programmers, but even with them and counting on natural fluctuation in a company even in this case it might not pay-off in the long run.

Fyi, these tools that aid cross-platform development were not so popular and commonplace at the time the article was written. I can see that there are more and more such tools appearing on the horizon, still I can say that they surely don't (can't) cover each and every use case. But I must admit, on the other hand, that they probably make business more efficient.

Good luck for your product!