We built Apex Designer to put the power to create cloud-native apps in the hands of citizen developers. Now anybody can build a modern web app with a complete REST API that runs on an open source stack in hours instead of days or weeks. It's hard to believe that we started Apex Designer five years ago. Its evolution was (and continues to be) driven by developing client applications in banking, manufacturing, financial services and customer relationship management. It has become a full-fledged low code platform that I use and love every day.
The Start of our Low Code Journey
The low code journey at Apex started before the beginning of Apex. I was at Ford Motor Company in the Office of the Technical Fellow identifying, incubating and launching emerging processes and technologies for the product development process. I came across a tool called Lombardi that let business people model processes, information models, user interfaces and business logic graphically with just a little JavaScript to complete the app. That was in 2006.
Focus on User Experience
In 2009, I left Ford to start Apex Process Consultants. Our mission was (and still is) to combine Agile methodology with powerful app building tools to achieve business transformation. Lombardi was our tool of choice (Lombardi was later purchased by IBM and it became IBM Business Process Management) but it had a pretty dated (even for 2009) forms-based user experience. Apex developed a series of user experience add on packages for Lombardi/IBM BPM. The first one stretched the limits of the Lombardi forms capabilities including dynamic user experiences based on Dojo. The second generation, Apex Coach Views, was based on Dojo and the first commercially available Coach View Toolkit for IBM BPM. The third generation, called Apex Coach Views 2, came along in 2013 and was based on Angular JS. It is still in use at many clients around the world.
The Client Side Emerges
In the spring of 2015, Angular 2 moved from Alpha to Developer Preview. That summer, we started prototyping with Angular 2 thinking that it would be the next logical step for our UI toolkit. But something unexpected happened. We found that Angular 2 natively supported many of the patterns that we relied on the Coach View Framework for. We developed a library of Angular 2 components along the lines of the items in our existing toolkit. The performance of a pure Angular 2 single page web app vs the combination of the coach view framework and AngularJS was amazing.
The Server Side Emerges
In September of 2015, a press release caught my eye. IBM had purchased a company called StrongLoop which supported an open source platform called Loopback. Up until that point, we had been using Node.js and Express.js for our server side prototypes. Loopback was an instant game changer for us. We could define business objects, properties and relationships and Loopback would magically give us a complete REST API application with a wide range of choices for back end databases.
Apex Designer is Born
At the end of 2015, we were very excited by the prospect of apps with an Angular 2 front end and a Loopback back end. The performance and scalability was great. Both open source frameworks were supported by industry giants (Google and IBM respectively). The only thing we were missing was the low code design tool to build the apps. On February 26, 2016, we made the initial commit to source control for Apex Designer. It's hard to believe that was 5 years ago.
Apex Designer Proves Itself
We had our first client engagement using Apex Designer the summer of 2016. That quickly turned into multiple app dev projects with that client as well as a license for an on-premise deployment of Apex Designer. Since then, we have done numerous projects with a range of clients including a large regional bank, a huge tier one automotive supplier, an innovative B2B payments company and a commodities hedge fund.
Continuous Innovation
From that first commit on 2/26/2016 through 2/25/2021, there were 2,560 commits. Every single one of those have been driven by real world feedback on making the design of applications simpler and more efficient. We not only use Apex Designer on client projects, but also use it to develop our websites, deployment management tooling and even Apex Designer itself (inception!). The highlights of the last year include:
- What You See Is What You Get (WYSIWYG) authoring of the Angular UI - just drag components from the palette to the canvas and that component is live - no build/reload delay
- A Dynamic Components library that leverage knowledge of the app's components and schema to deliver common user experience patterns with zero development
- A graphical presentation of business objects and their relationships that is dynamically generated from the app's schema
- Integrated industry standard process modeling that generate BPMN for execution in a leading high-performance open source process engine
- Additional object handling patterns including client-side access to server-side behaviors, automatic support for Angular forms (no form builder required), and using the same object handling patterns in server-side logic
- Configurable code generation templates enabling development teams to fine tune code for their own standards as well as supporting multiple back ends and front ends
- Support for Loopback 4 using the same simplified authoring approaches that we used for Loopback 3
- A new Box library that includes a Loopback Connector for Box, business objects and behaviors that make it easy to leverage Box in your app
- Semantic versioning for Apex Designer libraries making it super easy to control which versions of libraries are included in your app
We have also moved Apex Designer from our old friend Cloud Foundry onto new favorite friend Kubernetes and are doing the final testing on a multi-tenant Apex Designer instance.
What to Learn More?
Visit apexdesigner.io and sign up for a demonstration.