A few months ago I posted a question in here for general advice about
cross-platform development for Windows, Android, iPad and iPhone. I asked
on behalf of a colleague who has a mature sophisticated Windows desktop app
and a simplified Silverlight 4 version. The same chap rang me yesterday in
a bit of a panic as his marketing guys are now getting pressured about
versions of the app on various phones and tablets. Based upon the earlier
replies from here and what my friend has been studying it looks like
cross-platform development is getting steadily more complicated. I'd like
to throw our current impressions out and see if I'm on the right track...
In summary, it looks like we use HTML5 to share a codebase, or we go native
on each device.
The former means that the apps will be crippled because HTML5 just can't
reproduce the rich UI of GDI/WPF or Silverlight, and we'd need staff with a
totally new skillset. The latter means multiple teams with different code
and specialist skillsets, which is potentially very complex and expensive.
Apple have banned VMs and interpreters from their OSs (or is it simply
browser plugins?), rumour has it to kill off Flash, but .NET and
Silverlight seem to be collateral casualties. Is it true that Silverlight
has no hope in the Apple world?
I fear that the Silverlight version of our app is doomed to die at an early
age because it can only be seen in the ever-shrinking world of the desktop
web browser. Years of Silverlight development may be wasted.
Not only is there coding confusion about using ObjectC, Java, C#,
HTML/Javascript, etc, there are marketing problems about the functionality
of the apps on different devices. The Windows desktop app is very
sophisticated, but the versions for phones and tablets would have to be
seriously dumbed-down to be touch friendly. Even the Metro version would be
utterly incapable of expressing the full app functionality. We now have the
nightmare of managing not only different codebases and developer teams, but
mutiple versions of the app with various functionality.
Anyway, you get the idea. There must be other people in here who are going
through this multi-platform conundrum in the new phone and tablet world.
What ever happened to the promise that software development would get
easier as languages and platforms converged? Remember the promise that VMs
like Java and .NET would make our lives easier? It looks like different
huge companies have betrayed us and are forcing us to use their platforms
for their own greedy profit. That leaves the developers and the marketing
people bewildered without a clear path, and it's happening around me now.
Greg

Reply via email to