8 ms·
Imagine if desktop developer wanted to go into web development. I assume he would learn HTML, CSS, JS. Why cannot web developers wanting to create desktop app l
by rimliu 7y ago
Imagine if desktop developer wanted to go into web development. I assume he would learn HTML, CSS, JS.
Why cannot web developers wanting to create desktop app learn new languages and SDKs?
I've spent many years as a web developer, and a bit fewer years as iOS developer. Now I am back with web again, but I still thing way too much of the recent trends are being optimized for the developers at the cost of users.
- cztomsik 7y agoWeb & JavaScript is really great platform for quick prototyping and when you're doing UIs, it's all about being able to iterate fast. It might change a bit with Flutter & SwiftUI but I still find web & CSS to be a better authoring model. Note that I've been doing (native) desktop programming before so I can compare.
- gridlockd 7y agoThe main thing that Electron does is solve most of the platform abstraction issues. The only contender that comes close to this is Qt. However, if you want to hire Qt developers, that's a much smaller pool and then you also need to pay Qt license fees for each one. If you want to develop truly native applications, now you need to maintain builds for Windows, Mac OS and perhaps even Linux. You need developers familiar with all of these native frameworks. Optimizing for developers isn't necessarily worse for users, if they can get more done in less time, users benefit. It's just not so obvious. No user will ever complain about a product they aren't using because it won't ship until next year with half the features.
- de_watcher 7y agoYou don't need to pay Qt license fees if you don't do secret modifications to the Qt library itself.
- solarkraft 7y agoAre you sure you don't need to pay about 5k€/seat/year for commercial development?
- bdemirkir 7y agoYou don't need to pay at all. Comparison is here: https://www.qt.io/download https://www.qt.io/download Basically, you need to link dynamically or provide object files. You can't use commercial modules too. But that's only a small portion of Qt anyway.
- dx87 7y agoYep, paying just gets you extra Qt features and allows you to make the whole application closed source. The community version requires you to keep the Qt portion of the application under the LGPL, but you can still keep the rest of your application closed source and just link agains the Qt code.
- gridlockd 7y agoThis is not the only issue with LGPL code, but fair enough: commercial development is possible without paying for the license.
- lpcvoid 7y agoThere's also Lazarus/Freepascal [1], which has platform support and GUI capabilities for pretty much every CPU/Platform under the sun. [1] https://www.lazarus-ide.org/ https://www.lazarus-ide.org/
- yboris 7y agoThanks to Electron I was able to build an app for Win, Mac, & Linux. Had there not been electron, my app would be only for Windows and no one else. I strongly suspect I'd never be able to bring the level of polish I could with HTML & CSS to the UI through the standard SDKs -- so the resulting app would be a much worse user experience as well. The amount of time I'd have to spend learning a new SDK would basically put me off, and I'd likely never have created this app. Instead I have over 700 people who have purchased my app (~2 purchases per day over the past half year) - https://videohubapp.com/ https://videohubapp.com/
- bbmario 7y agoNever be able? C'mon, your app is basically one of the Qt samples dude.
- yboris 7y agoSorry for using "never" -- certainly I could spend a lot more time learning the tricks that could get me close. But UI is not essential for a functioning app, and if the time costs of building a good UI are too high (a lot of new learning and problem solving) I'll spend less time on it. What "sample" are you talking about? Is this the kind of thing you're comparing my app to? https://doc.qt.io/qt-5/examples-graphicsview.html https://doc.qt.io/qt-5/examples-graphicsview.html
- jcelerier 7y agoI think he's referring to this sample (https://doc.qt.io/qt-5/qtdoc-demos-photoviewer-example.html https://doc.qt.io/qt-5/qtdoc-demos-photoviewer-example.html) - replace Image by VideoPlayer, tweak the ui, make some menus, add a few interactions and you're good to go from what is visible on your screenshots - were I still a freelancer I would maybe have quoted two weeks for that ?
- f00zz 7y agoThat's a Qt Widget example, you should look at Qt Quick for a way to build more modern-looking interfaces. With Qt Quick user interfaces are described in QML, a declarative markup language, and you can write most (or all, if you want) the business logic in Javascript. See for instance: https://doc.qt.io/qt-5/qtdoc-demos-photoviewer-example.html https://doc.qt.io/qt-5/qtdoc-demos-photoviewer-example.html (Edit: by no means I'm saying that your work is trivial to replicate, apologies if this comment came across like that - just wanted to point out that there's more to Qt than Qt Widget.)
- zazaraka 7y agoMicrosoft has a zillion native SDK developers. Recently they replaced their native Visual Studio installer with an Electron based one. That should tell you something.
- JustSomeNobody 7y agoIt sure does. It says MS is still pushing bloat.
- AnIdiotOnTheNet 7y agoBased on other things MS is doing, it tells me they're hiring a lot of young developers who only know web tech and don't give a damn about the user experience.
- lawnchair_larry 7y agoThat isn’t how big companies work. The decision about what to use is up to the 5 or so developers working on an app. Microsoft doesn’t force specific languages or frameworks across all of their devs, and the native SDK devs are working on their own projects.
- chuckhendo 7y agoYou understand that many Electron projects are FOSS, right? I understand what you're saying about optimizing for development rather than users, but if Electron didn't exist many of these projects wouldn't exist. If you see a project that you feel would be better as a native app, why don't you build it and release it as FOSS?