12 ms·
Qt 6.4
- firecraker 4y agoQt in the browser sounds cool.. but feels reminiscent of shockwave..
- 323 4y agoIt's inevitable. The only way for Qt to compete with Electron is to become Electron.
- Jenk 4y agoThat feels like to opposite, though. Electron brought the browser to offline/"native" apps. It literally packaged webkit in a way for web tech to be used as a desktop app, whilst Qt in the browser (and Shockwave, Java Applets, ActiveX et al) were bringing the desktop to the browser.
- kuschku 4y agoElectron brings non-native content to the desktop. Qt in the browser brings non-native content to the web. Now we can have broken accessibility, usability, broken theming, and bad integration on both platforms, yay!
- IshKebab 4y agoYeah I don't think anyone would really choose to write a new web app with Qt. I assume the target market is people that want to port their existing Qt code to the web. It could also be useful for demoing Qt apps.
- aljgz 4y agoDon't underestimate people's reluctance to learn new stacks.
- jcelerier 4y agoYep, I do it with https://ossia.io https://ossia.io (https://ossia.io/score-web https://ossia.io/score-web) to make the occasional demo ; it's pretty alpha and drag'n'drop still seems to kill it but every Qt release has made it better without me having to do anything.. looking forward to updating!
- qutierust 4y agoHow do you do it? I didn't know qt web was a thing? I remember I heard about one project but that was gpl i think
- jcelerier 4y agoossia score is GPLv3 itself regarding the how.. Qt provides a CMake wrapper which sets up the relevant flags automatically so with CMake/Qt projects it pretty much just works. Here's my build scripts: - https://github.com/ossia/score/blob/master/ci/wasm.deps.sh https://github.com/ossia/score/blob/master/ci/wasm.deps.sh - https://github.com/ossia/score/blob/master/ci/wasm.build.sh https://github.com/ossia/score/blob/master/ci/wasm.build.sh
- toyg 4y agoAt one point Nokia pushed the idea that you would write Qt apps to run on their cloud; they had a few actual customers doing it too. I don't know if the current owners kept going with the concept. It makes sense, from the perspective of shops who invested heavily in upskilling on Qt, to reuse the knowledge to build web apps.
- llornkcor 4y agohttps://doc-snapshots.qt.io/qt6-6.4/wasm.html https://doc-snapshots.qt.io/qt6-6.4/wasm.html
- llornkcor 4y agodrag and drop requires configuring your app with asyncify option. https://doc-snapshots.qt.io/qt6-6.4/wasm.html#asyncify https://doc-snapshots.qt.io/qt6-6.4/wasm.html#asyncify
- ravenstine 4y agoI think the better use case for having Qt in the browser is if a web app could benefit from sharing code with a mobile or desktop Qt project. Other than that, yeah, I'm not sure why anyone would use Qt for web apps besides preference.
- llornkcor 4y agoEasier testing and deployment. Develop and test one platform. Deployment is a url.
- pjmlp 4y agoWhile some people were too busy cheering the death of plugins, they were being bought back to life thanks to the rejuvenating powers of WebAssembly and WebGL. All of them already have some kind of support in WebAssembly.
- bobajeff 4y agoStill, overall better than the situation of having to install a plugin that may or may not be available or working fully on your system. Plus security concerns of running sometimes obscure binaries on your system to access web content.
- pjmlp 4y agoYou can compile heartbleed to WebAssembly, and there are ways to exploit memory corruption to change observable behaviour.
- bobajeff 4y agoI'm aware it's not impossible to exploit the current plug-in free browsers we have now. It's still objectively better than before. Not that I'm satisfied with the current state of browsers mind you. I just think not being forced to install someone's binary blob to look at web content is a net benefit.
- pjmlp 4y agoExcept you can't disable WebAssembly, and you can't control how a SPA is implemented, see Figma for example. Now you can enjoy Flash like ads using WebAssembly + WebGL, making it all a Phyrric victory.
- ranger_danger 4y agoWebAssembly can absolutely be disabled: Chromium-based: --js-flags=--noexpose_wasm Firefox-based: about:config javascript.options.wasm = false
- qwerty456127 4y agoIs there a tutorial of how to make a desktop GUI app using only QML/Quick/whatever, without C++ or Python? I want to build a desktop app and will gladly offload the work logic to a separate app to be invoked in background via CLI.
- pavlov 4y agoWhy do you want to build a desktop app with the mobile framework rather than the desktop one? I’m not saying it’s necessarily a bad idea, Apple enables the same nowadays with Catalyst (iOS APIs on macOS). But it doesn’t seem very popular. Just curious why you want to go this way.
- qwerty456127 4y ago1. I consider Qt (incl. the "modern" part) a desktop framework (arguably the best one) with mobile support (perhaps very good support), not a mobile framework. Or would you say KDE is "for some reason made with a mobile framework rather than a desktop one"? 2. I am a solo developer and want one framework to write once, run everywhere (still looking for which will do the best job for me).
- inetknght 4y ago> I am a solo developer and want one framework to write once, run everywhere So... Qt's C++ framework then? Late edit: as an afterthought there are other languages that provide similar functionality. Xojo comes to mind as having capability to write once and run everywhere. It doesn't have the performance of C++ though and comes with a bunch of its own baggage.
- qwerty456127 4y agoI just heard you don't really have to use any language other than the Qt's internal ones any more. Although performance is nice to have, it obviously is not the most important thing for me. Low verbosity (as little code necessary to write a functional and reliable UI as possible) and fast learning curve are the most important things.
- numlock86 4y agoTried to use QT for a new product based on a STM32F769 MCU some time ago. I got laughed at and waved off when asking for the budget needed to buy/licence QT stuff. To be fair, they need a business model, but the target audience seems just to be automotive or anyone who's planning to roll out something with at least a million pieces in mind.
- arinlen 4y ago> I got laughed at and waved off when asking for the budget needed to buy/licence QT stuff. This. Regardless of Qt's technical merit, it's licensing automatically takes it out of the table of most of all potential projects. https://www.qt.io/pricing https://www.qt.io/pricing
- ihaveajob 4y agoThey work really hard to hide this, but they do have a LGPL license that applies to most of the framework, and only some parts (charts, etc.) are GPL/commercial only. For those old enough to remember, this license issue was at the heart of the Gnome/KDE schism. From their site <https://www.qt.io/download-open-source https://www.qt.io/download-open-source>: LGPL – Any modification to a Qt component covered by the GNU Lesser General Public License must be contributed back to the community. This is the primary open source Qt license, which covers the majority of Qt modules. If you're not familiar, in practice, the difference between GPL and LGPL is that LGPL does allow dynamically linking a library with a closed source program, without requiring that the program also becomes GPL/LGPL. This is compatible with most development as long as you either don't modify Qt, or are ok with those modifications becoming open source.
- joezydeco 4y agoLGPL3 is a no-go for a lot of embedded projects, as OP is probably finding. The anti-tivoization clauses mean you need to provide a way to install user-built Qt libraries on the target device. You might think that's not a big deal until you go to work for an automotive or medical company and meet up with the massive wall of lawyers that tell you no fucking way.
- zac23or 4y agoI love Qt, technology-wise. But the business model... Distribution Licenses? Come on!
- obdev 4y agoHow viable is LGPL'd Qt, in its current situation, for closed-source desktop applications?
- nu11ptr 4y agoAs long as you dynamically link and don't use the non-free components (charts, etc.), I think it would be just fine for a C++ or Python app. However, personally, I am leaning towards Flutter atm. They have decent emulated native looking controls for Windows/Mac, seems to have a strong cross platform focus, strong Rust integration via a bridge library, and has a better license with good free charting options.
- dark-star 4y agoYou will be missing a few modules/plugins/tools which are commercial-only (I cannot seem to find the actual list right now though) but other than that, the LGPL was made exactly for that reason to allow linking an open-source library (Qt) into a closed-source program. As long as you don't modify the Qt source (or you modify and re-distribute it per LGPL) you should be safe (IANAL obviously)
- detaro 4y agoVery. That's almost the point of LGPL.
- nottorp 4y agoCan you afford a lawyer on retainer?
- stjohnswarts 4y agoWhat? It's doesn't take a genius to understand it. They clearly label what is and what is not LGPL. It doesn't hurt to double check the source files of course and have redundant confirmation. You don't need a lawyer for everything in life.
- nottorp 4y agoI don't need a lawyer to use a LGPL lib. Considering how many threats you have to go through to get the LGPL version, I need one because Digia is likely to disagree with my interpretation.
- qutierust 4y agoQmetaobject-rs crate makes it very easy to write qt with rust. I've said it before and i will say it again. A good gyi toolkit and that too cross platform is an incredible amount of work. Rust would be better off funding qt support than trying 20 different things because somehow anything less than "pure" rust is filthy.
- gilrain 4y ago“Rust” isn’t trying 20 different things. Various independent teams and developers are working on their own projects for various reasons.
- api 4y agoI tried some Qt WASM demos here: https://www.qt.io/qt-examples-for-webassembly https://www.qt.io/qt-examples-for-webassembly Nice idea but the problem is that these literally run as a foreign app in the browser. You can't cut and paste or highlight text. They are not web pages. There is a niche for this, probably in business and industrial uses or for making legacy apps available over the web, but it's not something I'd consider for a new system that had to in any way be "web-like" or that was primarily used over the web.
- llornkcor 4y agoActually you should be able to cut/paste. Highlighting text also works. https://lpotter.github.io/textedit/textedit.html https://lpotter.github.io/textedit/textedit.html
- api 4y agoHmmm maybe it has to be enabled programmatically.
- mwcampbell 4y agoAnd still no accessibility as far as I can tell. It's kind of amusing and kind of sad that one of the demos on that page is "Pizza Shop", given that there was a recent infamous accessibility lawsuit against Dominos Pizza.