What’s the relationship between low-code and web content management? Let’s take a look.
Of course, there were challenges with this approach. First off, there was writing the code. Developing proper, semantic web markup took significant, detailed knowledge that changed monthly. There were the ever-evolving web standards, browser-specific hacks and search-engine specific meta tags. The coding process was also completely separate from the publishing process. The result? Visualizing your code without publishing it was next to impossible.
The Evolution of Web Content Management
Eventually visual editors came along. Developers could more easily create websites while also visualizing changes as they developed. Editors like FrontPage and Dreamweaver offered auto-completion capabilities that lowered the learning curve. And so, creating websites became available to the masses.
Nevertheless, there were still challenges. Each page was a copy of some page before it: a maintainability nightmare. These editors intertwined look and feel with the structure of the site. In addition, making a cross-cutting change to your site’s template required changing hundreds of individual files (in the header, for example).
Then came server-side web technology like JSP, ASP, PHP, etc. Now it was possible to compose pages from templates managed on the server side. And you could easily use common components.
But, with server-side technology came new challenges. All the available options embedded the content with the code, mixed with the content and layout. In addition, the servers where you hosted your website were different from where you developed. Therefore, getting your site published was no walk in the park.
Finally came web content management systems like WordPress, Sitecore, Drupal, and many others. These systems separated the site’s content (in a database) from its structure (in templates) from its look and feel (in a theme). Web content management systems also powered the runtime on your hosting server. As a result, creating new web pages didn’t require an extra publishing step in a separate environment.
Given the evolution of web content management systems, if you needed a new website or a blog today, would you build it by hand? No. You probably wouldn’t. That’d be crazy. We know better now.
If You Wouldn’t Build a Website by Hand, Why Are You Building Apps by Hand?
Just like websites in the past, organizations and enterprises of all types have an almost insatiable appetite for apps—custom web and mobile applications that serve their internal employees, partners, and customers alike. And, those applications aren’t simple client apps, but often need complex back-end APIs and processes. Just like website development, there are many unique challenges with traditional application delivery. To meet the demand and overcome these challenges, we need a new approach.
I believe we’re at the cusp of the next major shift in the evolution of delivering custom applications. That shift is low-code (see my LinkedIn blog article for more about this), and OutSystems is leading the way with its low-code development platform.
What is low-code, you ask? And how does a low-code platform like OutSystems address development challenges? Is it a visual editor like those from years ago? A code generator? Is it a rapid application development framework?
None of the above.
The OutSystems low-code platform is a full-stack development environment for creating and managing web and mobile applications. Just like web content management systems represented an evolution for creating websites, the OutSystems platform represents an evolution for creating custom business applications. Here are some ways it solves challenges with custom apps similar to those web content management systems solve for websites.
Visual development and learning curve
With OutSystems, you visually develop your app screens using reusable building blocks. Just like a website built with a web content management system, you don’t have to hand-code every screen; you compose your site using the template, theme, and data capabilities the system offers. OutSystems generates the final open, standard code from the reusable building blocks. As a result, there’s much less of a learning curve, widening the pool of talent organizations can leverage to build apps.
Reusable application templates and themes
In the Gartner report on the Magic Quadrant for Mobile Application Development Platforms, 2017, they emphasize how critical reusable components are to today’s mobile development. Not coincidentally, the OutSystems platform, which focuses on productivity and reusable components, was named a leader in that Magic Quadrant. With the OutSystems platform, rather than hand-coding features for each app, you develop and publish reusable building blocks. You can write your own custom code whenever you need, typically to create a new reusable component rather than an individual feature. Moreover, this reusability greatly lowers your app’s technical debt.
Even better, the OutSystems community makes more than 1,200 open-source components (as of this writing) available on OutSystems Forge. These cover common use cases like Touch ID, SalesForce integration, and OAuth authentication. And, when it comes to look and feel, OutSystems fully separates the design elements of your app from the structural components. For example, our Mobile Theme Customizer is an impressive tool for jumpstarting your theme.
Separating data from app and application hosting
OutSystems is a full runtime environment for your applications, what Gartner calls a high-productivity PaaS. The server side is where you can model your own data tables and expose APIs for your apps. In OutSystems, there’s a clear separation between interface, logic, data, and processes. Therefore, OutSystems isn’t just a code generator for creating apps, but it is also a full-stack, complete lifecycle platform for managing them over time.
As you can see, the OutSystems Low-Code platform represents the evolution in app development. It is a revolutionary full-stack development platform that does for mobile app development what web content management did for websites.
As a result, the business value is incredible. By widening the pool of resources that can create apps, our customers are blowing away their competitors. And, they are tackling the “hidden backlog” of apps their traditional delivery teams could never get to.