Ask HN: What low code platforms are worth using?

86 points by ern ↗ HN
I work in an enterprise environment that has multiple development teams, one of which uses Powerapps and another that uses Outsystems.

My group writes .NET code, but we have an interest in ensuring that whatever low code platforms are in use elsewhere don’t make our lives harder. I know most “normal” developers have a reputation for being hostile to low-code platforms, but I’m quite open-minded, and some members of my team like Powerapps in principle, and based on past experience.

Outsystems seems to be good for rapid development, but (maybe unjustifiably) I get demoware vibes from it, and find my team having to compensate for its shortcomings.

Has anyone got strong opinions on which low-code platforms, in 2023 are capable of getting out production-ready code for non-trivial projects?

94 comments

[ 2.8 ms ] story [ 273 ms ] thread
> non trivial

> production ready

> low code

Choose one

Choose two

(We really are at the point where some solutions offer choose two)

But, add “robust sophisticated data access controls” to that list and its still “choose two”)

You don't need to choose, Wordpress is already here and waits for you with open arms.
(comment deleted)
Yeah. For complex CMS driven websites I’d always choose Webflow. But to have it all nice and combined in one tool handling non-trivial complex software projects I really don’t know of a single platform out there for that…
Perhaps at risk of sounding facetious, but Excel.
Honestly? you might be right.

Perhaps Airtable for an aaS approach that can be exposed to external visitors as a website, but the concept is sound.

How do you feel about Airtable's recent pricing changes?
I think Airtable would make a reasonable admin backend for a custom site/application, as the admin backend is usually the bit of the system that gets the least UX love, and it's close enough to a spreadsheet that it shouldn't be too hard for people to pick up.
I don't need a spreadsheet that much, but I've been finding MS Office 365 version of Excel to be obnoxious to use. They've changed a lot since I used it 5 or 10 years ago. I don't need it enough to learn it, so I've just been using Google Sheets as needed.
In the browser the google office suite absolutely beats microsoft’s, even after years of benign neglect by google. Comparing the desktop microsoft apps vs the google web apps I would say the microsoft stuff is more fully featured, but slow and more confusing to use.
This, but I also have a wishlist of features I wish Excel had in order to achieve parity with Airtable/Notion – arbitrarily-sized lists of data in a cell, for one (as opposed to arrays splatted throughout multipel cells.)
(founder here) Webiny is an option I would recommend checking out. It's open-source, so unlike Webflow, you can actually creation your own low-code components. Webiny has a Page Builder, Form Builder, File Manager and a Headless CMS. All products can be configured and use as a low-code solutions.
For prototype/internal use or customer facing products?

Zappier, airtable, retool(or open source alternatives) seem ok if you need something quick.

There is a hybrid alternative that combines no-code with low-code and pro-code. It is a platform that generates code for React, React Native, and Next.js. And it is free to use :-)

https://allcancode.com/platform

With Outsystems, I heard from anecdotal experience that developers end up pushing business logic into SQL queries.
I'm a long way off from being a professional programmer, but part of my current job is to develop and maintain low code solutions. The company I work for is all in on MS (sharepoint, O365, Azure, etc) so powerapps is a no- brainer for us. I've had to make do with a couple of ugly workarounds, but for the most part the whole "power" platform makes things pretty seamless and easy.

I haven't tried any of the others mentioned, though, so I have zero context.

This matches my experience as well - in an enterprise environment when you already code .NET and people already use Powerapps, etc... why go looking for a new platform to integrate? Just keep using the platform you are already invested into.
These low code platforms are like blueprints in game dev engines. They are cool for the first 2-3 iterations and a nightmare after.
One huge problem is that with code the usual way of ensuring maintainability is to revisit old code and rewrite parts of it as needed, in order to be able to maintain it properly.

One huge problem with no/low code solutions is that people usually think that this doesn't need to be done for no/low code solutions, only for code solutions. But solutions using nodes in order to build stuff also need to be revisited, refactored and thought of as abstractions.

And with none of the intelligent tooling which IDEs and version control software have developed to make that process easier / less error prone.

Git commits of node coordinates and minified JavaScript is not my idea of a good time.

No code has its role, there are many simple things it can make easier. For most non trivial systems, no code will get you 80%-90% to a solution and the last 20% of your solution will be extremely difficult, complex, or impossible to deliver in any maintainable way.

