11 ms·
Web Based Qt Design Viewer
- giancarlostoro 7y agoThis is amazing. WebAssembly is going to take the web into interesting waters.
- pjmlp 7y agoYeah, back to Flash, ActiveX, Silverlight, Java days, just now you cannot turn it off.
- smhenderson 7y agoAt least there is nothing to install for WASM. Plus you're getting updates when the browser updates and don't have to worry about updating other things independently. I do agree there is some potential for misuse here but that's pretty much true of any web based tech in the last couple decades.
- tenaciousDaniel 7y ago^ this is the single most important point to make here. The design issues with Flash were not the reason it was abandoned. It was abandoned because it was not a browser standard, and Apple decided not to support it with iOS. The idea of rich, interactive content that lies beyond the scope of html is still a great idea, even if the some of the results were kinda crazy.
- pjmlp 7y agoThing is, Flash wasn't abandoned at all, just in the minds of anti-Flash crowd. It is nowadays called Animate and it also supports AOT compilation to native code, including iOS deployments.
- tenaciousDaniel 7y agoNice
- giancarlostoro 7y agoHow long till it compiles to WebAssembly I do wonder.
- pjmlp 7y agoYeah, that would be a sweet revenge.
- tambourine_man 7y ago> Thing is, Flash wasn't abandoned at all, just in the minds of anti-Flash crowd. Oh, come on. Are people building full websites in Animate, like we used to in Flash? Even “export to canvas/svg” features haven’t caught on. Most web banners I see are being hand coded. What precompiled Animate iOS smash hit have seen on the App Store lately? How many copies of Animate (excluding the “All Apps” plan) do you think Adobe sells (rents)? I’d go the other route: Flash just isn’t dead in the minds of pro-Flash crowd.
- pjmlp 7y agoThen you need to have a better look into Adobe shops. As part of the pro-Flash crowd I am happy that Animate is not the only option, we have Blazor, Unity, Qt and plenty of other stuff in the process of taking advantage of WebAssembly, WebGL and eventually WebGPU. The Pandora box is already open.
- tambourine_man 7y agoWe are all glad the pandora box is open. I’m just saying Animate is next to irrelevant in most applications. Do you have links to great content being created on this platform?
- pfranz 7y agoI loved Flash for those things. However, a majority of my interactions were websites for things like restaurants where I couldn't copy/paste basic things like the address, didn't have progressive loading, search, bookmarks, scrolling and the performance was abysmal. Flash could technically do all of those things, but never happened in practice. html5 was supposed to bring all the cool things Flash had without most of the annoying things I mentioned above. I saw some cool tech demos years ago, but for whatever reason (lack of good artist tools?) I haven't really seen much in years.
- AnIdiotOnTheNet 7y ago> Plus you're getting updates when the browser updates Yeah, this is so great. I love how when Chrome updates the first time I hear about it is when people are calling me because some website they rely on is broken by some arbitrary change.
- rpmisms 7y ago"Holy crap" has become my refrain when seeing any new webassembly project. This, along with Windows 95* in the browser, just blow me away. *http://copy.sh/v86/?profile=windows95 http://copy.sh/v86/?profile=windows95
- onion2k 7y agoThe output reminds me of Flash. That's not necessarily a bad thing considering how good Flash was at some things (especially without the security holes) but still, it feels wrong.
- tenaciousDaniel 7y agoThe difference is that this is native. Super exciting.
- onion2k 7y agoIf I make a form in QT and compile it to Webassembly with this tool, will I get native Windows form elements on Windows and native OSX form elements on OSX? Or will I get the browser form elements? Or QT form inputs regardless of the OS I'm viewing it with? Looking at the sliders in the sidemenu example (http://qt-webassembly.io/designviewer/#SideMenu.qmlrc http://qt-webassembly.io/designviewer/#SideMenu.qmlrc), they look like QT sliders rather than anything OS or browser native.
- tenaciousDaniel 7y agoSorry, I meant native to the browser. Flash had to be installed on your machine, but WASM is built into browsers and exists as a web standard.
- smacktoward 7y agoBut is it funky, dirty native? https://www.youtube.com/watch?v=9mXe9nRiPHI https://www.youtube.com/watch?v=9mXe9nRiPHI
- tenaciousDaniel 7y agoAs someone who is completely ignorant about QT, what are the arguments for using it? I looked at their product page and it seems incredibly expensive. Why pay to develop for a particular platform?
- dx87 7y agoIt simplifies developing cross-platform native apps. Imagine electron apps, except it uses less resources, and has a consistent look and feel with the rest of the OS. You also don't have to pay if you don't want, but Qt is licensed under the LGPL so you have to be aware of what you can and can't do under that license.
- amedvednikov 7y agoSpoiler alert: you can do anything with LGPL as long as you don't modify Qt.
- freedomben 7y agoAnd IIRC no static linking unless you make your source available.
- yjftsjthsd-h 7y agoIs that just actual static linking, or is bundling everything in a directory okay?
- shakna 7y agoBundling a directory is fine if you're still dynamically linking.
- freedomben 7y agoCorrect. As long a linking is dynamic, Qt doesn't care how/where the Qt libs are distributed. They typically recommend bundling for Windows and using system packages for Linux.
- Hokusai 7y agoVery interesting. I have some questions thou. How well does this play with web searches? Do I will be able to find a Qt application searching for words on its interface? Do we need a store like https://addons.mozilla.org/ https://addons.mozilla.org/ to find the content? And, mainly, is this going to substitute all web information or just will move desktop apps to the web? I would like that documents continue being documents, and applications should be applications. But, like with Flash, many people may disagree on that point.
- ahartmetz 7y agoUnless hooks for that are added in the future, it isn't searchable, and it's a platform for apps. It uses WebGL for display, not the DOM, not even Canvas. I use and like Qt, but I also think that documents should be just documents - without gratuitous JS framework bullshit.
- Data_Junkie 7y agoYou miss THE ENTIRE FUCKING POINT OF THE THING. You can search for the page that loads the program. Doesn't have to be one or the other. Jesus.
- ahartmetz 7y agoThere is, in fact, a big difference between fulltext search and title search. And why so aggressive?
- finchisko 7y agoHistory repeats itself. We had Flash. It was amazing back then. After while, people realized that Flash is actually against core philosophy of web - easy information sharing. Flash sites were poorly indexed by search engines, power hungry and with lot accessibility issues. Not qt is trying to do basically same what Macromedia did with Flash. Enable rich binary components on a web, with exactly same issues Flash had. Don't take me wrong, webassembly is great, so is qt. Maybe you can create very specialized electron app with that, but please don't overuse it for generic web content.
- pjmlp 7y agoThe core philosophy of the Web is interactive documents. That was lost the moment the powers to be, decided it should compete with OSes as application platform.
- tenaciousDaniel 7y agoI'm not very knowledgeable on this topic, but it seems weird that WASM files would need to be loaded into an html page in order to render. I would like to see a future where you can just open a WASM file in the browser and it will compile/render to the screen as an application. This would alleviate the pressure put on html pages to behave as if they're something they're not. It would let html go back to, as you say, its core responsibility, which is to be an interactive document.
- Data_Junkie 7y agoWell you got the whole search and discover issue.
- danShumway 7y agoMy 'hot take' I've had for a while is that most applications, including native ones, are just interactive documents. I can count on one hand the number of native apps I use that couldn't have their interfaces trivially represented by HTML and CSS. If you're not building Blender, Photoshop, or Maps, odds are pretty good that your native app is just a document. And even in the case of apps like Photoshop, only the main view is special -- everything else is just menus and toolbars. People draw a hard line between a document and an app, and I've just never been able to see that line.
- rerpha 7y agoQML, unless on it's own or paired with C++, is utter rubbish.
- tenaciousDaniel 7y agoThis is my first time hearing about it. I read through a basic description and it sounds interesting in theory. What makes it rubbish?
- jariel 7y agoThe statement is overly harsh, but essentially correct. QML simply lacks a lot of features, and C++ hooks are often required to make it work well. Oddly, you need to launch a QML app using at least a little bit of C++ no matter what. That's not a problem for mot pro devs who can hack a little bit of C++, but it's actually problematic for most others. Even 10 lines of C++ is too much for most devs who don't know it. It's like having to speak 10 lines of Russian. The docs are often tricky and ambiguous about how to start and launch apps as well.
- jcelerier 7y agoas someone who has shipped a few projects made mostly in QML, it's clearly not rubbish
- malkia 7y agoI sometimes wish the effort that went behind QML went somewhere else. That to be said, clearly other folks are finding benefits in it, just not for the app I have to support (yet).
- ahartmetz 7y agoThat is like... The two usual ways to use it. Although I recommend using it with C++ for nontrivial applications.
- mk89 7y agoOne of the most beautiful things I have seen in 2019. Brilliant!
- dkersten 7y agoUnfortunately the demo crashes for me: Error: Out of executable memory in function at index 31948
- arximboldi 7y agoThis looks pretty cool! I am actually shopping for a GUI framework for a new project and WebAssembly support is a potential critical feature. Does someone know if WebAssembly support is available on the open-source Qt? Also: is it one of those features that is a pain in the ass to set up from CMake instead of QMake?
- jariel 7y agoMost of QT is LPGL. Remember that WA lives in a black box with nary any access to networking, other APIs etc. and communication in/out of the block via shared memory is very, very low level. QT is still heavily reliant on QMake in reality, but that should be a small part of the decision equation.
- Data_Junkie 7y agoQmake the most underrated thing EVER.
- jcelerier 7y ago> Does someone know if WebAssembly support is available on the open-source Qt? it is. I know that on windows the toolchain is available directly from the online installer, but I think that it isn't on linux. It's a quick build however : git clone qt5 https://code.qt.io/qt/qt5.git cd qt5 git submodule update --init qtbase qtdeclarative mkdir ../build cd ../build ../qt5/configure -xplatform wasm-emscripten -nomake examples -nomake tests -opensource -confirm-license -prefix /opt/qt5-wasm make -jwhatever && make install
- llornkcor 7y agoIt is open source. You will need the emscripten compiler. https://wiki.qt.io/Qt_for_WebAssembly https://wiki.qt.io/Qt_for_WebAssembly It is possible to use cmake, it is a bit of a pain to set this up though.
- danShumway 7y agoI got called out by a few of the maintainers back when Qt first started targeting WASM for criticizing their reliance on rendering binary blobs of pixels to a canvas instead of writing native components in HTML. At the time, I was told that this was basically just a tech demo, and accessibility was actually the browsers' fault because there wasn't a Javascript API, and that all of the touch controls were going to be fine, and implementing all of the browsers' input methods by themselves was actually better than messing with CSS, and everything would be fine if I was patient. So now, checking in, I can see that scrolling still doesn't work on my Mac, that the demos still aren't responsive and completely ignore the window width, that I still don't have any accessibility options, that keyboard shortcuts like `tab` still don't work, that text still isn't selectable or searchable, and that right-click is still broken. For the cluster example[0] I'm downloading 30 MB! of code to render just three gauge charts on a page that uses 14MB of RAM. CPU fans immediately spin up -- I'm plugged in, but I can only imagine what this demo would do to my battery life. I'm very excited about WASM, and there are some communities doing some really exciting things you should check out. Rust is well on its way to being a first-class language on the web. .NET had some really interesting demos. .NET actually renders your components as HTML, so there's potential you could use C#/.NET for practical web development, and not just for a quick port of an existing app. There are people doing cool things here. But I don't think Qt is built for the web. The devs are trying to cram a square peg into a round hole, and I'm skeptical that their future efforts will be any better. My understanding is that even on native platforms, Qt does a lot of behind-the-scenes rendering computations that then gets painted out as a pixel array. If that's true, that could explain their insistence on doing the same thing here, but... that doesn't make it any better. Don't use a WASM compiler that spits its entire interface into a canvas as a pixel array. I've seen a few people call this Flash 2.0, and honestly I think that's doing a disservice to Flash. Flash had better accessibility controls than this. [0]: http://qt-webassembly.io/designviewer/#ClusterTutorial.qmlrc http://qt-webassembly.io/designviewer/#ClusterTutorial.qmlrc
- Nokinside 7y agoQt is not for web applications. Qt is not a web framework even if it runs in the browser. The browser is just one extra platform for cross-platform applications.
- Phillips126 7y agoGenuinely curious how websites built in this fashion will adhere to accessibility guidelines, especially with companies (like Target[0]) getting sued recently. Additionally, can these sites be responsive such that the content will look good on desktop and mobile? [0] https://arstechnica.com/uncategorized/2008/08/target-to-pay-6-million-to-settle-site-accessibility-suit/ https://arstechnica.com/uncategorized/2008/08/target-to-pay-...
- deleted 7y ago[deleted]