Re: Creating Flex Components
Posted: Aug 24, 2007 7:25 AM
> There is no need integration use case for MXML that I have
Never say never. It would be not so nice, potentially harder, to generate files from tools, if the format would be proprietary.
> ... the biggest advantage of XML is the tools. That's a good
> enough reason for your average IT department to choose XML
> as a configuration format but Macromedia has the resources
> to create a parser.
Of course Macromedia would be able to create a parser. But it wouldn't be able to train its user base in a proprietary format as easily.
> There are actually a lot of good
> tools for creating DSLs these days so this argument is
> weaker than it used to be.
IMO, not so. Been there, done that, won't ever do it again if I don't have to. Designing a DSL is usually no trivial task, no matter what tool support you have. More so extending it after an initial version. You usually end up with a messy language, not quite fit for your purpose, but also not quite as easy to extend as you'd like/be able/willing to accept. DSLs are a good idea only when there's clearly a very limitted context in which you want to use the DSL, and where the risk that the DSL as you design it first isn't a perfect fit is very low.
Strictly for configuration data, before XML there was .ini or the various formats found in /etc on Unix-likes or Linux. Then there is the windows registry. Neither seems a better solution to me.
So IMO using XML as a universal language for storing configuration is a good thing.
As for XML being strictly hierarchical: IMO it is powerful enough so you can depict structures which are not hierarchical also.
The only alternative to XML which comes to my mind is JSON. But IMO this is way less familiar to web designers, and cannot be made as verbose as XML. Besides, for more complex structures, it is IMO less verbose. And there are fewer parsers available.
On the other hand, you cannot look at XML in isolation of other related technologies, not just tools. For instance XSLT, xpath and all the other stuff related to them. XML alone would probably not be a very bright idea for anything, because you'd still be forced to process it in code you have to write, but in combination with other technologies many things become easier, not only by being supported by tools. Like for instance code generation, UI generation and the like.
Nevertheless (to return the discussion to its original topic), I don't see flex as the new killer UI technology. It's closed, it's at the whims of one single commercial entity, there's little support for it from programmers typically doing desktop apps, there's little support for it from programmer typically doing server-based development, and from a user's point of view it has a behavior similar to that of Java applets - i.e. it tends to download slowly and requires a plugin and a supporting browser. The only ppl who seem to like it are ppl doing heavy web sites, requiring a lot more work in the UI than on the backend. I don't think there's the big money, or the big pile of work.