Silverlight: Good for Adobe, Bad for Microsoft
bitsandbuzz.com
bitsandbuzz.com
The elephant in the room is that Javascript is just not a good language to develop in, most especially for the kind of culture and processes that Flash developers use. It is difficult to maintain, it plays terribly when different people with different coding styles interact, and most of all it is extremely browser dependent, in terms of the behaviour you can expect to see, and equally importantly for the dramatic differences in performance you get. What do all Javascript libraries have in common? They all provide a twisty nightmare of little passages when you try to combine more than one with all of the interactions between global variables and dynamic operations.
Having seen the work process that Flash developers use, I wonder why anyone can even begin to imagine that some offspring of HTML and Javascript can ever even begin to make inroads there.
However, for our enterprise SaaS application, we have standardize on JQuery, and with a set of best practices, we have a very strong and powerful application model on top of JS/DOM. The dynamic nature of the Web could be a unique asset to build large enterprise application.
But, yes, I would also agree that Javascript/DOM gives many ropes to people to hang themselves. However, we should not blame the ropes if they do.
Including a reasonable standard object system. With Javascript, different brilliant people have different ideas about how to handle objects and prototypes and have "wonderful" ideas for dynamically adding mix-ins, and manipulating what "this" should refer to... All of this leads to an absolute nightmare of coordination. The danger isn't as much with newbie programmers but with brilliant programmers who have individual styles and strong opinions. (And all strong programmers have strong and individual styles and opinions.)
I also take issue with frameworks being described as "a twisty nightmare." Dojo is a joy to work with.
Sorry but that's a stupid point that is irrelevant and it amazes me why anyone would seriously state it, yet many people do. Let's all use Brainfuck then. Or program in Minesweeper.
Dojo may be nice, but do you use Dojo and JQuery at the same time? Now what if you also find a nice component that uses Mootools, would you be comfortable including that too?
As for using Dojo and Jquery at the same time, well that's sounds like bad architecture planning. Would using Coldfusion, PHP and Python in the same file sound like a great idea? Ok maybe that's a bit much, but how about several templating systems nested on top of each other in a python app such as mako, django templates, and clearsilver. Does that sound like a good idea? Don't mix JavaScript frameworks .
> Don't mix JavaScript frameworks .
That's my whole point. JQuery should just be for DOM manipulation (not a full fledged application framework) but the core Javascript library is so terrible it needs to include things like each, grep, map, and an implementation of string trim for Pete's sake!
PHP is a terrible language for encapsulation, but at least I have chance if I want to include more than one PEAR library. Encapsulation is possible - for instance I can bootstrap a Zend Framework application inside something else and I know it will work because it uses no global variables and it's simply not possible to extend the core language.
So what if I use Dojo and do really like a component in JQuery UI? If you don't think that's a severe and damning limitation then that's a failure of imagination.
return { something };
and return
{ something };
are not equivalent in Javascript?Microsoft putting all its strenghts in standards and innovation?! On what planet does the author live?
So in my book they are a bit behind in the innovation department.
IE 5 was some time ago. A more recent view on the approach to standards is at http://www.tbray.org/ongoing/When/200x/2008/03/02/On-OOXML particularly in the paragraph titled "Con: Standards Process Abuse".
http://en.wikipedia.org/wiki/Tasman_(layout_engine)
And it proved how ahead of its time it was by also being abandoned by Microsoft before they allowed IE6 to stagnate on Windows when they realised that good browsers and a viable web weren't in their business interests.
The author is correct that if Micrsoft went full bore for web standards, not only would they be commiting suicide by undermining their own Office and desktop OS monopolies, they'd destroy Adobe in the process. Luckily for Adobe they're not taking that course.
(I really can't tell if you're serious about thanking Microsoft for AJAX, being forced to build rickety technologies on top of whatever random ActiveX functionality they leave lying around isn't something I'm thankful for)