Miguel de Icaza on Mono, Ximian/Novell, XAML
moquist writes "Netcraft has an interview with Miguel de Icaza, of Gnome and Ximian fame. Icaza expounds his thoughts on Mono (the .Net framework for open source), the current direction of Microsoft's .Net, Novell's acquisition of Ximian, Novell's Linux desktop environment, Linux for grandmas and kids, and "the greatest danger to the continuing adoption and progress of open source" (Hint: it's pronounced "XAML".)."
Mono means monkey.
How the hell do you pronounce "XAML"?
It's pronounced like "Zammel".
-fren
"Where are we going, and why am I in this handbasket?"
http://www.go-mono.org/faq.html#q7
XUL is more of a standard: there is a specification
which describes what things must do, and there are
a couple of implementations (Mozilla's being the
most popular one).
XAML on the other hand is a serialization format:
every tag in the XML is looked up in the class
libraries, and every attribute as an event or as
a property to be set. So the resulting markup
is just a way of creating instances of your classes.
The idea of XAML can be used with any class
library really, its not limited to Avalaon (for
instance, MyXAML is a XAML implementation for
Windows.Forms). Like I said on the interview,
what makes XAML/Avalon powerful is that it runs
on a sandbox, and it has a set of fairly recent
controls as opposed to those we have grown used
to on the Web.
Miguel.
This will hopefully attract developers who want want to go the Mono route but can't afford to lose their existing codebase/knowledge.
The comfort you demanded is now mandatory - Jello Biafra
Does that technology sound familiar? Oh right, it does!
Obviously, Mozilla's focus is on "cross platform," whereas Microsoft would much rather just focus on the one.Sorry, posted in plain text on accident..
Macromedia Flex
Macromedia Central
MXML
ego7
-ashot
Hmmm... Consider this:
Director of Quality Assurance write macros (basic) for his Microsoft Excel Spreadsheet that generates graphs based on collected metrics data and populates a web site.
Director of Engineering works with consultant to design user interface for CMM PAL (process asset library)
Director of Software Engineering implements defect tracking system, with metrics managemenet system
The list goes on and. Lots of business people are creating small applications. The spreadsheet is one of the most common applications used by non-profesional programmers to create small applications.
GigatanKramePithicus
"Non-pronouncable" abbreviations, such as SMTP and FBI, are initialisms.
;)
"Pronouncable" abbreviations, such as NASA and FUBAR, are acronyms.
And if I remember it correctly, that was the gospel, straight from my Linguistics 10 professor's mouth
XML is an initialism. XAML, although it looks like an initialism at first, is actually an acronym (pronounced "Zammel").
- shadowmatter
Having said that, why isn't there an far-reaching OSS project to replace HTML?
Well, that's not really what XAML is, it's a way of marking up UIs.
Apple does the same thing with iTMS.
The structure of iTMS XML is similar to the structure of a Gtk app (in fact, I'm currently working on implementing a viewer of iTMS XML using Gtk).
In general, iTMS XML isn't as powerful as html+css, but it does do some things that html can't do.
Because both XAML and iTMS XML mix content with presentation, neither is a good replacement for html+css, but both are interesting none-the-less.
Say hello to IKVM!. It works with Mono and MS's .Net implementation, and has already been demonstrated running full-fledged Java applications like Eclipse, along with translating between aspects of the Java and .NET world. It's a very cool project, and I look forward to seeing it completed.
using namespace slashdot;
troll::post();
Longhorn has kind of a scary technology called Avalon, which when compounded with another technology called XAML, it's fairly dangerous. And the reason is that they've made it so it's basically an HTML replacement. The advantage is it's probably as easy as writing HTML, so that means that anybody can produce this content with a text editor.
.NET language like C# or VB.NET if I'm not mistaken. Yes, XAML apps are similar to HTML pages, but they, like HTML, also need a scripting part to actually do something and not just be static. And that's what e.g. C# is for.
The main application code is supposed to be written in a
Beware: In C++, your friends can see your privates!
Very nice diagram and it'll continue to grow with other interesting projects such as Tao which adds OpenGL, OpenAL, SDL, etc as your opensource alternative to DirectX.
Hopefully those that still view C# as microsoft lock-in, will see that C# is an open (ECMA approved) language, and Mono is doing a great job of supporting it. The choice (and any potential lock-in) is really in what APIs you use, which is no different from a C++ programmer choosing between DirectX or OpenGL.
He's the most visible member of the Linux community who does stuff related to MS technologies.
.NET stuff is pretty recent. I think Jeremy Allison (of Samba fame) has to get the nod on this point.
Miguel's
May we never see th
Two reference to look at: Stephen Gilmore, Mobile Resource Guarantees Project, Laboratory for Foundations of Computer Science, University of Edinburgh, Presentation, "Comparing the JVM and .NET", here>
Jeremy Singer, "JVM versus CLR: A Comparitive Study", Proceeding of the 2nd International Conference on Principles and Practice of Programming in Java, May 2002, pp. 167-169
Both papers compared the performance of the JVM to the CLR. The first used the Pascal compiler that emitted code for both the JVM (1.4) and the CLR and the second used Java Grande benchmarkes that were translated to C# and complied to the 1.0 CLR (the Java was compiled to Java 1.4.1, with hotspot).
In both cases, the CLR beat the JVM in performance, in some cases, by a large margin. A beta version and version 1.0 of the CLR on Microsoft beat a mature version of the JVM on the Windows platform. So, the CLR can indeed be faster than the JVM.
In fact, each paper talks about how the CLR instruction is more ameddable to optimization (on any platform) than the JVM, which was not originally designed with JIT in mind.
Just FYI. Any references on Java beating the CLR to counteract the above? (Seriously. Debate is good).
I was looking for a XUL RAD tool myself the other day and came across XULMAKER
Havent tried it yet, dont know whether its anywhere near mature or not.
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.slashdot.org Errors found while checking this document as HTML5!
Which makes it more akin to the .nib files of NeXT/ OS X Interface Builder fame.
In any case, if you can break out of a chroot jail, you can break out of a sandbox. Truly malicious people will not be deterred by it.
"XAML enables you to create a UI without using code. You can create quite elaborate documents entirely in markup using controls, text, images, shapes and so forth..."
you layout the UI with XAML, you control it using embeded actions which are code. This code can be in any language and is independent of the UI. Thats actually part of the beauty of it all..
-ashot
Avalon is not really about providing dynamic "web pages", which is, at least based on my probably outdated understanding, what Flash is about...
Avalon is about providing actual *native* Win32 applications, but doing so with a simple XML-based format, and potentially in a way that is deliverable over the internet. The key difference between this and all other browser-based technologies that have preceeded this (including Flash and Applets) is the *native* part. Technically, it has been possible to do truly native stuff from the browser with ActiveX controls, but obviously this is an attempt at a technology which is far more robust, secure, and appropriate for web-based and non-web-based apps.
Will Avalon replace the need for Flash altogether? Perhaps some day, when "skinning" ability in native windows apps is so strong that you can easily throw a very fancy skin on a custom native win32 app as easily as you could design a Flash app with the same look and feel. But until then, Flash will still have it's place as a framework for "flashy" web-based apps that do not require the native win32 look-and-feel.
Yes, I know I'm using the word win32 a lot here, along with native - but let me clarify - that is just an example, since we are talking about Avalon within the Windows platform. But obviously once this XAML technology gains the potential to be "native" to any desktop system, such as GTK or KDE - so what I am talking about still applies, and even moreso - we are not talking about providing Flash-based apps that run on the native "Flash platform" which is a plugin inside the browser - we are talking about providing actual native apps that run on the platform of the desktop OS.
And in the end once the ability to do this becomes as easy (and "standard") as writing HTML, but combines the power of both native apps and fancy customizable look-and-feel of Flash apps, it starts to become clear that this is a new way of doing things over the internet that has the potential to make all of the other technologies in the browser (including HTML and Flash) become legacy.
You've just described what DCOP does in KDE. Contact info is offered by the address book component, which can be queried by the email suite, the IM tool, etc. The entire desktop is built upon this approach, in fact.
The Freedesktop group has begun working on a generalization of DCOP called D-BUS, primarily geared toward exchanging message between backend (hardware detection...) and frontend (desktop environment), if I got it right, but I think that GNOME will also eventually be able to use it to tap into KDE components as well. This would be really nice.
-- B.
This sig does in fact not have the property it claims not to have.
Moz developers out there? Excuse my ignorance, but this XAML beast sounds an awful lot like XUL. So in a sense, the OS world has had a XAML alternative for a few years now - just a damn shame the Moz platform isn't ubiquitous enough to promote proper takeup of XUL. And if XAML is such a threat (and I see why), is it being developed along some standards? Is M$ going to submit this to ECMA as well? Why can't Moz/XUL start publishing "HTML New Generation" specifications, get corp buy-in from the likes of IBM, Sun, Novell, etc. to try and get XUL and XAML to converge?
-- Manik Surtani
Yes you do. That's what an acronym is.
--
This sig is inoffensive.
How many times does it have to be said? ECMA approval says *nothing* about what patents may be involved. All the MS astroturfers - including Miguel - always brush this off with a "...oh well, yeah, patents, that'll never... OH, LOOK OVER THERE! A FLYING TAPIR!"
Of course MS would love nothing more then wide-spread adoption of it patented tech in OpenSource projects. That way they can pull an SCO, and actually have a case.
You're right - that would be a good idea.
You're a suburbanite.
Microsoft Drives me batty with their absolute flaunting of supporting open formats. Take for instance Avalon which they describe as "Microsoft® Windows® Vector Graphics (WVG) . . . and it is familiar to users of Scalable Vector Graphics (SVG)" Everytime I read a MS programming book, I feel like they have branded everything that should be considered a basic fundamental Computer Science (Use your Microsoft® Windows® mouse® to type in a Microsoft® Windows® int®). I know this is so they can prevent competition, but I just can't get over how accepting computer users are to this as a whole.
Exactly like it? I suppose so, seeing as neither work. Google treats underscores as part of words. If they had wanted to "spam" Google, they should have used dashes to separate the words. Google also ignores <meta> keywords, so both techniques are equally useless.
For those that don't speak Spanish but English with latin stems, mono* is a prefix meaning single or singular, e.g. monotheism - the belief in one god.
For those that speak slightly geeky American English, mono is short for mononucleosis, which is another term for glandular fever.
For those that speak common English, mono means a single sound source, i.e. monophonic as opposed to sterophonic.
But for the Spanish speakers of the world... it's Monkey.
* I know not it's true etymology.
It's trivial to extend XAML with C# or any other CLR source language, too.
Your XML reprocessor is going to do *what*, exactly, when it encounters some inline C#? And to what are you going to translate the whizzy graphics, animations, videos, and other effects?
XAML is just the surface, an easy-to-use XUL + Flash language. Scratch below that and you get the Avalon engine and the .NET runtime. That combination is not something lying around on today's Linux, and not something you can whip up in an evening.
Although Mono gives us a good start on half of the substance behind XAML....
eclipse.org
i develop in both c# and java and both ide's are excellent. java actually has the productivity advantage over c# though because of maven, junit, dbunit, apache commons, and jcoverage technologies that c# does not even come close to due to it being a new and immature language currently but i'm quite certain that c# will have tools to one day compete with java on a productivity level.