7 ms·
With CSS Flexbox and Grid, the web is the best GUI app platform I know of (and I was a WinForms developer before). It is made for apps now, and it has been the
by YesWeWill 4y ago
With CSS Flexbox and Grid, the web is the best GUI app platform I know of (and I was a WinForms developer before). It is made for apps now, and it has been the goal for some time already - since HTML 5 at least, but I'd say it began as stated goal with DHTML.
- pjmlp 4y agoIronically the CSS grid is based on WPF grid, and was originally proposed by the WPF team.
- YesWeWill 4y agoDon't see the irony, WPF was a nice idea that should be copied - unfortunately they axed it before it could grow and then the general uncertainty forced me off the platform.
- pjmlp 4y agoIt is still there on Visual Studio, and with a more certain future than WinUI will ever get. The irony that the Web needs to keep copying native development experience, and it is still miles behind of what VB and Delphi were offering 30 years ago, unless one is paying for stuff like OutSystems or PowerApps.
- YesWeWill 4y agoWPF might be there, but with all the "deprecated - oh not deprecated again - not deprecated but no updates for many years - deprecated again - not deprecated again" cycles I'm not going to touch it with 10-meter pole for anything that I need to support - same with anything else related to .NET. Also the UI designer experience for WPF is much worse than it used to be with WinForms - so bad I just wrote the code manually, and at that point I can just write HTML/CSS. But perhaps they fixed that - I left .NET in 2015. It doesn't run in the browser anyways - and the browser is what my customers want, because everyone has a browser, but not everyone has Windows desktop - especially today, when many people don't even own a PC and use something with Android/iOS as their primary computing device.
- pjmlp 4y agoBlend is your friend. The only reason I went back to cloud and Web development, is that pre-covid it was the best way to get 100% remote jobs, so I put up with it. By the way, most of those iOS/Android users are using apps and not Websites.
- YesWeWill 4y agoThey might be using apps, but my customers don't want to pay for developing for four or more separate platforms (Windows, macOS, Android, iOS - also notice that nobody would develop for Linux), so they solve it by having a single platform - the web. Many of my customers previously had (only) a Windows app but found out that onboarding new customers is much faster (and thus happens more) with web apps. .NET is dead to me, I simply don't trust the platform/libraries to continue existence and receive updates. Also the JS/NPM ecosystem is much larger and that's truly what's keeping me there.
- pjmlp 4y agoYeah we don't get NuGet packages that only offer a single function...
- YesWeWill 4y agoMuch better to have a bunch of one-function packages that you can simply avoid than to have a dead package registry with 1/10 of the useful stuff (so not the one-function packages).
- pjmlp 4y agoWith the difference that in 10 years those packages will still have support, just like VB 6 runtime and MFC are still shipping on Windows 11.
- yesimahuman 4y agoAgreed. Flexbox and Grid are the most productive I've ever been with a UI toolkit, and I've used pretty much everything available for native mobile and desktop dev. CSS is certainly weird at first, but once you really learn it it can be far more productive than traditional UI programming.
- VBprogrammer 4y agoI don't know. Some of the things I could do with a pirated copy of VB5 as a 14 year old would take me 10x as long to do on the web even using modern tools which I'm reasonably familiar with.
- YesWeWill 4y agoHmm, your Vb5 apps were responsive? Mine definitely weren't - but it's fairly easy with Flexbox/Grid. But yeah, having such a nice GUI designer would be awesome - I miss Delphi a lot, and the WinForms designer was good too. Now finally Flexbox/Grid have support on all major browsers so perhaps we could get this part of the workflow back.
- VBprogrammer 4y agoHaha, mobile phones came with snake at the time. No one expected to be browsing the internet on them (which had barely passed into mainstream use). I remember around the time my dad's friend coming over with his work laptop (a rare thing at the time) to show us "the internet". Everyone just assumed a lowest common denominator resolution and got on with it!
- YesWeWill 4y agoMy pet peeve was not being able to use 2 windows next to each other on my 1280x1024 screen because the UIs assumed full screen usage. Phones - for sure, that's a modern development. But it's been more than a decade now, there are adult people who don't remember world without iPhones and Androids! Crazy... Myself, I started on Windows 98, but it's Windows XP (and Delphi) that defines my childhood.
- bob1029 4y ago> With CSS Flexbox and Grid, the web is the best GUI app platform I know. This is exactly how I would summarize it too. Before we had grid, I would be forced to agree with the original comment. Now that we have these things, thick CSS/JS frameworks like Bootstrap aren't really a big deal anymore. 95% of the reason I used this stuff in the past was because I couldn't figure out the magic spell for getting things positioned properly. We even have media queries now, which can be combined with Grid to toggle between 2 or more layouts depending on viewport or other device factors. Our current web app handles all of the dynamic/responsive layout crap within about 30 lines of js & css. I will only go back to native application development if someone pays for a one-off contract deal that only has to be supported for <3 years. For any long-term project with a user interface, I feel like the web is the safest default for building your product. We are signing contracts with B2B clients right now with terms measured in half-decades, so I really don't want to be playing games in traffic with 5 major versions of iOS and Android if I can avoid it.
- kuschku 4y agoSo tell me how I can build an infinite scroll panel that supports (a) jumping to any point without a single dropped frame, (b) smooth sub-pixel scrolling on browsers that support it, e.g. edge or firefox, (c) full accessibility support Pretty standard on any other platform, but on the web, no one gets it right.
- rchaud 4y agoFlex box and Grid only help in creating layouts. It doesn't help anything with regards to reactivity, which is what most web UIs can lack compared to a desktop application. IMO Flexbox and Grid only remove the need to have a stylesheet dedicated to layout like Bootstrap and foundation. That may be important for building tiny sites with no dependencies, but for an application, there will usually be a bunch of npm cruft required anyway. Having a bootstrap.min.css in the mix doesn't really impact my quality of life.