4 ms·
The cost of UI development is substantial; as you say "whatever" framework it means that you would need to learn 1) what frameworks are available 2) what paradi
by miohtama 9y ago
The cost of UI development is substantial; as you say "whatever" framework it means that you would need to learn 1) what frameworks are available 2) what paradigms they use 3) what programming languages and tools you need to know to drive them.
As the development is mostly web driven nowadays, HTML/CSS/JavaScript is something that the most developers tend to already know and thus have crossed the first barriers of entry to this kind of development.
- matthewmacleod 9y agoI have no doubt that native UI development for multiple platforms is tricker than a single cross-platform browser-based implementation. But I do think the level of those barriers to entry can be overstated. Building a simple MacOS GUI is not complex; likewise for Windows and say QT for Linux. It requires a little bit of thought and a little bit of research, and more time than a single implementation. The output is also better by quite a few metrics, and my general feeling is that an application where most of the complexity is hidden away in a cross platform library with a very simple API is the best possible case for this approach.
- Aaargh20318 9y ago> I have no doubt that native UI development for multiple platforms is tricker than a single cross-platform browser-based implementation. I would argue the exact opposite is true for anything more complicated than 'hello world'
- matthewmacleod 9y agoI can agree with that from the perspective of a single front-end. If I were building multiple front-ends for different platforms, I’m less sure. I do think that developers who have previously only worked with web tech have a distorted idea about native platforms though. I spent my whole career working on the web, intimidated by the complexity of native apps. It turned out that native UI toolkits really are very well suited to building native UIs with minimal effort!
- Aaargh20318 9y ago> I do think that developers who have previously only worked with web tech have a distorted idea about native platforms though. I spent my whole career working on the web, intimidated by the complexity of native apps. As a native developer I have the exact opposite view. Web development is insanely complicated compared to native. It's a complete jungle of flavour-of-the-day frameworks all designed to make web-development somewhat workable (and all of them failing in some ways. If you're building a website, you have little choice, but if you're actually building a desktop app it's totally insane to use web based UI.
- _Tev 9y agoMaybe you have distorted view as well.
- postfacto 9y ago> I do think that developers who have previously only worked with web tech have a distorted idea about native platforms though. There’s an irony that people who will drop whatever they’re doing to learn this week’s hot crazy brain-bending quasi-DSL JavaScript framework think that learning Swift is too hard and don’t want to have to learn something new.
- _Tev 9y agoFrankly you have no clue about web development if you think they are learning every "this week’s hot crazy brain-bending quasi-DSL JavaScript framework"
- Aaargh20318 9y ago> HTML/CSS/JavaScript is something that the most developers tend to already know If you know both HTML and a proper UI toolkit, you'll see how insane it is to use HTML for anything else than marking up text. It's like launching a space shuttle to go to the supermarket around the corner instead of just walking. The only thing HTML has got going for it is how easy it is to show 'Hello World' on screen. Anything more complicated than that and it becomes a total horror show, especially compared to how easy to use and simple regular UI toolkits are.
- ctw 9y agoWhich regular, simple UI toolkits do you recommend to a web developer who wants to learn desktop development? Do you also have a recommendation on which resources/approaches to use to learn those toolkits?
- wander_homer 9y agoObviously this depends on what you want to do. Most importantly: Which platforms do you want to target?
- Aaargh20318 9y agoUse whatever is the native toolkit for the OS you're targeting.
- CyberDildonics 9y agoJuce (GPL unless you pay for a license) FLTK Nanogui (simplistic GUI for openGL)