6 ms·
XUL was amazing, and they abandoned it. This obsession with making everything "web" friendly is backsliding desktop into horrible, non-native UI.
by tomc1985 7y ago
XUL was amazing, and they abandoned it.
This obsession with making everything "web" friendly is backsliding desktop into horrible, non-native UI.
- ainar-g 7y agoWhat is the closest thing we have left that is close to “mostly declarative GUI”? QML? Tk? Please don't say Electron.
- fiddlerwoaroof 7y agoReact Native? SwiftUI?
- tomc1985 7y agoGTK sort-of fits the bill
- djsumdog 7y agoI recently built something with PyQt bindings and it works really well: https://gitlab.com/djsumdog/mpvbuddy https://gitlab.com/djsumdog/mpvbuddy
- tomc1985 7y agoIn my previous job I wrote a couple of not-too-complicated apps targeting Linux in PyGTK and I found it to be pretty pleasant, except when it came to custom styling.... mainly because the styling language does didn’t seem well documented and i found it to be somewhat arcane. Didn’t stop me though and the project got done. I wouldn’t mind working with it again
- FussyZeus 7y agoUgh, Electron. I'm sure there are ways to make it good but sweet Jesus Electron is not it, at all.
- repolfx 7y agoThere's JavaFX with FXML.
- zerkten 7y agoXAML, but it Microsoft-specific. While not completely uniform its use does extend across desktop and mobile. I wouldn't make the argument that it's intuitive or simple, but it is powerful.
- pjmlp 7y agoJavaFX and QML are pretty much based on XAML.
- zaphirplane 7y agoXaml and Javafx where released within 6 months of each other I kinda expect parallel implementation rather than copying. Just form the dates in Wikipedia
- pjmlp 7y agoJavaFX was initially J3, and then it was rebooted into XAML like. Also you're forgetting Longhorn SDK was available as preview before the project was canned. But yeah just conspiracy theories from my side.
- Marazan 7y agoMXML. The Markup system for Adobe Flex is almost certainly the inspiration for both.
- zamalek 7y agoWPF is open source[1], but there isn't any effort to port it as far as I know. WPF also had a few warts compared to Silverlight. [1]: https://github.com/dotnet/wpf/ https://github.com/dotnet/wpf/
- lpcvoid 7y agoLazarus/Freepascal. Cross platform, real native x86_64/ARM/Atmel/Etc.
- Touche 7y agoXUL wasn't native.
- tomc1985 7y agoIt rendered GTK I believe? Which used native controls. I used to build a Firefox addon and the things you could do were amazing -- I could render into the status bar and popup a native window fed with data from a remote server. All from an XML file and some javascript! And you could style it with CSS! The hacks and contortions addons have to go through now just to do something like that are insane, and the results are almost always janky as fuck.
- muizelaar 7y agoXUL is just themed to look like GTK it's no more native than HTML is.
- tomc1985 7y agoIf whatever’s rendering eventually maps to native API calls I’d consider it native, and I’m pretty sure GTK does native calls. If XUL really did mimic GTK (which I’m pretty sure it doesn’t, a lot of other GTk apps had the same feel as Firefox back when most of its UI was native dialogs) then it’s the best damn mimic job I’ve ever seen
- mod50ack 7y agoXUL had bindings to supported native widgetsets.
- anoncake 7y agoThe important part is how it appears to the user. XUL appears like a proper native program, not like a web page.
- dvh 7y agoXUL was pile of garbage riddled with bugs. I've made Todo app in remote XUL and every 30 minutes of development I encountered some major functional bug. Idea was great but implementation was terrible. I've used many UI frameworks over the years but when I see three letters XUL, the first flashback I have are all those bugs.
- vbezhenar 7y agoThat's surprising. I wrote an extension back in the days, I think it was Firefox 1.5, I used XPCOM to use C code and it worked well. I don't remember stumbling into too many bugs. Actually I liked XUL and I thought that it has great future, because it was so much better for UI than HTML.
- The_rationalist 7y agoWould you care elaborating why it is better than HTML5?
- kevingadd 7y ago"HTML5" + things like css grid and flexbox that you need to build UI in a sensible manner are pretty new inventions. XUL predates them dramatically, building UI in HTML at the time would have been an absolute nightmare. I know because I had to ship it in multiple applications
- The_rationalist 7y agoI understand that it probably was a better technology at the time. But are there any concepts/technologies in XUL that would be useful to add in the HTML standard?
- xeeeeeeeeeeenu 7y agoIt's a minor problem, but CSS, unlike XUL, doesn't provide a way to crop text in the middle[1][2]. [1] - https://www.w3.org/wiki/Text-overflow_middle_cropping https://www.w3.org/wiki/Text-overflow_middle_cropping [2] - https://developer.mozilla.org/en-US/docs/Archive/Mozilla/XUL/Attribute/crop https://developer.mozilla.org/en-US/docs/Archive/Mozilla/XUL...
- ding_ding_dong 7y ago>XUL was amazing Yeah, you definitely have no clue or you are the worst programmer on Earth.
- nine_k 7y agoXUL was like the early internet: full of amazing possibilities, open, and security-oblivious. Web extensions are severely limited, mostly because of security considerations, that is, to protect against malicious code. Web is no more a friendly children's sandbox it was in 1995.
- jdjdjjsjs 7y agoWeb extensions are not limited because of any inherent limitations in technology but because of policy. If Firefox wanted they could have created a new extension system with XUL that would also have the same limitations the web extensions do. For fairly obvious reasons they decided to transition to Web tech based extensions and used that opportunity to tighten up security as well.
- silon42 7y agoWhenever you have a chance to do something in a declarative way, it's the better way to go IMO. Sad to see XUL removed... newer Firefox extensions are integrated much more poorly and are slower when the browser is busy (due to JS). Probably not noticeable for one tab though.
- Faark 7y ago> security considerations, that is, to protect against malicious code. Only in the "cannot fuck up your computer" kind of way. All addons I've installed still require "Access your data for all websites", thus have full access to my online life. Thus I only install addons from sources/authors i trust, just like back when jQuery was the coolest thing.
- kzrdude 7y agoWhat was so amazing about it?
- donatj 7y agoFor it's day it really was the most "native feeling" or at least "least janky" cross platform framework.
- coribuci 7y agoIt's called "evolution". You have a tiger. You kill it. Now you have no tiger but you can have a cat from your neighbour.