4 ms·
WebAssembly is binary packed bytecode and generally takes much less space than UTF-8 JavaScript source files.
by alde 8y ago
WebAssembly is binary packed bytecode and generally takes much less space than UTF-8 JavaScript source files.
- kllrnohj 8y agoYour JS source files typically don't have all the code necessary to re-implement 2D drawing, text handling, i18n code, etc... That's already been downloaded & provided in the form of the browser itself.
- deleted 8y ago[deleted]
- em3rgent0rdr 8y agoCouldn't Qt's webassembly library be cached in your browser, to be reused by any Qt webassembly app?
- spearmunkie 8y agoI don't see why we won't be able to reference common 3rd party libraries along with their version number and cache them across websites. Eventually a giant repo of common libraries will be built.
- bhouston 8y agoThe versioning will be very custom and generally they will not be shared across apps. Just like react.js isn't shared across apps.
- imtringued 8y agotree shaking optimizations will result in everyone having a different qt.wasm.
- CyberDildonics 8y agoHello world in Qt is 25MB as a demonstration of 'lightweight' Qt.
- joezydeco 8y agoNobody optimizes and recompiles the libraries anymore to configure out the unnecessary parts. The mechanisms are still there but the practice died when Qt stopped focusing on embedded targets.
- ahartmetz 8y agoQt does focus very much on embedded targets: http://blog.qt.io/blog/2016/08/18/introducing-the-qt-lite-project-qt-for-any-platform-any-thing-any-size/ http://blog.qt.io/blog/2016/08/18/introducing-the-qt-lite-pr... Embedded is the biggest market for Qt right now.
- joezydeco 8y agoA few notes: 1) Qt Widgets development stopped with 5.0. I had bugs filed on the embedded Linux targets and was told "sorry, these will never be fixed". 2) #1 means that Qt wants you to use QML. I need to run a Javascript engine on my target? Note in the comments of that blog post that they hope to run on an A7 (or really fast M7)...someday. 2b) ...And if they do run on a lower end platform, you still need a POSIX O/S. uCLinux is not a great option on M3/M4 CPUs and keeping the binding dynamic on those cores to stay LGPL compliant is extremely difficult. 3) QML bindings are a pain in the ass, especially when you're trying to put a UI on legacy code. 4) Most crucial: Qt Lite and QtDC are commercial products only. So, in my opinion, embedded is still a 2nd class player. Or, I could clarify further: low end embedded is a 2nd class player. If you're working on automotive HMI/IVI? They'd love your business.
- k__ 8y agoNever understood the obsession some people have with Qt
- joezydeco 8y agoIt's a solid toolkit that gets the job done and gets out of the way. I've shipped a dozen products with it over the course of my career. On embedded targets I'd never use anything else. The alternatives are way too simple or overscripted playback engines that have no flexibility with underlying code.
- rictic 8y agoGzipped source in a high level language can be much smaller than the equivalent bytecode. That's not why these demos "Hello Framework" demos are 3-7MB though. That's due to the cost of shipping an entire widget system that takes complete responsibility for everything between raw user input to pixels on the screen, without using many of the affordances of browser APIs. This is really awesome for emulation, sandboxing, and preservation of software, but it's not a good route for saving bytes for the user.