Developers are hostile to these types of solutions specifically because once you go past basic CRUD your no code solutions make everything so much harder and complicated compared to if you had of just used JavaScript in the first place.

I’m fully expecting some no code sales people here to disagree. They always do. Those same sales people will try to blame the programmers for getting in the way of saving money or being stuck in their old ways. Have a good long proper conversation with your programmers that you trust and try to understand their resistance better.

I am sincerely wondering if this must be the case or is it a shortcoming of the existent solutions, but something that can be overcome. (Disclaimer: I am a programmer who never seriously used any low code product apart from a spreadsheet. Unless you count Emacs as a low code platform, which would not be wrong, I guess.)
Emacs were pretty productive but sometimes overcomplicated imo. Remember TRAMP mode?
I think it's intrinsic to the problem. That 20% long tail of the customer's problem is not just different for every company, it takes a decent programmer to recognize where that border line is.

As a result these solutions work just fine until the point where they trip the user up and start repeatedly punching them in the face. The user will usually try to work around the limitations and that's when it goes really badly wrong. Often the users will blame themselves for not knowing how to progress or for creating a mess.

If your needs are simple enough you might never reach that border. It's suitable for those tasks.

It's made worse by the economic incentives of no code platforms too. They try and trap the user on their platform. So, once you reach the border line the user usually has to dump the entire app and bring in a programmer to code it all up from scratch. That makes bad workarounds that much more tempting from the user's perspective and thus that's how the no code solution dumpster fires are born.

in my experience this makes sense. really true, hands down.

however the answer still boils down to "it depends" since it intersects with different industries, and companies of different maturity stages.

making a landing page for some simple site? no code works.

need a fast crud for operations team? no code works.

creating a web app prototype to validate a simple idea? no code works.

refining a product with existing users in terms of platform compatibility, scalability, performance? time for specialists on front-end and back-end languages.

i think there comes a time when sales are coming in at the door and at that point throwing money at the problem makes sense, to move from no code to handwritten web apps and mobile apps.

i personally prefer appsmith over budibase. zapier and n8n, cool stuff too.

but in complex stuff i still come back to reactjs and nodejs.

For anything complex, for example a SaaS platform, your best bet is to build from scratch with code. The flexibility, ownership and technical viability are essential in these scenarios.

For simple CRUD apps, internal tools, reports, spreadsheet replacement - low-code platforms - particularly OSS options (Budibase, Appsmith, and others)

Not at all a sales person, but...

I think that a lot of the problems that general wisdom thinks are implicit to no/low code are so prevalent precisely because the barrier to entry is so low.

You get a lot of people who have never programmed anything who can basically put together something that almost works by tweaking tutorials and googling around.

But where they get stuck is lacking the programmer's mentality - of being able to puzzle around restraints (which all programming languages have) and then imagine all the worst case scenarios and test against them.

Down thread, somebody even makes the claim that low code doesn't permit for maintenance but of course this isn't true - again, it's just inexperienced users thinking that once something works once it will work forever.

And the amount of professional developers who would be willing to come in and untangle a low code mess as opposed to suggesting a "real" solution (coincidentally using their favoured stack) probably reinforces the idea that the last 20% is impossible with low code.

It's not about agendas or people being stubborn, it's just about people playing to their strengths and having their perspective coloured by experience

Yeah code is not a bad thing. It constrains us and make the hard things about designing and building non trivial systems up front.

It may seem like a good idea to postpone such considerations. And it might even be in some situations. But complexity will still bite you in the ass even if you sweep it under the carpet and tell people not to worry about it (for now).

But if people say you can't replace a railroad consist that necessitates engineers and designs with wheel barrels that anyone can push and you say "you totally can, you just need enough wheel barrels" you're being disingenuous about the realities of the two approaches.

> Yeah code is not a bad thing

I think code is a great thing, just that the "everything looks like a nail" argument goes both ways

