Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Before Compose took over as the new direction for Android app development, the Android Studio designer IDE had a very VB6-style designer where you could drag and drop components, while the underlying UI files were all XML based. The callback generation wasn't as easy as with VB, and different phone sizes meant you had to deal with resizing (which VB applications usually just didn't bother with), but the experience was pretty good.

These days you've got Gambas for a free and open source VB, including the terrible language, but in my experience the looks are a bit off when you design on one desktop environment and run the application on another.



> Before Compose took over as the new direction for Android app development, the Android Studio designer IDE had a very VB6-style designer where you could drag and drop components, while the underlying UI files were all XML based.

It's important to note that pretty much nobody used the visual designer though. The resulting xml was pretty terrible, writing the UIs manually (in xmls, while looking at preview) was infinitely better


That's just Android though. A good example of doing this well is JavaFX with Scene Builder. The XML corresponds to the UI tree 1:1 and the designer makes XML that looks hand written (or vice-versa). FXML is also a pretty intuitive schema and there's a dialect of CSS intended for UI that I find more intuitive than web CSS.


Plenty of apps used the visual designer. You could tell because the UI would be a right mess the moment you didn't use the app on a screen that matched theirs.

Good apps were using semantically correct design layouts but there were, and still are, tons of bad apps out there, just like there were a ton of VB6 applications.


> These days you've got Gambas for a free and open source VB, including the terrible language, but in my experience the looks are a bit off when you design on one desktop environment and run the application on another.

There is also Lazarus[1], which uses Pascal but feels closer to what I remember of the VB6 experience.

1: https://www.lazarus-ide.org/


> but the experience was pretty good.

Our experiences do not match. I used Borland Delphi to build business apps 20 years ago just using the UI builder. I've been using Android Studio to build apps at FAANGs for 10 years now and I cannot remember the last time the Design tab was useful - it was always faster and more reliable to just edit the XML file.

Yes, Delphi didn't do resizing windows and crashed half the time, but I was pretty happy with the WYSIWYG / UI building functionality for production apps.

Android Studio's UI builder is nowhere near that level of usefulness. I have a hard time believing anyone is using the UI builder in Android Studio for anything other than tutorials or entry level Android apps. It doesn't render the layout properly 90% of the time, or just renders some placeholders with no content and calls it a day.

For a modern IDE, Android Studio is somewhere between just OK and bad, mostly because it has features the other IDEs didn't at the time, but the dev experience is behind Turbo Pascal in the 90s on MS DOS. The editor is laggy. The debugger is slow and hangs often. The list goes on, but I'll stop the rant here.


Android Studio had the exact WYSIWYG experience other toolkits used to have, it was just hidden behind an <AbsoluteLayout> because designing mobile applications the way desktop applications used to be designed is an awful idea.

Drop an AbsoluteLayout into a design and you can drag, drop, and resize buttons to your hearts' content. You'd have the same problem with VB6 where your buttons would fall off the screen if someone ran your application at a lower resolution than you designed it for, but that was never a problem for the desktop designer.

For the same reason dumping buttons on an arbitrary coordinate and resizing by eye is no longer acceptable on desktop, that same ease of design died out in Android for any serious application developer. It stuck around a while longer on desktop, unfortunately, but modern frameworks pretty much all use declarative layouts these days.


Lazarus is pretty much an exact implementation of Visual Basic, just mapped to FreePascal instead of VB


Lazarus is a very faithful clone of Delphi, which is the Pascal-based main competitor of VB of the time.


an exact implementation of Delphi, I would say.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: