6 ms·
"But I still miss the old days of drag-N-drop GUI of Delphi, really easy." How many years later and the web still does not catch up.
by jorgeleo 9y ago
"But I still miss the old days of drag-N-drop GUI of Delphi, really easy."
How many years later and the web still does not catch up.
- gbersac 9y agoI think this is because of the unpredictiveness of html/css. The css api is not intuitive and there is difference between browsers.
- unclebucknasty 9y agoTrue, but we've solved that reasonably well enough when hand-coding that slapping a GUI code generator on top of it should be workable.
- computerex 9y agoA GUI web site generator is trivial and many already exist. The difference between the web and traditional desktop based programs is that you have a lot more freedom in constructing the experience on the web. Whereas a typical WinForms app is made up of a bunch of drag and drop common controls like the button or text edit, simple text editing and buttons can take many different creative forms to best suit the intended experience. So I guess another way of saying it is that older desktop based technologies like WinForms are more geared towards purely functional experiences. The web can go above and beyond providing merely functional experiences. The aesthetic and the experience as a whole is important.
- unclebucknasty 9y ago>A GUI web site generator is trivial and many already exist. >older desktop based technologies like WinForms are more geared towards purely functional experiences. The web can go above and beyond providing merely functional experiences. Not talking about web sites here, but web apps, which in the modern sense are much more aligned with desktop apps than websites of old.
- computerex 9y agoI meant web apps. Modern web apps offer a lot of freedom in constructing the precise experience we want the user to get. This is unlike traditional desktop applications with the cookie cutter controls that behave the same way from app to app.
- unclebucknasty 9y agoThat's not been my observation when it comes to SPAs, responsive apps, etc. They tend to use fairly straightforward components, layout schemes, etc. For instance, if you look at the components/layout capabilities that come baked into the latest version of Bootstrap, you'll find a lot of bases covered. Regardless, there's nothing that precludes you from wrapping any control you desire into an interface that makes it droppable and configurable through a GUI editor, then have it generate code. Likewise, for the creation of different layout managers, though in practice I don't think you'd find a ton of variability there. Most "experiences" boil down to grid-based and responsive. So, I'm not sure which precise experiences you imagine couldn't be created. It's all just code. But, if there are some, then they'd be the exception, not the rule.
- computerex 9y agohttps://www.strikingly.com https://www.strikingly.com https://www.squarespace.com/ https://www.squarespace.com/ https://www.wix.com/ https://www.wix.com/ http://www.layoutit.com/ http://www.layoutit.com/ You can already create simple websites with tools like above. But non-trivial SPA's can't usually be constrained by tools like that because they don't allow for enough flexibility. It's not that the web hasn't caught up to GUI editor paradigm that has been around for decades. In fact WYSWYG web editors were common when the web was in its infancy.
- unclebucknasty 9y ago>non-trivial SPA's can't usually be constrained by tools like that because they don't allow for enough flexibility. Yeah, you've kind of repeated variations of that vague statement, to which I've replied with specific capabilities/features that SPAs and modern webapps tend to use. I've suggested that they represent very common features/layouts that can readily be constructed with the aid of a GUI tool. But, here, you've now responded with a few website builders that are not intended to be used for the kinds of SPAs/modern webapps we're discussing. That doesn't make a point, except to say that "other things exist". Do you have specific examples of SPA/webapp functionality that cannot be readily built with the aid of a GUI tool?
- rodorgas 9y agoWeb is much more advanced (and complex), and that's why you can't just drag and drop. Or can you? Remember Wix.
- ComodoHacker 9y agoDo you really know how complex Win32 GUI is on low level? Yet Delphi manages it nicely and wraps it up into handy abstractions.
- rodorgas 9y agoI don't really know anything on low level. But I've never seen any layout render engine with the same feature set as modern HTML/CSS engines.
- pjmlp 9y agoI imagine you never used Qt, Gtk, Motif, NeXTStep, XAML, iOS or Android layout managers, for citing a few possible examples.
- rodorgas 9y agoTrue, iOS and Android have fairly decent native render engines. Other technologies cited are very limited, not even close to what current web technologies offer.
- pjmlp 9y agoGiven my experience in both worlds, I fail to see in what aspect web can beat those native layout engines. Because until recently even basic stuff like centering text or grid layouts were an exercise in frustration. Not to mention the magical incantation dance with CSS transforms to try to force a browser to use hardware acceleration. Or nonsense like Shadom DOM to be able to define some sort of components, which are only properly supported on Chrome.
- 9y ago
- TimJYoung 9y agoIn order to do a Delphi-like product for the web, you need to solve these problems: 1) JS isn't discoverable from the perspective of the IDE. There's no static typing and no way for the IDE to hook up code to UI elements, and vice-versa. You need a statically-typed language that can transpile to JS without too much "impedance mismatch". 2) HTML layout functionality isn't really geared for the type of layouts that are present in desktop applications. Document-oriented layouts have a completely different set of requirements. 3) You have to solve the design-time/run-time issue, and this is not an easy issue to solve due to 1). You can't just use a browser engine at design-time for the WYSIWYG portion, so you need to create a whole "browser emulation" layer in the IDE, along with an execution environment for your statically-typed language. Our product, Elevate Web Builder, solves these issues and implements a Delphi-like IDE for developing single-page web applications: https://www.elevatesoft.com/products?category=ewb&type=web https://www.elevatesoft.com/products?category=ewb&type=web We've got a new version coming out soon that will also offer server-side coding in Object Pascal, giving developers a single-source-language approach to developing complex web applications.
- bdamm 9y agoYour IDE looks cool especially for Object Pascal die-hards but your way wrong with JS. One doesn't need static typing to discover patterned functions. You need a convention and a parser that can recognize that convention.
- TimJYoung 9y agoThanks. Re: patterned functions: you can't rely on patterned functions in a full-featured IDE that allows any class method to be an event handler/delegate for another class instance. What you end up may look like what Delphi is doing, but it is just an approximation of the real thing that won't work very well for general-purpose usage. There's going to be all sorts of edge cases that don't work correctly because you can't get a reliable signature for a given method.
- goatlover 9y agoSmalltalk was able to do #1 in the 70s without static types.