
C# and .NET in mobile?
What for, Windows mobile phones?
Hoary old coders are skilling up on mobile says a survey from CWJobs, revealing that 81 per cent of UK IT pros are planning to refresh their skill sets by sitting down and swotting up on some HTML5 in 2012. One in five (19 per cent) of the 1,366 IT pros surveyed through the jobs site was planning to go the whole hog and …
This post has been deleted by its author
.NET? Going the way of Silverlight, about which microsoft mentions nowadays as much as vista. They have a rich history of spreading FUD, so here's some back with a delightful picture of some Hannibal Lecter lookalike, presumably because cannibalising their own products is the new strategy: http://www.guardian.co.uk/technology/2011/jun/14/microsoft-windows-8-developers
Yup. It's possible to code for Android and iPhone in C# in Visual Studio. The UIs are completely different but the back-end code is pretty much the same and it makes porting code from platform to platform less of a pain as you can run Mono on Android and Apple products.
Of course, it means your app is bigger because of the included Mono binaries...
What about Objective-C for native iPhone, Java for native Android, and C++ for native bada and Symbian development?
Yes, HTML5 has moderate support under most mobile platforms at the moment, but it will be several years before it is widespread and performant enough to replace the majority of native apps.
The effort needed to get a well-polished iPhone app is pretty high. Plus, you're dealing with coders who have a comparatively rare skill (Obj-C) and they know it and charge appropriatley.
And (and please, no flamewars) iOS will not cut it for market reach - to have any real effect you also need to target Android and one of {WinPhone7, Symbian, Bada, BlackBerry} depending on your geographical location or market segment.
So, do you want to pay for three applications to be developed, or one mobile-web version plus three simple "w = new WebView; w.show(myUrl);" apps ?
Another bonus with mobile-web is that it will also catch the "smartphone-lite" market of cheap, data-enabled featurephones (such as Nokia's Asha, and Samsung's Star/Tocco range).
"So, do you want to pay for three applications to be developed, or one mobile-web version plus three simple "w = new WebView; w.show(myUrl);" apps ?"
This way of thinking is what will bury your enterprise. If you can't reproduce the OS behaviour with the mobile-web, the users will go the app that will do that.
"This way of thinking is what will bury your enterprise. If you can't reproduce the OS behaviour with the mobile-web, the users will go the app that will do that."
If you're a bank, and the app is for your customers to do mobile banking, they won't change banks just because you didn't put the "Back" button into a little box at the top left. If you're IKEA, will people really go elsewhere to have an argument with their partner this weekend, just because the app doesn't look like Android?
The majority of the app market is not from Silicon Valley startups trying to gather tons of users; it's for exsiting businesses trying to improve their existing customers' experience, or trying to sell them something. While the startups are burning other people's money, so value for it isnt' really a concern, businesses that have to justify this spend find it harder to make a case for spending £10k plus £5k plus £5k on three mobile apps, and then still fielding complaints from the customers whose phones they didn't support.
Personally, I think cross-platform systems like Qt/QML give the native-code slickness and the ease (cheapness) of development you get from HTML, but even that option suffers from a cost analysis against a purely mobile-web solution.
... and it's Kristian, but you're not the first person to make that typo ;)
Should use copy & paste eh to not write Kristina? My mind noticed that you're Kristian as I was writing it but my fingers wrote Kristina. Yeah ok in your case you're talking about flexing muscle, since it's not really critical to the survival of the enterprise (a bank doesn't do primarily apps to exist). Actually, in my case, the pain of making online payments was one reason to change my bank. I usually reject web based applications on my ipad, because they don't feel natural on the ipad, that's that (yahoo mail based on webkit ist the best of those). CrossPlatform (write once run everywhere) is dynosaur thinking, if you think you won't have to make platform tweaks. I've seen this again and again in 20 years in the business, it just doesn't work - always disappoints the users of one of the platforms. Also, in my estimation, the patents will matter so much in the future, that you won't be able to use the same gestures from one platform to the other (read "it will be illegal"); maybe there'll be more what you're not allowed to use on this and that platform.
Phonegap allows HTML5 to be embedded into a native looking app and provides stubs that provide access to most of the native services.
Assuming the app in question is just some bog standard front end to something in the cloud this should be more than adequate and minimizes the amount of platform specific code.
The reality is that supporting multiple phone platforms is a nightmare. There is no common language, no common resolutions or phone ratios.
HTML5 is the closest thing to commonality though of course every HTML / JS engine is half baked in some regard or other. So it;s obviously one way to go.
Another would be to write in Java to support Android natively but and use GWT to reuse a large amount of the code through Phonegap to function on other platforms.
It's still a mess though. What's really required is something analogous to QT or Flash which is genuinely platform neutral and tools which generate the native equivalent with a few clicks.
For games, it's possible to write all the rendering, logic, layout code, etc. in C++ / OpenGL ES and use a thin wrapper for each supported platform.
Since none of the native widgets are needed for games, this works quite well on iOS, Android and Symbian/Qt. We've not tried bada yet though, and WinPhone7 is out of the question, of course, since it supports neither C++ nor OpenGL.
For native-look-and-feel apps, something similar might be possible, but I feel it would be a lot more effort.
I mean everyone has been saying for a decade C++ is about to go obsolete. Never mind if you can code proficiently in C++ you can pretty easily handle any other language. Thats right in ten years C++ will be long gone and Ruby on Rails and HTML 5 for native apps will be what everyone is using </ sarcasm >
"Hoary old coders are skilling up on mobile says a survey from CWJobs, revealing that 81 per cent of UK IT pros are planning to refresh their skill sets by sitting down and swotting up on some HTML5 in 2012."
How does skilling up on HTML5 imply automatically that it is for mobiles? Since when is HTML5 an exclusively mobile skill? Or is this another one of those "let's pull a statistic out of our own back side" moment?