Hmmm... Looks interesting, I think. Only had a brief look, but the UI seems very nice. Guess the question is, what does it bring to the party that Android, iPhone and WebOS don't?
mikelove said:
who'd have known that C would go from the dominant programming language for mobile devices to an also-ran in such a short interval?
That's a little surprising, it must be said. I wonder if it's an attempt to increase developer share by making things 'easier' for the developer?
(Caveat for the following: I am a Java developer, and have done basically no work with C/C++/Obj C, or Dot Net).
If you'll forgive the detour, I wouldn't be surprised if someone at Microsoft (and Android and Palm) has said "C/C++/Obj C is too hard to learn and too hard to use
correctly - let's give them something easier". Of course, easier is pretty subjective, especially if all your experience is in C. But all the higher-level languages like C#, VB, Java, Javascript, Silverlight (assuming that's the language name), etc., all mean that it takes less code, generally, to write what you want. They give you all sorts of clever tricks that are much harder to do in C. They take away all that 'fun' memory management.
The above are all generalizations, and they don't hold true all the time (you do still have to think about memory in Java, and there are some things you simply cannot do in Java, like pointer arithmetic), but I think they hold true enough of the time that whoever makes these decisions probably feels that having an 'easy' high-level language by default will attract more developers, and get more applications out there faster. And that's probably true. I imagine that the number of C/C++/Obj C developers, as percentage of total developers, is declining simply due to the fact that Java and Dot Net own the Enterprise Backend landscape, and Javascript owns the browser scripting landscape. That was, in fact, one of the reasons Palm is offering JS/CSS/HTML as the default on WebOS - to appeal to the largest segment of developers.
Also on the developer mind-share front, my University didn't have any
compulsory courses in C/C++ - first year programming was all Java, as was one of the four second year papers, and several of the third year ones. I would not be at all surprised to find that the majority of Universities are similar, teaching either Java or Dot Net in their introductory courses. And when the majority of developers are educated in those languages, it could be argued that it makes sense to attract them by making one of them the primary language of your platform.
So yeah, easier to find developers who can write code for your platform without retraining and generally easier to write code for your platform have probably lead to a move away from low-level stuff like C, and towards Java/Dot Net. It helps that smartphones are getting more and more powerful, so the inefficiency/memory consumption arguments are getting weaker.
Sure, they still offer C interfaces for games, where speed and absolute memory control are critical, but games have this funny tendency to create their own UI completely from scratch, and don't generally require much in the way of UI APIs.
But that's just my opinion - even if the above is not actually true, I still think it's basically what's going through the minds of Palm/Google/Microsoft.
Oh, and if people have to use *your* language to write for your devices, that's Vendor Lock-in, and they're not going anywhere else due to the effort of rewriting their code. Again, not completely true, but true enough, I think.
Anyway, back on topic: Pleco as a Web App is possibly the best option... Sure, you have to deal with each platforms browsers quirks, but that should just involve massaging your code, rather than a complete rewrite for each major platform. And sure, it comes with a whole different set of problems (like making sure it still feels responsive even with major latency, which is something I think a lot of developers forget about), but if you're going to have to go through all that anyway for a single platform, then you might as well go for a web app. Also means that *everything* is under your complete control, and you don't have any of this silly 'app store approval process' crap to go through - if someone wants to use it, they point their browser to it. Simple as pie.