3 ms·
I have some experience here and can share my frustrations... I wrote the original version of a product named React Studio (https://reactstudio.com https://react
by pavlov 4y ago
I have some experience here and can share my frustrations... I wrote the original version of a product named React Studio (https://reactstudio.com https://reactstudio.com). It's sort of a "VB for the modern mobile-first web". Unlike VB though, it's runtimeless and exports regular React code (there's no closed blob or mandatory custom packages in the output).
An enormous thing that has changed since the 1990s and those halcyon days of Visual Basic is the central role of design. Back then, overall consistency was a pillar of desktop UI. If your app's buttons looked like Windows buttons and you could use Tab to move through input fields, that was usually good enough. VB provided that kind of usability out of the box. The PC platform was fairly homogenous: you could assume that your user has at least a 800*600 screen, so you'd just make your application window that size and the MVP can ship.
Today's UI designs must deal with an enormous variety of physical form factors and display resolutions. But even if your no-code tool is able to deal with this and provides a consistent UI that scales from phone to desktop, it's not nearly enough. Commercial visual branding has replaced consistency as the central pillar of UIs. Now your buttons must never look like default buttons, and your UI must use a custom font even though the OS standard font would be more readable. This is simply what customers believe they want.
Unfortunately the web is a very poor platform for expressing UI designs in a consistent way, so literally everyone has their own haphazard UI framework. Basic components like pop-up menu buttons are commonly written from scratch. Nobody can agree on how to style a button. Et cetera ad absurdum. Your no-code tool should somehow integrate into this customer-specific private universe. On top of this mess, your primary input is visual designers who draw static pictures of applications in Figma and expect those to be translated into code. Often these designs are entirely lacking in structural thinking. (These designers typically come from a graphic design background, so they are very interested in fonts and padding widths but have never read the Apple Human Interface Guidelines or any other UI fundamentals. Hence they're mostly concerned with making sure any prototype application looks exactly like their Figma document.)
In my experience, the only reasonable way out of this trap is to focus on applications that are not of interest to the designers, i.e. internal business tools. Retool seems to be very successful here. I also use Retool in my day job and appreciate its no-nonsense design.
- mike_hearn 4y agoYou can also plot a middle path. JavaFX Scene Builder for example supports CSS, style sheets and custom themes, but also supports visual design and layout. However people with a graphics design background would still need to learn a bit of UI design like how to make responsive layouts, and they wouldn't be able to use Figma anymore. Animation also isn't that well supported. Still it can be done, it's mostly a case of investment. The Jetpack Compose guys are trying to do it the other way around - generate layout code from Figma files.