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.
If you want reusable, self-contained widgets that can be used to construct new more complex widgets that can int turn be distributed as self-contained reusable widgets, have a look at Dojo/Dijit. Basically, Dojo is a library that does what jQuery does, but a slightly worse, and Dijit is a library that does what jQuery-UI does, but about a million times better.
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!"
Unfortunately that means you have to run a Windows server for your website, and Windows is dropping like a lead balloon in terms of web server statistics.
The current enterprise web stack is actually something along the lines of Java + Spring (Beans, DI, Security) + Apache Wicket (OO Ajax UI) + Hibernate (DB). The DAO layers being abstracted enough that they could be direct database access or remote method calls via your favoured protocol (RMI, SOAP, JSON, PB, etc).
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
Like in... XSLT?
I don't know whether you were being ironical or not. But the amount of bad taste coming from this XML direction is almost boundless. Even programming.
Get your proprietary shit off my Slashdot, Microturd scum!
Yeah right. ASP.NET is great for creating a simple page for 5 minutes. :)
For the normal "tasks" - it's SOOO GOOD that microsoft had to create ASP.NET MVC in order to be competitive
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.
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.
XBL stands for eXtended Business Language and is designed for the financial accounting of a company. Corporations must transmit their data in XBL to the SEC for quick analysis. I guess it can be used on the web, but it's much more of an internal language.
Looks like many Slashdotters can spot a fucking shill when they see one.
I heard Orthy is looking for work too, why don't you go suck his dick instead of astroturfing here? Then you'd both feel better.
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
The sad truth is that html5 is failing to take off.
- whatever the reasons for this, and many of them are structural, the w3c must share some of the responsibility.
If they had any credibility before, surely it's gone now. Most devs I know will take the attitude that they need to put their 'standards' where the sun won't shine. And then some.
In other words, Netcraft confirms it: Windows is dying.
I am officially gone from
When I come to a site like Slashdot, in large part it is because of the high quality of the comments, which in turn is because of the high quality of both the moderation and people like Chrisq who expose the shills.
I can go to any site I want and wade through paid shills and astroturfing and personally try to investigate any one, but who has time for that? I come to Slashdot because I don't have time to waste. John Wagger can take his evangelism and go to hell or one of those myriad shitty sites that respectable nerds avoid because they're infested with his kind.
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.
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?
He's got that little star because he's paid for Slashdot membership. That means he can see articles before they are visible to the rest of us. Not saying he isn't a shill, but the time isn't a smoking gun.
We get it, you're defending a shill because you too are a shill.
And the name calling begins... Let me join in!
Anonymous Coward!!!
What is the point of an internal web server? If it is development then i think you could argue that all servers have internal versions to develop on.
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
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.
Why? Because you said so?
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.
Windows "just works"? AHAHAHAHAHA. I might buy into your argument if you were talking about desktops, but we're talking about servers.
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.
To a small or medium business, setting up Linux is pointless. None of their software runs on it. You can complain to Intuit until they port Quickbooks and see how far that gets you. Or save your breath. Your choice.
Meanwhile, there are companies that will set up, administer, and maintain a Windows network for a reasonable monthly fee. $2k for full managed service is half the cost (or less) of a full-timer that can't do anywhere near that much work with that level of skill or expertise. Granted, that type of service isn't cheap enough for a start-up, but a small-to-medium enterprise (to clarify "SME" in the parent post) can afford it.
I happen to work for a company that does exactly this. We sell network management and maintenance contracts to businesses that don't want to have their own in-house IT department. A few of our clients have some Linux boxes on their networks, and we work with them with no problem. We also sell custom development work, mostly .Net. We could do Linux-based development, but, quite frankly, there's zero demand for it. I know this because I'm a developer, not a network guy. We've tried to sell development work to companies that already had Linux. All of them so far have opted to retire the Linux software they had been using in favor of custom .Net development.
YMMV.
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
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
Man Intuit is fast!
http://support.quickbooks.intuit.com/support/articles/INF21187
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
I agree, but here is the rub. They are going to need to have well trained Windows staff no matter what. There is no escaping Windows since you have to have it on the desktop (for 99% of all enterprise this is true) anyway. So, you can train your staff properly on Windows or you can train them on Windows and Linux both. In reality, a single guy can have complete control of a reasonably sized Windows network with one or two first-line monkeys. Add Linux to the mix and you are complicating it greatly. There is no need for business to complicate anything at all. Since licensing cost, compared to staff and other cost for a company, is small (close to negligible) it is not much of an issue.
Also, to an SME the cost of a windows server license is not trivial
Yes, it is.
I think any small, medium, or large enterprise that does not consider linux
They should, and in most cases, they should not go for a mix of Linux and Windows. Adding complexity, and it is adding complexity no matter what you personally feel when you add multiple operating systems to the mix, is never a good idea. Personnel cost beats licensing cost all the time.
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?