4 ms·
I felt frustrated by the typical Node toolchain until I remembered the typical Qt toolchain for developing cross-platform desktop apps. I can't remember everyth
by dirkc 9y ago
I felt frustrated by the typical Node toolchain until I remembered the typical Qt toolchain for developing cross-platform desktop apps. I can't remember everything, but here goes.
To compile a Qt app you need:
- the meta object compiler (moc) to add dynamic features to C++ for Qt use
- the Resource Compiler (rcc) to embed icons or sounds as arrays in header files
- the Qt Quick Compiler if you are using QML files for your interface
- the C++ compiler, linker, etc.
This is either driven by CMake, qmake or your IDE!! I see you can use Qbs to generate the CMake or qmake files! I remember learning CMake, make, ant, etc being non-trivial!
Oh, and you were on your own when it comes to dependencies!
- quacker 9y agoI think it's more accurate to compare Node to C++, compare NPM to apt/yum/etc+CMake, and compare something like Electron to Qt. Of course, your point still stands. But's a tradeoff. C++/Qt has a ton of compile-time bloat, while Node/Electron has runtime bloat (see the Slack client using hundreds of megs of ram). And you can use bindings, like PyQt, where you have Python/Qt and then you get Python's dependency management.
- thehardsphere 9y agoCompile-time bloat and runtime bloat are not equivalent. Runtime bloat inflicts pain upon users and therefore is usually worse.
- softawre 9y agoYes.. Don't you think that's why he bothered mentioning the words "runtime" and "compile-time"?
- thehardsphere 9y agoWell, the way I read what he wrote was that he was suggesting that bloat is bloat wherever it happens so that it's all a wash.
- dirkc 9y agoWhen I had the revelation I was thinking about the whole npm, bower, gulp, webpack toolchain. Comparing C++ to Node or Python doesn't help me. If I could write Python that run in the browser I wouldn't be commenting here.