6 ms·
It really is disappointing how modern web GUI environments are harder to use than what was around 20+ years ago. There are still Visual Basic Apps from the 199
by sien 8y ago
It really is disappointing how modern web GUI environments are harder to use than what was around 20+ years ago.
There are still Visual Basic Apps from the 1990s floating around in large corporations and in government.
Users who were expert in the process but not expert developers could easily code up tools to their exact specifications.
https://en.wikipedia.org/wiki/Visual_Basic#1990s https://en.wikipedia.org/wiki/Visual_Basic#1990s
Admittedly the deployment of web applications is much better and they can run on different devices.
Hopefully when web assembly takes off easier to use tools will reappear.
- andyidsinga 8y agojust curious - why would web assembly make it easier for those tools to reappear? I used to use hose 90s GUI tools - VB's, VC's, Symantec's and Borland's java gui tools. Although they did work well for fixed UIs (absolute positioning) -- they were rather hard to get non-fixed uis working. IMHO Bootstrap's grid system was a real leap in this regard and (to me) still a pleasure to work with.
- sien 8y agoPerhaps because I live in hope... The main reason WASM and whatnot might make it easier is that instead of depending on thousands of Javascript libraries the way that so many modern web apps do perhaps a more controlled environment might include a better set of standard libraries and controls. Also Javascript has evolved at a lightning pace which is remarkable but also makes any complex tooling for it tricky. 10 years ago jquery was the main thing, today React,Vue,Angular and so many other things are front end tools of choice. But all that may be totally wishful thinking.
- andyidsinga 8y agoI hear you on the tooling complexity side...
- madeofpalk 8y agoI'm confused as to how having a common target to have _any_ language, including C, running on the web makes tooling easier rather than harder.
- sien 8y agoThe idea would be that WASM will facilitate a particular language with a good standard library would be used to create an easy to use GUI drawing and then coding setup. But yes, it wouldn't support every language that could compile to WASM and you're right that would be even harder than creating a good tool for Javascript.
- ZenPsycho 8y agoSuch "easy to use GUI drawing libraries" would still need to be written in javascript. If you want actual things to appear in the browser you still need to interact with the DOM, which is actually harder with WASM, not easier. And while it's technically possible to say, just compile QT to wasm and give it a CANVAS tag as a dumb drawing surface, you've just broken accessibility, and that's a deal breaker.
- int_19h 8y agoThen we need APIs that would allow GUI frameworks that render onto <canvas> to support accessibility. Such APIs have existed on desktop platforms for decades now, and popular frameworks like Qt use them, even when they draw all the widgets themselves. By the way, Qt-on-wasm-on-canvas is already a thing: http://blog.qt.io/blog/2018/05/22/qt-for-webassembly/ http://blog.qt.io/blog/2018/05/22/qt-for-webassembly/
- pjmlp 8y agoNative toolkits also support accessibility. And while accessibility is a big issue, I must sadly acknowledge that I am yet to have a project require compliance and validate its implementation, as such it never gets done.
- Animats 8y agoIt really is disappointing how modern web GUI environments are harder to use than what was around 20+ years ago. Yes. We had drag and drop UIs decades ago. Now you can't even get a decent GUI program for laying out a web page. CSS/Javascript got so messy that even Dreamweaver became useless. Part of the problem is that ad code requires a messy environment, so that ad blockers and click generators have a hard time. Google, by policy, does not permit you to put their ads in a iframe, where they belong. You can't even put Google Hostile Code Loader ("tag manager") in an iframe sandbox.
- PavlovsCat 8y agoIt's a real shame. If you start with a blank file, HTML/CSS/Javascript are so much nicer now, if you don't need anything cutting edge browsers are generally great, too. I think our technology is not so much the bottleneck as how it's used.
- madeofpalk 8y ago> Yes. We had drag and drop UIs decades ago. We had _simple_ drag and drop UIs decades ago. Computers operated within a lot more limited constructs back then. UI windows didn't resize, or it was reasonable to expect that they're fixed. How did those drag and drop tools back then handle creating a UI for screens ranging from 400pt wide to 2560pt wide?
- bonaldi 8y agoInterface Builder has been building complicated and resizable UIs for literally decades.
- vthriller 8y ago> How did those drag and drop tools back then handle creating a UI for screens ranging from 400pt wide to 2560pt wide? For simpler forms you'd just set anchoring properties of the widgets in question (akRight/akBottom in Borland's VCL or whatever its counterpart is called in WinForms or what was its predecessor). Nowadays it's even easier with things like, say, GTK's HBox/VBox. > Computers operated within a lot more limited constructs back then. Resource limits didn't stop web browsers of the era from rendering complicated tables in a variety of sizes.
- meredydd 8y agoWe've built an explicitly Visual Basic-like development environment for the web, which I think fits your bill: https://anvil.works https://anvil.works. It's got a drag'n'drop UI creator, you use Python to build the front-end and the back-end (with proper autocomplete, VB-style), and it even has a built-in database if you need one.
- mattigames 8y ago"Drop a title here" wtf what does the app doesn't create one for me when I double click (maybe ask me for confirmation if you think user intent is not clear) Don't create your own icons, use already known icons, Ab and Ab-but-with-underline doesn't clearly mean "Text" and "Link" but the word "Text" and the famous anchor icon do.
- qwerty456127 8y agoSeems really cool but the selection of controls looks too humble (no TreeView? I'm choosing a trchnology to build an app on right now and I need a tree) - IMHO this is a severe limitation for the platform usefulness, I really hope more controls are going to be introduced. Also as far as I can understand it won't let you export apps the way one could run them on their own outside of your servers - this limits the usage too.
- stevenicr 8y agoquick glance, looks interesting.. but without "won't let you export apps " - I would never buy in.. if you can export, then it suffers from the same lack of easy to understand that webflow has suffered from it's initial launch. I liked the tree view that netobjects fusion had years ago, it makes bigger sites easier to work with. Still trying to carve out time to try pinegrow to see if it's got enough drag and drop and resize to make me no longer miss netobjest fusion.
- jplayer01 8y agoIs Qt that much harder than it was back then?
- steve1977 8y ago> Admittedly the deployment of web applications is much better and they can run on different devices. But is it really, if you take into account all the incompatibilities between browsers and the different UX paradigms between classes of devices?
- TimJYoung 8y agoWe have such an environment, called Elevate Web Builder: https://www.elevatesoft.com/products?category=ewb&type=web https://www.elevatesoft.com/products?category=ewb&type=web Pros: - Uses a statically-typed language (Object Pascal), compiled to JS, code compression is a simple build option, and the compiler is very fast: https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&topic=Compiling_Applications https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&... - Layout management is universal (not various, competing forms of layout) and easy to use: https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&topic=Layout_Management https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&... - You can create your own non-visual components and controls and install them into the IDE or share them with others: https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&topic=Component_Library https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&... (the source code to the entire runtime and component library is included with the product) - The look and feel of every control in an EWB application can be customized: https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&topic=Control_Interfaces https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&... - Uses icon fonts for icons (you can also use raster images, if you want), so applications look crisp on any device: https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&topic=Icon_Library https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&... - You can use any existing external JS code by coding an external interface to the external JS code (FFI), so even external JS code references will be type-checked by the compiler: https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&topic=External_Interfaces https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&... Cons: - The code editor is rudimentary and requires some more polish (code-completion, etc.) - Debugging isn't supported via the IDE, yet - There are still a few missing controls like a treeview and charts, but you can interface with JS products like HighCharts without issue - The compiler still needs some work in the areas of interfaces, generics, and set support We have a new Elevate Web Builder 3 coming out soon that has a new IDE and web/application server with built-in TLS, authentication, session management, role-based access control, database API, remote application deployment, and event logging. You can, effectively, manage and monitor any EWB 3 web server remotely from within the new IDE: https://www.elevatesoft.com/ewb3ide_screenshot.png https://www.elevatesoft.com/ewb3ide_screenshot.png Initially EWB 3's web server will be available for Windows only, but we will be offering a Linux/Mac daemon version in early 2019. The ultimate goal for the product is to provide a single-language solution to both front-end and back-end applications with one-click application deployment and deployment of server instances. (Sorry for the "advertisement" - I just see this sentiment come up a lot here, and I think it's important for people to know that that there are companies working on solutions)