This whole hammer metaphor gets too stretched in the context of software. Code is not a single thing, it's a whole approach to programming computers. It's hard won territory, seeing people had to use machine code and op code tables to program for a good chunk of history. And the allergy some people feel about it is unjustified in my opinion. The strengths of coding tooling are well worth the investment and trying to avoid code as if it ware a deterrent to "getting things done" is failing to understand what is hard about programming. Not learning how to code (and properly, with version control, code reviews etc which are surprisingly shunned by some professional programmers). The hard things about programming non trivial computer systems are made easier by the scaffolding of programming languages. Not harder.
Low code is great if you don't know programming. For more complex systems you want developers who understand the system deeper than "box connects to other box makes things go brr", and if you have developers who know what they're doing they'll make a better system faster with actual code.

Low code is just a GUI on top of some library. I'd rather just write the code and call the library functions directly than mess around with boxes that do nothing other than limit my options.

Any no/low code problem trivial enough to be hacked together by a non-programmer can be completely replaced with code in extremely short order by someone who knows what they're doing. The nightmare scenario, where that principle breaks down, happens when you hire people specifically to work on your low/no-code codebase.

As a rule of thumb, the only kind of job posting that should mention a low/no code solution is one for a software developer hired to migrate your current solution to real code.

> Developers are hostile to these types of solutions specifically because once you go past basic CRUD your no code solutions make everything so much harder and complicated compared to if you had of just used JavaScript in the first place.

And being fully honest, I've not seen basic CRUDs since college homework days. Every CRUD I've seen since has some business rules applied to it, whether these are triggers or some special field constraints.

If a business needs a basic CRUD, it gets away using a spreadsheet.

Having worked with several low-code/no-code systems in the past, I've had similar experiences. They work really well if you stay within their area of strength, but once you go outside of what it was designed for, it becomes an ugly, unmaintainable mess.

In every project I worked on, the users of the system always wanted it to do things that go beyond what the low-code system was designed for. That always required what was essentially coding, but using some clunky UI for advanced code-like functionality.

In the end, you have a system that would have been much more maintainable if you had just gone with a standard "with-code" solution.

They always sell these things with the idea that non-coders can do most of the work on the system, but that's only true for a very basic system. In my experience, it's coders that end up doing 90% (or more) of the work and it ends up being inferior to a coding-based solution.

As a "no-code sales person," I actually agree. It's why we started on https://plasmic.app, to bridge the gap between low-code and code—we think there can exist low-code tools that integrate deeply with existing code and codebases, to allow scaling in complexity.

A very nice effect of this is cross-functional collaboration—once it's possible for the team's developers to provide the right components as building blocks, then the non-developers in operations, design, marketing and product functions can compose these into full pages.

Surprised no one has said Framer yet
I love their ai generated components and full landing pages great for prototype or proof of concept or validation .
i’ve worked with retool at my past 2 startups and it has been very useful as far as allowing engineers to build out quick internal tools so that things like service requests that occur quite often can be handled manually by the customer service teams.
We used Webflow for our company's landing page for a while but for our uses it was more "slow code" than "no code". To get the layouts we wanted you still had to understand the quirks and intricacies of flex/grid so it was just a clunkier interface than writing code.

That being said, it got us up and running quickly at a time where we didn't have much time to spend on that stuff. I think it's a reasonable progression to start out with something like a no code tool and switch to code when you've got the time/people.

We tested PowerApps at work. It looks fine at a first glance but comes off as really rough around the edges.

It's a fine tool for the business if you want to avoid shadow IT, I suppose, but you have to be aware that sooner or later you will need to integrate it with .NET because of feature creep and by that point you end up maintaning PowersApps, .NET and a lot of duct tape in between.

Having done some research on this for internal use in the past I would recommend AppSmith as the best of the bunch given it's mostly open source.

We had to give it a past in the end due to no i18n or equivalent support.

SQL as the database, Budibase for app building!
.net dev here. I started my career using Mendix. It’s very much aimed at enterprise (see pricing) and in direct competition with Outsystems. I haven’t used it for about two years now so might be out of date. Some unordered thoughts:

- I wasn’t around for the decision between outsystems and mendix, but apparently the choice largely came down to the support provided by the Mendix team in getting a fledgling dev team up and running in a company which at the time only outsourced dev work

- following on from that, the Mendix guys were all great to work with. A genuine positive. I heard that the impression of outsystems was much colder

- it’s a really mature product that’s always growing. Backed by Siemens for a few years now.

- like all low code it has its limits but it’s built in Java and there is the option to add Java code where needed for performance or for some other reason. There are APIs for hooking into the platform at multiple levels so it’s extensible.

- in my current job I build in azure/logic apps/function apps. Personally I would either do function apps or full low code like Mendix (costs aside). I try to avoid the middle ground or power automate/power apps/ logic apps - you basically get the worst of all worlds, and are only really intended to link services together or orchestrate amongst services.

I'm a developer, but had some experience with Bubble because my former client was using it. I would say that it's good "full-stack" web dev platform that allows you to get further than you would think with a low-code tool. But in the end, you trade-off speed in the first few weeks against complexity and bad maintainability later down the road.

I would say Bubble is good if you don't know how to code but still want to build something like a basic CRUD app. If you know how to code, my advice would be to still code it yourself. This advice is probably valid for most no-code tools, because you always trade off against something.

Easy question - use platforms from which you will be able to migrate in the future with the least amount of money and time wasted. Pick one where time to ditch the low code infra would be less than two years and using not more than half of your dev team staff.

Our project did it in about 2-3 years, rewriting hundreds of tests in the process, yay :)

There more I work the less I care about no-code or development languages.

The cost is in requirements and dependencies. The tools and implementation is the cheap part.

> The tools and implementation is the cheap part.

Not always true. This is a bit of a myth I myself sometimes fall for. Tools and implementation require a lot of very skilled workers to become cheap, because they must know all the traps that any language or framework implicitly or explicitly adds.

For example, I have been learning SwiftUI lately as it is sold as the new cool shiny stuff, and coming from a backend background it was nice at first, until I started fighting with xcode, "this thing is not possible yet in swiftui, so you must wrap an ns controller", etc. Now that I know these issues I am not anymore the clueless guy but I would still consider myself pretty junior in this field/technology: are you happy to have someone with 0 experience do this kind of work? Then yes, it's cheap in terms of salary and expensive in terms of time/quality of your product. The guy learns and eventually leaves to make more money.

Ps: overall I agree that requirements and dependencies are costly too. I wouldn't underestimate the costs of language/tools/technology though.

I think that assuming that technology is secondary is a trap that skilled developers encounter when moving into management-they assume that development is as easy for others as it is for them. When I moved into technical management, I was fortunate enough to work with high performing teams for a while, so when I encountered a poor performing team (the team lead didn’t know basic good practices, and bug counts rocketed up because of an inexperienced dev team) it was a nasty shock.
I've used https://val.town as plumbing between webhooks where I needed to restructure a JSON payload, but only wanted to write the business logic. It's great for Zapier/IFTTT-like tasks but where you still want to write code for the business logic, you just don't want to scaffold up the rest of the pieces.
Xano.com is great for this. Go check it out.
I would not take any recommendations here, as the tool to use "depends". I would try a bunch of the tools and stick with the one that you like the best, but you need to invest the time yourself!
> I know most “normal” developers have a reputation for being hostile to low-code platforms

The word you’re looking for is “experienced”. You’re echoing all the concerns everyone that’s dealt with it shouts from the roof tops, but you’re saying the same thing they did before getting that experience, “this time is different”. See you on the other side.

I have around 20 years of experience doing work with third generation languages. So I’d classify myself as both “normal” and “experienced”. The closest thing my group does with “low code” is the odd Azure Logic app for alerting, and we don’t have any plans to change that. I’ve been around long enough to see things like Lighswitch die on the vine.

The problem is that I don’t control the entire IT org and my group has to deal with issues like presentation logic bubbling up into our APIs from underpowered and overhyped low-code platforms.

I guess the difference between you and me is that I’m open-minded about the possibility that some of these tools might potentially, someday, be better than what we’ve seen until now.

Retool for sure, they are pumping out features really quickly too. The model makes a lot of sense from a developer's point of view. Now that they are also going into public apps I would really consider them seriously.

Hoping for: - Better pricing for public apps. - Better ability to easily customize the frontend design without touching CSS/HTML/JS.

<3 Love to hear it! (PM at Retool)

We're revamping some things around Public Apps to make them better/more accessible/more easily shareable for unauthenticated use cases, where you don't pay for end users.

For use cases where you are authenticating external users (using Retool Embed or Retool Portals), we offer custom pricing because use cases vary quite a bit. Sometimes the number of users doesn't even make sense as the billable metric.

Happy to chat more to see what'd work for you - feel free to reach out at antony [at] retool [dot] com!