The Forgotten Macro Language of HTML: XBL 2.0
tvlinux writes "The web is becoming more than just a media display; there is more interaction and more special things that need to be done. Right now, jQuery is the preferred method of a very dynamic user interface. There is a W3 standard called XBL2.0. It is the macro language of HTML. To me it seems like a great idea — reusable HTML widgets, where each one is a separate object contained with in itself. You can define properties, methods, and events, each of which is self-contained. If the browsers supported XBL2, I can envision a whole ecosystem of new widgets, charts, grids and inputs that people could add to web pages just like any other HTML element. I see less experienced developers being able to create fancy websites by just using DOM and not having to learn jquery. My question: why is XBL dead? I think a macro-language for HTML is a good idea."
XBL is alive and well, but only for XUL. Looks like another casualty of HTML5's rejection of XML.
A Mozilla-only technology that no other engine supports doesn't really qualify as forgotten, even if someone submits it to W3C.
Did you even read any of the documents you linked in this post? XBL was never a macro language for HTML, though it could be used for that purpose. It was created by Mozilla specifically for use with XUL. They submitted it to the W3C as a Technical Note (http://www.w3.org/TR/2001/NOTE-xbl-20010223/), and their implementation didn't match the specification they submitted, so naturally it didn't go anywhere. XBL 2.0 was done properly, and is at the Candidate Recommendation stage. However, it will likely never go beyond that: not just because it hasn't for 6 years now, but because the W3C requires two complete and interoperable implementations to exist. Since all the other browsers already have their own ways to mangle CSS into non-standardness, there's not much interest in adopting it.
XUL: Do you want this <body/>?
Venkman: Is this a trick question or what?
XBL was disregarded long before HTML 5 by all browser makers except Mozilla, so trying to pin blame on something that didn't even exist is ignorant and downright rude.
"Wait. Something's happening. It's opening up! My God, it's full of apricots!"
Plain old HTML:
<li onmouseover="doSomething();">...</li>
Same thing with XBL:
<xbl xmlns="http://www.w3.org/ns/xbl">
<binding element="#nav li">
<handlers>
<handler event="mouseover">
doSomething();
</handler>
</handlers>
</binding>
</xbl>
HTML, XML, and really the whole SGML family kind of suck-- ugly syntax, annoying to hand-edit, lots of boilerplate, and the list of faults go on. The idea of writing actual programs in such a language is terrifying.
Maybe (ok, almost certainly) he is, the problem is that everything he wrote is true.
It's been superceded by Web Components: https://dvcs.w3.org/hg/webcomponents/raw-file/tip/explainer/index.html
That's why it's dead.
Those figures are for IIS 8 specifically, not IIS in general. That just means a new version was released, and while only one guy way using it 6 months ago, there's now a few hundred active instances, so the statistics fly all to hell...
Netcraft says all Microsoft web servers, combined, total just 12% of active sites, as of Feb 2013: Google's own custom, in-house web server may soon surpass IIS in market share.
Meanwhile, Apache and nginx total 67% of the market.
http://news.netcraft.com/archives/2013/02/01/february-2013-web-server-survey.html
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
If you only know Apache thats all you see acctually according to some websites IIS is the fastest growing. http://trends.builtwith.com/Web%20Server/growth#!sixMonths With nearly 10x more users than 6 months before, you are also hard pressed to find a graph which shows less than 40% IIS usage.
Step outside your bubble before you make huge sweeping statements like this.
Unfortunately the stats you refer to are for IIS8, and are linked to a corresponding decline in IIS6 as people upgrade. If you look at the stats for all versions of IIS on the site you link you will see that far from being the fastest growing, IIS usage as a whole is slowly declining.
The web world evolves. That's a good thing.
I have tried very hard by 2 times to use Dojo to develop a web application (1st try in the 1.2 era and the 2nd try with 1.9 since a week).
I get it somehow working with the 1.2 version with some workarounds (eg: I can't get it to insanciate a message box on demand. I have to have one hidden in my page, replace its content and display it when needed).
With 1.9, I can't even get it to load some HTML to put an horizontal menu in a content panel. And all the examples I find on internet are from older versions of dojo.
If I could just find some kind of template application with a login screen and a master/detail screen with the basic ADD/UPDATE/DELETE sub screens all done within one html page. I could start from that. But for now the examples are not enough to start using dojo has it should be used. And the available examples are diluted in the google results in a way that they are nearly impossible to find :/
I contrast jQuery is simpler to use, get a lot of plugins to add what you need it to do and 'lighter' that you can split your application on multiple page without having a loading time betwwen user intercation too long making the application feel unresponsive...
I like really the design of Dojo. But the step is too high for me to use it :( I should stick to jQuery :/
Yeah, that terrible Microsoft. They have one technology, ASP.NET, which over time loses favor. As does all the similar Web technologies like JSP etc. It turns out that the whole thing with pages and code-behind is a bad idea. Along comes Ruby and Rails, and things change. Microsoft sees that this is a Good Idea(TM) and they make their own similar stuff. As does everybody else. Lots of cross-copying takes place. Microsoft makes the (arguably) best template engine (Razor) and the Java world copies that (Play! Framework).
This is the natural way of things. Only when Microsoft does it it must be evil.
Seems like the mental faculties of the average /. reader is dropping faster than one would expect something sitting in a standard 1G well.
This is how you do decent shilling. Everything he said is true, his problem was his omission. The MS stack does provide a reasonable MVC programming model for web applications. So do a number of other competing frameworks, many of which are more scalable, free (to deploy and to get the dev tools), cross-platform (do you really want to be forced to run Windows on your server? Even if you like the platform, you'll pay more if you want to deploy it in something like EC2 because of the HVM overhead), and which have been around longer.
I am TheRaven on Soylent News
No, the problem is that everything he said is off-topic
Man, among shills, you are king.
Everything he said is true
OK, just curious...
more scalable
The MS stack scales pretty well these days. IIS is not at the top of the line but neither is it IIS5 or IIS6 which were pretty bad. If you can run the iCloud on Windows Servers (they do) then you can scale on Windows.
free (to deploy and to get the dev tools)
The only thing that is not free for the ASP.NET stack is Windows on the box you develop. Both the stack and the dev tools are free. The express versions of Visual Studio are basically fully functional except for TFS (and a few other minor issues) but I use Git also for my Win development, so that is not an issue.
cross-platform
Mono is coming along quite nicely. I run two .NET MVC sites on Linux/Mono.
(do you really want to be forced to run Windows on your server?
For the majority of enterprise businesses, that is the only thing they do, and they should not even consider thinking about hiring someone to wonder if the should deploy Linux boxes in their business. Anyone small to medium enterprise thinking about putting stuff on Linux should do so in the Cloud, not on premise, but a lot of companies wants or needs their servers on-premise, and the majority of them should use Windows. It's what they know and the training cost alone for putting Linux in place would be a silly investment. Windows just works for most people, and that's good enough.
The absolute minimum a developer needs to know in order to create a web application these days is: HTML, CSS, Javascript, some programming language on the server (e.g. PHP, Java, Python) and something to store stuff on the server (e.g. MySQL, PostgreSQL, CouchDB, MongoDB). It's also nice if the developer knows how his webserver works. At the very least he should know how .htaccess files work so he can configure his web application to work the way he wants.
Then there is not really necessary but certainly useful stuff to add like an Ajax library (jQuery, YUI, Dojo etc.) and a CSS preprocessor (SASS/SCSS). And there is a bunch of other useful stuff that doesn't really require any training, but they are beneficial to the development of your project like normalize.css, modernizr and html5shiv. These things help to make your web app cross browser compatible and make sure they sorta work with old (but not too old) IE's as well.
And because this is already a lot of stuff and you dont need to invent the wheel for the millionth time, it may be nice to wrap both your clientside and serverside code into a framework. This also helps to prevent things from getting too messed up as the project grows.
For the clientside the choice is relatively limited as Javascript is the only language available. A selection of different frameworks for review is available here: http://javascriptmvc.com/
For the serverside you pick a framework based on your language. Or you pick a language based on the framework you choose. Its up to you.
So no, we dont need yet another language on top of all this, thank you very much.
Pretty good is actually pretty bad.
Good
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
SOOO GOOD that microsoft had to create ASP.NET MVC in order to be competitive :)
Cough ... Silverlight ... cough
In other words, Netcraft confirms it: Windows is dying.
I am officially gone from
I have tried very hard by 2 times to use Dojo to develop a web application (1st try in the 1.2 era and the 2nd try with 1.9 since a week).
I get it somehow working with the 1.2 version with some workarounds (eg: I can't get it to insanciate a message box on demand. I have to have one hidden in my page, replace its content and display it when needed).
With 1.9, I can't even get it to load some HTML to put an horizontal menu in a content panel. And all the examples I find on internet are from older versions of dojo.
If I could just find some kind of template application with a login screen and a master/detail screen with the basic ADD/UPDATE/DELETE sub screens all done within one html page. I could start from that. But for now the examples are not enough to start using dojo has it should be used. And the available examples are diluted in the google results in a way that they are nearly impossible to find :/
I contrast jQuery is simpler to use, get a lot of plugins to add what you need it to do and 'lighter' that you can split your application on multiple page without having a loading time betwwen user intercation too long making the application feel unresponsive...
I like really the design of Dojo. But the step is too high for me to use it :( I should stick to jQuery :/
Consider yourself lucky. I had to refund 2 months worth of billing because my attempts to use dojo/dijit were such an abject failure that the client rejected it outright.
Dojo was really hot when it was new, but I had the misfortune to try it when it was at a low spot. It also didn't help that I was attempting to plug it into someone else's DIY JS framework and they had mis-redefined core JS functions.
jQuery has been a lot friendlier to me.
I suppose ignoring the fact acronyms can be more than one thing makes your comment relevant.
The sad truth is that html5 is failing to take off.
HTML5 failing to take off? What? Who the hell starts a web project and *doesn't* do it in HTML5? And that's been the case for at least a year now. Whether it's an official standard or not makes no difference, the reality is that all current and previous versions of all major browsers do HTML5 and devs know this and use this to their advantage.
HTML5 may not be the best thing since sliced bread and it doesn't solve all of the problems in the world, but it is being used and not by a small amount either.
Maybe you're confusing HTML5 with Windows 8? Because only then your statement would make any sense.
Pretty good is actually pretty bad.
Xbl is dead because it's got a steep learning curve and is painfully abstract. Having written a fair amount of it, it took quite a while to get used to. I used while doing a bunch of xforms work with the Orbeon engine; but even they have dropped support for it as their component model. It was pretty cool, you could nest a number of XBL components together and have them render based on the data type of your XML element. An example would be an XBL phone number editor. Every time your schema used that type in your form you always got that editor for it; but debugging was impossible. It all happened in the dark on a cloudy night through three layers of fog snow rain and ice.
XBL stands for XML Binding Language
http://en.wikipedia.org/wiki/XBL
XBRL stands for Extensible Business Reporting Language
http://en.wikipedia.org/wiki/XBRL
http://www.xbrl.org/
Just remember that ISS is mostly used on internal servers. Netcraft doesn't and can't access that information.
Just remember that ISS is mostly used on internal servers. Netcraft doesn't and can't access that information.
Not true.
IIS may be mostly used on internal servers. The ISS is as external as you can get.
What??!! Pretty much anyone who does web development is using HTML5. Is there even an alternative in the web world? "Nah, I think my new web application will only target HTML4 cuz all my customers use IE6". Sure, more consistent standards would be great, but with modern libraries, even that is not nearly as big of deal as it was in years past.
>less experience developers be able to create fancy websites by just using DOM and not having to learn jquery
and you expect more experienced developers to make this happen? Look at lawyers and the law since the 1600s - when has it ever gotten simpler or easier for newbies?
No it stands for XBox Live.
GO acronym wars!
Though technically XBL is an abbreviation, not an acronym.
That's not really the problem. Sure, it takes more code to define a reusable template than to just use HTML to define a use-one widget, but that's expected. The savings from templates come from reuse, not from using them once.
XBL 2.0 is not a W3C standard, its a W3C Working Note -- which is very far from a standard -- that has a big fat "no one is maintaining or implementing this" on it.
It seems to be dead because the competing HTML Template (current W3C working draft) model was more successful in attracting commitments from implementers.
He didn't mention MVC, he was talking about WebForms so I don't think what he said is true, as all attempts to make web development like forms development to date has been complete and utter crap. WebForms forces you into a paradigm that often suffers impedance mismatch relative to the way the web and HTTP actually works in practice, and often can result in unnecessary transport overheard to support the faux event-based model.
In contrast, I'd say their MVC implementation is actually quite excellent, and it scales as well as the competition- it's only really a handful of the Java alternatives that may scale slightly better (or a custom C++ solution, but that has it's costs in terms of increased development time and higher potential for security nightmares and serious bugs). Just about all of the other alternatives scale much more poorly - Ruby, PHP, and yes, I'm afraid even Python right now (even though it's a great language in it's own right). As such I wouldn't really say ASP.NET MVC has scalability as a concern, it's not one of it's weaknesses relative to the market in general, in fact, it's one of it's strengths in that it's the only true mainstream alternative to Java in most cases. The other things you say are however largely valid:
- Cost is certainly true, though if scalability is an issue you will surely be working on something with a large enough budget that the cost of IDE is a negligible fraction of the total cost of development. This is also a cost that may even be paid for in increased developer productivity through having decent tools. Similarly the increased cost of Windows Server hosting isn't likely to be an issue if you've got a product that requires some reasonable degree of scalability, the additional cost is once again going to be a tiny fraction of your total costs, though if you're really trying to maximise profit margins this will have some impact. The cost thing is of course an issue if you're a lone developer or a small start-up, that's certainly true.
- Cross platform, obviously a bit of a problem here and I agree. If you don't want to use Windows I wouldn't even bother looking at a Mono based solution, by the time you're done fucking around with Mono you may as well have just used Java or whatever in the first place.
John, you'll have to mention Natalie Portman or Soviet Russia to have any chance of fooling anyone on Slashdot. Do some research first.
'MFC-based Windows programming'. Really? You're not going to win us over with that argument.
The Moore-Murphy Law: The number of things that will go wrong will double every 2 years.
[...]separate object contained with in it self.
Honestly, is this where the English language is headed? Breaking up words until all sense is lost?
A camel is a horse created by a committee
Intranet. They serve up LOBs, and various support systems.
Two of my imaginary friends reproduced once
Okay, I'll bite.
For the majority of enterprise businesses, that is the only thing they do, and they should not even consider thinking about hiring someone to wonder if the should deploy Linux boxes in their business. Anyone small to medium enterprise thinking about putting stuff on Linux should do so in the Cloud, not on premise, but a lot of companies wants or needs their servers on-premise, and the majority of them should use Windows. It's what they know and the training cost alone for putting Linux in place would be a silly investment. Windows just works for most people, and that's good enough.
This is complete and utter bullshit. Properly configuring a windows server with active directory, samba, exchange, etc is not trivial and should not be done by the stereotypical nephew of the SME owner who is good at computers. Setting up a linux server with SMB, IMAP etc is also not trivial but imho easier to set up and keep secured. Also, to an SME the cost of a windows server license is not trivial and you should be able to hire a linux pro to set up and maintain the server for less than the cost of the license if you don't want anything fancy.
I think any small, medium, or large enterprise that does not consider linux (on-site or in-cloud) as a viable alternative to windows servers is not doing good business.
You should not confuse support and necessity with success. HTML5 is used for web apps because it's the only game in town. However, now that the hype has finally started dying and the pretty packaging burned off, its true competence is being seen. It serves certain niches pretty well, but it is built on a foundation too small to support the roles people were trying to shove it into. It is--as the saying goes--"too big for its britches". You cannot efficiently, and easily produce quality products from consumer grade equipment and that's precisely what HTML5/JavaScript are. Its heritage is that of a technology conceived and intended to be accessible to anyone with a modest amount of computer savvy and a "...for Dummies" or "...in 24 Hours" book in hand.
Management is finally starting to realize the true cost of HTML5/JavaScript and are making decisions that reflect that. In the mobile space for instance it is exceptionally likely that you will find a native app offering as the "preferred" means of a company interfacing with you. You can get the stripped down, and/or clumsy HTML5 site or just download our app. Select any Windows PC, Mac, or Linux computer and you will almost always find native apps taking center stage for its respective user.
Two of my imaginary friends reproduced once
Companies big and small provide employee-only web interfaces to perform administrative tasks. These web sites are uniformly awful.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
It's true native apps are still usually richer and faster than web applications, but if you compare the state of the web as an application platform today with how it was 5, 10 or 15 years ago it's very clear it's becoming more competent every day. Nobody expected HTML5 to be a magical leap, but it is solid progress and it isn't slowing down either. I wouldn't call HTML5 a failure at all. It's a great step forward, no more and no less.
Pretty good is actually pretty bad.
XSLT is an XML *implementation*. You write the transformations (the T in XSTL) in XML... So contrary to what you implied, you *do* write the programs in XML...
Perl Programmer for hire
"XSLT is an XML *implementation*."
Mod up for funny. That's hilarious! :)
XSLT is NOT XML. It's a programming language created to manipulate XML, but it is not even remotely written in XML. I mean, not even close.
You are confusing a programming language with the data it was designed to manipulate.
libxslt, for example (one of the implementations of XSLT) is written in C. Xalan is available in Java and C++ versions. No XML anywhere in sight.
There are tons and tons of internal web servers run on Apache / Nginx as well. I'd expect the breakdown to be pretty much the same.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
*sigh* there are plenty of programming languages that are not written in itself. perl is not written in Perl, but C and still Perl is a programming language. XSLT is indeed written in XML, but it's not coded in XML. It can be coded in C, Java, whatever.
Perl Programmer for hire
XBL stands for XML Binding Language http://en.wikipedia.org/wiki/XBL XBRL stands for Extensible Business Reporting Language http://en.wikipedia.org/wiki/XBRL http://www.xbrl.org/
Ffffffuuuuuuuu....
the problem is that everything he wrote is true
First of all, not everything he wrote is true. Second, even it it were, I don't see how "tool X works!" could ever considered a problem by anyone. In polite society, It's usually considered a problem when something doesn't work.
Ezekiel 23:20
"sigh* there are plenty of programming languages that are not written in itself."
Balls. I did not misunderstand you. You stated that XSLT is an "implementation" of XML. By definition that would mean it was CODED (since you insist on making the disctinction) in XML. It wasn't.
If that wasn't what you meant, then you misstated your case. It wasn't a flaw in my understanding.
Man Intuit is fast!
http://support.quickbooks.intuit.com/support/articles/INF21187
XSLT is way worse than Lisp. The syntax is hideously verbose, the semantics is too weak - you can't even have higher-order operators! People suggest to generate xsl files from other xsl files to expand higher-order templates into first order templates. That's rather sad.
I think the only reason why XSLT caught on is the boiling frog phenomenon. Of course, it's just an urban legend, you can't actually boil a frog that way in real life, nature is way too smart for that. But your average programmer is stupid enough! Hook them on with trivial examples and watch them sweat when the real-world demands actually appear.
Or perhaps it's like hard drugs. The first dose is pleasant, and you get it for free! What they don't tell you is what follows.
Ezekiel 23:20
XSLT is an XML *implementation*.
I think the accurate, technical, official, W3C-approved term you're looking for is "XML application".
Ezekiel 23:20
Yes, my bad. Thanks for the correction.
Perl Programmer for hire
X is an implementation of Y means that X implements Y. There is no implication of the language that X was coded in.
Contribute to civilization: ari.aynrand.org/donate
Forget the cloud, here comes LEO!
And it works so well.
Halfway through the comments as I post and, shill or not, the 'topic' has been wonderfully sidetracked.
Anyone look at or use XBL?
By this definition the official Python interpreter is not an implementation of Python, since it's written in C instead of Python.
Forget magic. Any technology distinguishable from divine power is insufficiently advanced.