"There's a huge pool of web developers with HTML and JS skills that can now contribute to desktop apps. Watch how fast GNOME and KDE advance when this happens."
That's like saying that there's a huge pool of high-school physics teacher who can now contribute to solving cold fusion.
I've worked in the web industry for years. The last freaking people you want touching code are web developers. They are -- with very few exceptions -- utterly freaking useless for anything other than building broken, slow, buggy applications that are just hodge-podges of cut-n-pasted jQuery scripts (which themselves are atrocious monstrosities of poor engineering) that function so long as you don't look at them the wrong way. The fact that there are a ton of them doesn't mean shit other than that it doesn't take much effort to go from knowing nothing to knowing enough to be considered as a web developer. there's a TON of people who breath air, but that doesn't mean they're qualified professionals when it comes to wind-powered electric-generator engineering.
The cool web apps you see springing up are not the work of web developers. They're the work of real programmers -- people with an extensive background in C, LISP, Java, or all of the aforementioned -- who decided to toy around with HTML and JS.
The really goofy thing is thinking that a browser is the best platform for application development. It isn't. You're confusing a popular application with its feature set, which are really two distinct things. You don't need a browser, you just need a development environment that has the advantages of a browser (and ideally without its disadvantages). What you're asking for are:
(a) a toolkit that focuses on content, semantics, appearance, and logic as four distinctive entities. HTML is a crappy language to work with, and SVG is only marginally better. CSS is HUGELY limiting. there are better models that exist today, and they exist without the huge legacy cruft of crap that browsers need to support those old HTML, old CSS, and old JS files that make up 99% of the Web today.
(b) a very fast but easy to use programming language, that lets the programmer focus on his application's features and algorithms instead of on tons of boilerplate, memory management, and other low-level details that have been solved a billion times over. once again, there are other languages that fill this niche that do not have the historic mistakes of JavaScript (global-by-default variables, confusing for-each syntax, barely present standard library, lack of a module system, and just a ton of language features that only the native-code backend can hook into; look no further than the "magic" behind document.location that you can't pull off using pure javascript code).
(c) easy XML and JSON processing. once again, libraries already exist for this, and are wrapped up in just as easy to use APIs for easy to use languages. even better, there are libraries for even more formats out there, for those cases when XML is too stupid (most cases) and JSON is still not condense enough (which happens way more often than your average low-bar web programmer could even begin to realize, out here in Real Programmer Land).
(d) write-once, run-anywhere computing. again, exists many times over. the problem with this approach is that it's impossible to actually pull off without running into the exact same problems that JavaScript, Java, C#, Python, or so on have. the only way for a platform to be complete is to offer access to the native hardware, which in turn requires the platform to be low-level. Without hardware access, you require the platform to include a hardware abstraction for every possible piece of hardware that could exist. the web browser is still massively limited in what it can achieve, which is why we're still adding tons of new APIs (and massively bloating the browser platforms) at such a rapid pace. and unless those platforms actually _are_ updated frequently (which is not the case for IE, or even the mobile platforms that never release updated OSes for old hardware), you still end up with a write-once, run-on-some-platforms ecosystem.
(e) a project focused on all these things. go start your own, you don't need Fedora to do it for you. Fedora already has a goal and a vision. instead of forcing another project to become something else entirely, just start a new project to realize your vision. if the community believes your idea has merit, they will contribute; if they don't, you'll flounder on your own with bringing an existing successful project down with you.
The browser is a nice model or prototype of what you want, but it isn't the final product you want.
Posted Oct 4, 2010 3:34 UTC (Mon) by servilio-ap (subscriber, #56287)
[Link]
(a) a toolkit that focuses on content, semantics, appearance, and logic as four distinctive entities. HTML is a crappy language to work with, and SVG is only marginally better. CSS is HUGELY limiting. there are better models that exist today
That sounds interesting, can you give us some links or names, please?