meowcat’s Newsletter

Share this post

Which low-code UI framework?

meowcat.substack.com

Which low-code UI framework?

A pilot for scientific software frontend.

meowcat
Nov 22, 2022
Share this post

Which low-code UI framework?

meowcat.substack.com

There is a variety of low-code frameworks for building reactive UIs. Herein, I am testing the available options with a proof-of-concept module that I want to reuse in different situations. I am looking at the frameworks from the point of view of a one-man show scientific software developer who wants to build a front-end to scientific tools. I haven’t used Javascript in a decade, so have mercy on me :)

If you have suggestions for other frameworks, I would like to add them to my list. However, I am not sure I will revisit the overall results anymore - originally I wanted to make this a living document, but this would mean I spend the rest of my life tracking bugfixes and improvements, which I don’t have the bandwidth for.

Frameworks tested:

  • Openblocks, 23/78/3.2k watch/fork/stars: to the report

  • Budibase, 199/965/16.4k: to the report

  • ToolJet, 116/1.4k/15.2k: to the report

  • Illa, 23/60/1.2k: to the report

  • Appsmith, 239/2k/22.8k: to the report


TLDR: Results: To the summary!

Five compared frameworks’ history of GitHub stars. Three old hares and two new kids. Graph courtesy of GitHub statistics by vesoft

Frameworks not considered:

  • Refine, 41/411/5.7k, not a drag&drop builder

  • Windmill, 8/47/1.5k, focused on workflows

  • Retool, the OG. Not open source

  • internal.io, not open source

  • Anvil, open-source engine but not builder; python-based

  • Interestingly, the chemistry world (which happens to be my domain) has its own UI builder: The Cheminfo Visualizer. The thing is literally 10 years old and shares many concepts with Tooljet, Appsmith and co. As another plus, it has many science-specific widgets built in. However, the dev experience is very dated, and there is no good separation between “making” and “using” the app. Still, I feel in this list it deserves a honorable mention.

The example application is a simple CRUD CSV editor.

  • The “backend” is a WebDAV server with a CSV file on it

  • The frontend shall

    • GET the CSV

    • parse it to JSON

    • display it as a table

    • allow me to edit rows

    • allow me to add rows (I didn’t do this)

    • render the resulting data as CSV and PUT the updated file

    • allow me to replace the CSV with a completely new file from my HD.

  • The frontend block should be reusable. I.e., I want to use it for different CSV files.

    • Ideally, it should be tolerant of extra columns and missing columns, i.e. not anchored to a single schema.

Why a CSV editor?

  • CSV is a commonly used input data format for scientific software. Everyone in IT loves JSON, but our users still need CSV.

  • It allows me to test a few interesting details. For example, can I run custom JavaScript code? can I import JavaScript libraries (to handle CSVs)? Can I GET, PUT and POST data that isn’t JSON?

  • A WebDAV server with config files plus something like the API of OliveTin for running shell scripts (there is probably a simpler alternative) is actually a great low-tech backend for many scientific software applications. I was once writing a REST API that exposed the config files for a tool, and after a while I realized I was reinventing a webserver.

Technical criteria to evaluate the framework:

  • Do I run into limitations? If yes, can I get around them?

  • Do I foresee limitations for more complex use cases?

A second task I am looking at is a simple table displaying a paginated API query with server-side sorting and filtering. This is something every framework should be able to do out of the box, since this is more or less what they’re built for. Here I care about how much friction I encounter doing stuff like attaching a filter string with one or more conditions for server-side filtering.

What I’m not yet looking into closely: Authentication options and so on.

Another criterion is sustainability. All options I evaluate are “open-source”. However I am aware that there are people behind this who have to eat food and potentially buy Porsches. “New” projects worry me because I have seen too many cool new projects abandoned, especially in a space that’s getting crowded.

  • Can I see how this framework will still be here in five years?

  • Does the team openly communicate their business model?

  • How much will it cost me in the future?

My wish would be that the open-source community eventually converges on a platform that becomes strong on its own, like Eclipse. However I think we are far away from that.

Share this post

Which low-code UI framework?

meowcat.substack.com
Comments
TopNewCommunity

No posts

Ready for more?

© 2023 meowcat
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing