|
Low-code or no-code platforms are a myth. 😉
|
|
|
|
|
...of "low-code" is the ability to make effective and immediate use existing libraries.
I am almost finished with a new WPF-based deployment tool that allows us to deploy our products to our new environments. The only thing that was "new" was the requirement to pull the code out of TFS and build it with MSBuild. Everything else in the app utilized libraries I've written over the last ten years. This Friday I will have been working on it for two weeks, and it's almost done.
My pre-existing libraries enabled a low-code approach, my employer has ALL of the related source code in TFS, and it is easily modifiable by any of the other programmers on the team.
I do not believe in the efficacy of "off-the-shelf" dashboards or other products of that ilk. They almost NEVER do everything that is needed, and generalize data in such a way as to buckle under the weight of an enterprise-level data loads.
Custom software (like what we do) will ALWAYS be a better choice, and will always require people that are skilled and knowledgeable in that domain..
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
I've been out of "I.T." for a while but current employers are aware of my history.
So, of course(!) I'm the obvious choice to get involved in building lo-code/no-code apps for the business.
I can see no difference between this current trend and the old Excel Macros "EUC" solutions that have sprung up in their millions across thousands of businesses. Except perhaps that the pitch is glossier.
They're fine when they work, until they don't. And they're fine when whatever it is you want to do fits with whatever it is they are capable of.
Example: One of our RPA tools can only handle SQL statements that begin with "SELECT ..." - so, no DECLARES, no CTEs, no Temp Tables. As a result, the resulting SQL is usually an almighty mess, so it has to be run out-of-hours, thereby self-creating the need for the automation!!
(We "got around" that one by using Power Query to run the SQL - not allowed proper tools here )
|
|
|
|
|
A good low code platform is like a concurrent MSAccess in the cloud.
If you are a dotNet developer, take a look at OutSystems.com. It is an alternate IDE for forward generating dotNet apps. You can drop any dotNet onto the backend that you need or add any JavaScript to the front end if needed. Free playgrounds, great online course trails. Web Apps, Mobile Apps, services, etc
For CRUD apps, you can create them extremely fast.
|
|
|
|
|
In 2014, we moved our 30 years legacy VB6 desktop app to a low code framework.
Our new app looks modern, up-to-date, has a wide range of new features, is multiplatform (Web, Mobile and Desktop), extremely configurable without new deployement, looks uniform, and has less bugs. It has around 600 DB tables and twice as much views.
|
|
|
|
|
Hello
Which low-code did you use? And How much is it?
Thanks you.
|
|
|
|
|
It is called eXpress Application Framework (XAF)[^], from DevExpress.
It is designed to build line-of-business apps:
- You design your objects (classes), with theirs properties and relationships (1-n lists, n-m lists, aggregations, etc.)
- You can declare user input validation, either by code with C#/VB attributes, and/or in a configuration file, and/or at runtime (as an admin).
- You can enable/disable/hide any field on a configurable criteria.
- It works with any of the major DB systems (MSSQL, Oracle, etc., 12+ of them).
- When needed, you can use Linq queries. Never write an SQL again.
- Low code first: By default, it automatically creates and updates the database whenever I declare a new class or class property in the code. This in itself is huge.
- Database first: It can also work with an existing database (even a 30 year old and broken one...).
- Has gorgeous UI: It puts into action the award winning DevExpress controls for Blazor[^], ASP.NET and WinForms, resulting in modern, intuitive and powerful UI.
- It has all additional standard features that a business application requires, under others: active directory login or standard authentication, user authorization (on classes, objects, fields, actions), appearance (for example display a field in red when negative or under a specific condition), auditing (who did what and when), grid, pivot, scheduler, reports, dashboards, localization (multilingual app, very well made), etc.
It can do a lot more, so you get to learn how to do it and it may take some time.
You will be amazed at all you can do with it in one afternoon.
The framework follows the standard design patterns.
It has consistent YouTube video tutorials, the documentation covers every topic, DevExpress has helpful, smart and fast support people, as well as tons (millions) of support tickets with clearly answered questions.
Links to introduction demos:
Amanda building a small XAF business application in 10 minutes[^]
Seth showing XAF in depth[^] (1h 10mn video that highlights many basic features of XAF)
I am working with it (XAF + C#) every day since 7 years and absolutely love it (you can see that from the length of my answer...).
|
|
|
|
|
In about 2005 i think? I built one called BizNet which was all XML schema based with annotations on the back end.
It allowed the data definitions, the UI presentation, and business logic to be in a schema. The XML schema could reproduce the entire application.
Then I just front-ended the schema with some designer tools, and bang. Low code. The only thing that required actual coding was some of the business logic.
Real programmers use butterflies
|
|
|
|
|
Slapping together a bunch of CMS plugins is arguably low code - if not what the hucksters are pushing - and while not something I'd want to do, is a better option for a lot of basic sites, especially when the customer's budget is limited.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
|
|
|
|
|
Judging by the majority of results, designing with things like Wordpress remind me of a quote attributed to Henry Ford when asked about the colors his 1909 Model T comes in: "Any customer can have a car painted any color that he wants so long as it is black.".
Cookie cutters are good for making cookies . . . and mud pies.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
In the embedded, mechatronic and automotive environments Simulink is the de facto standard to write the control models of various electromechanical devices. It is definitely useful as it allows to separate the physical model from the logic - the model is self documented and testable on its own, making the PID code completely separate from the rest of the firmware.
Also AutoSAR can use generated Simulink models to outline the interface of the various packages present on its RTE so it's widely used during system design to preemptively test system features over several dozens ECUs before even choosing the suppliers of said ECUs and developing the required customizations.
I don't use it, meaning I don't create models, but I am often exposed to the compiled output of said models and have to know my way around them.
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
the main issue I see is the ease of development for the non IS users to create solutions. This leaves long term support, maintenance and blame somewhere near no mans land when things go awry
|
|
|
|
|
MarcusCole6833 wrote: This leaves long term support, maintenance and blame somewhere near no mans land when things go awry
This.
Or maybe it will end in fees for programmers to fix and maintain and extend. Not a bad thing perhaps.
|
|
|
|
|
It does, and it shifts the requirements for programmers to lower abstraction levels. In embedded it's pushing more and more requests for BSP or lower layer developers.
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
MarcusCole6833 wrote: This leaves long term support, maintenance and blame somewhere near no mans land when things go awry Why? Whoever built it maintains it. Simple.
|
|
|
|
|
|
Just a couple of the reasons why I prefer to roll my own.
They also work as expected, can be modified as needed, and persist as long as I wish them to.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
- I'm vaguely aware of what low-code and no-code platforms are but would never use them.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Dan Neely wrote: vaguely aware
Dan Neely wrote: would never use them.
|
|
|
|
|
Yeah I was looking for that option too
|
|
|
|
|
We have an app that was built with Mendix[^] and it was running the entire business before developers were hired. That original product is still running the company and can do anything .Net can do. Some things much better, other things not as well, but for anyone who thinks that these platforms are still unusable means they have no real experience with them.
New projects we still do on .Net, luckily, but it will be interesting to see how these types of platforms change the development world. Because they will.
|
|
|
|
|
Ok, so this ended up almost being article format, but worth it, I think
So I had this client a couple of years back.
They wanted to set up a platform to help companies with their GDPR (privacy) implementation.
So they came to me and asked me if I could build this for them, of course I could.
Except, they really wanted to build it using a no-code platform which I won't mention here, but we'll call it X.
With X, you could drag 'n drop web interfaces, a database and business logic.
I'd never heard of X, but I was willing to learn and their technical guy and I went for a training day (they paid for me, but I didn't charge my hours).
Now this technical guy had done VB.NET WinForms and SQL Server for about 20 years, but he had no experience with web development.
So this salesman showed us how we could create a simple customer and product form.
Very easy, looked nice, worked, had some default validations, all's well.
But then we went and created more of the data model, which had to fit on a single screen (but they were working on a solution for that).
Then I asked them about AJAX and front-end frameworks, which wasn't possible.
We were stuck with an older version of Bootstrap and jQuery because that's what the framework used.
We could update it, but they couldn't guarantee that wouldn't break our application.
Alright, so that's quite a big limitation, but ok, "we wouldn't have complex front-end anyway".
Also, no source control, which to me was a big red flag, but like huge, Mount Everest kind of huge.
So then I talked finances with my client.
The framework apparently cost them €18,000 a year!
I made a simple calculation, I can do quite a bit for €18,000 and A LOT for €32,000.
After that you'd have around €60 a month for hosting and you could even go to customers with a partial product or POCs.
The costs would pay itself back in two to three years and for that they'd have exactly what they wanted using modern technologies and no limitations.
But, of course they wanted to go with their own idea of platform X because they didn't want to be dependent on me.
So we got started with platform X, despite my warnings, and this technical guy wanted to do as much as he could himself and only ask me when he couldn't figure it out.
He soon found out that "no-code" != "no-knowledge" and I was summoned to fix some stuff.
We found out that working on the same form together is a bad idea and we lost some stuff and had to start over for that form.
After that we found out Ctrl+Z didn't work as well as it should.
Then these guys updated their platform and some of our forms stopped working and we had to start over yet again (some forms were built four times!).
Remember, we didn't have source control.
We asked how other customers dealt with this and then we found out no one used the drag 'n drop GUI yet
To add insult to injury, most of their customers hired them to make stuff for them (SO WHAT'S THE FRIGGIN' USE OF NO-CODE!?)
So anyway, my client got some discount for "testing" their GUI and we continued...
Then my client wanted a survey, but the kind where questions become visible depending on your answers, which meant quite a bit of front-end work!
And so I went and wrote front-end code using an outdated jQuery library
The code was all over the place, since they supported custom JavaScript files, but I couldn't directly edit the HTML.
So some code was in the JavaScript files and some was somewhere in their GUI (like events).
The back-end was probably even worse.
I couldn't create functions, so I had to drag 'n drop, which took forever, but then I had an if-else-statement with pretty much the same logic save for some variables... And I had to drag 'n drop the same thing twice
So, to make a long story even longer, we finished the product and it looked pretty nice.
They went to their one and only customer and sold it for something like €3,000 a year.
Now I'm no math genius, but if the platform costs €18,000 a year and you're selling it for €3,000 a year you need at least six customers to break even!
They got two more customers in the year after that and then they ran out of money and decided this wasn't what they hoped for and they didn't want to continue.
Since they had a three year contract with platform X they had to pay for a whole more year without their software even running anymore.
Since the software was tied to the platforms they also lost everything we built, it was 100% not portable to anything else.
The story has a happy ending for me though, I learned something new, got paid for my services and got to say "if only someone had warned you beforehand"
So what's this "Except" in my subject?
I'd consider no-code for small utilities, but only platforms that aren't so ing expensive and that are more mature than platform X.
I don't want to be a guinea pig again.
Microsoft Power Apps looks nice, to name but one.
I'm not saying no/low-code apps don't have their place, but use them only if you really know what they are and can do.
"Everyone can be a programmer" is simply a lie and if that's the reason you're going for no-code you're going to have a hard time.
|
|
|
|
|
Betty Boop would say: poo-poo-dee-doo
|
|
|
|
|
Nice account.
Yeah, BEWARE of tying yourself into any dev platform that promises much but doesn't have a provable history of delivery & maintenance of serious real-world applications.
Demo & tutorial apps are one thing, but real-world app requirements are a whole new kettle of fish.
Fine for little utilities for internal use, but if you create your products using them you risk opening yourself to a world of pain.
|
|
|
|
|
These bring to mind the "application generators" that were all the rage a couple of decades ago. As long as one stayed within the bounds of the targeted problem domain, these worked fine. As soon as one needed the slightest customization - "All Hope Abandon, Ye Who Enter Here".
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|