06/09/2024 | Press release | Distributed by Public on 06/09/2024 15:38
The history of software development is an ongoing pursuit to build increasingly higher layers of abstraction. More abstractions mean less boilerplate and infrastructure code, freeing up time to build differentiating features and innovation.
Early applications had very few abstractions and were true monoliths, tightly coupling UI, business, and data access logic into a single code base.
Over time, key parts of applications have been decoupled from the main code base, abstracted, and commoditized. For example:
While "no-code" and "low-code" are more recent terms, the pursuit to simplify software development with less code is as old as software development itself. All application development platforms abstract features making them essentially low-code platforms, but the extent of abstraction and the range of developer experiences offered differ significantly. The spectrum of options ranges from pure no-code solutions to pure code solutions, and everything in between.
On one end of the continuum, no-code solutions allow you to build apps without writing any code. No-code solutions offer productivity benefits and empower more people to build solutions. You use visual tools to create software assets (data entry screens, process automations, mobile apps). They generally work well to build standard experiences or automate standard processes. But pure no-code solutions inevitably have limitations: When you need to create highly customized experiences or highly customized integrations, at some point you hit the limits of what can be done without code. No-code solutions also don't integrate well in traditional developer workflows. As a result, apps built with these solutions are often handled separately, disconnected from other IT apps.
On the opposite end, pure code solutions rely heavily on custom code to build software and offer complete control over the development process. But if you adopt a code-heavy approach (if you default to solving every problem with code), you'll often spend time and resources reinventing the wheel and solving problems that have been solved before, which means less time to focus on differentiating features and innovation. Code-heavy solutions also increase technical debt over time. If you code it, you own it, and you'll need to maintain it for years to come.
Low-code solutions come in different flavors and live somewhere in between no-code and code on the continuum.
Some low-code platforms have their roots in no-code and have minimal code support. These platforms often lack standard developer tools and workflows. When they reach the limit of what that platform can do, organizations often have to move to an entirely different platform for traditional code support.
Other low-code solutions were born as pure code platforms. Visual tools or code generation may have been added to automate some developer tasks. But when low-code is an afterthought, these platforms may not be built on the right foundational layers like trust and metadata to fully realize the benefits of low-code. They remain heavily code-centric, limiting their ability to empower more people to build apps and to drive significant productivity gains.
Unlike other solutions, the Salesforce Platform was built from the ground up to support the full continuum of development options, from no-code to code. It provides the right tool for the right task on a single integrated platform underpinned by core pillars, including:
Let's take a closer look.
When you build on the Salesforce Platform, with or without code, you build on the same security infrastructure that Salesforce apps like Sales Cloud, Service Cloud, Marketing Cloud, and Commerce Cloud are built on. It provides a broad swath of features, including authentication, authorization, protection against different types of attacks, compliance with regulations, data privacy, data residency, and more. Of all the features that a low-code platform abstracts, of all the code that you don't have to write, security is the most important. When it comes to security, there is no room for error, and "good enough" is not an option. Relying on the proven Salesforce security infrastructure allows you to focus on building differentiating features and innovation, not security. The security layer you build on is the same whether you build on the no-code or code side, or anywhere in between on the low-code continuum.
Trust is built in, but the platform also comes with an extensive set of tools that you can use to manage and monitor all aspects of security:
Everything you build on the Salesforce Platform is described through metadata: data models, UI layouts, permissions, flows, reports, code, prompt templates, copilots, agents, and more. Rich metadata is what powers visual tools. The availability of rich metadata shared across the entire low-code spectrum, from no-code to code, is a game-changing advantage of the Salesforce Platform, providing many benefits, including:
Built on the trust and metadata foundation, the Salesforce Platform's comprehensive suite of visual tools enables admins and developers to build core elements of their solutions. These tools include:
As part of the continuum of development options available on the platform, these visual tools significantly boost productivity. You can:
Ultimately, you choose the best approach for your project, using the right tool for the job within a unified platform. Regardless of the method you choose, all development occurs on the same metadata foundation, ensuring productivity, consistency, and integrity.
Visual tools are not just for admins or no-code developers. They also empower traditional developers to streamline common tasks, allowing them to focus their code efforts on differentiating features and innovation.
The Salesforce Platform is purpose-built to support the full continuum of development options, allowing developers to choose the best tool for the task. And when the right tool is code, the Salesforce Platform provides developers with the developer tools, workflows, and patterns they are familiar with to build and deploy applications, including:
Every application requires a foundation of core capabilities. With traditional platforms, developers often spend significant time building these core capabilities from scratch, or assembling a custom stack of libraries, servers, and tools, introducing various dependencies along the way.
Salesforce stands apart by providing these core capabilities out-of-the-box. For example, data security, privacy, sharing models, automation, reporting, analytics, integration, mobile, accessibility, localization, and AI are built-in. You don't have to reinvent the wheel and you can focus custom development on differentiating features and innovation. And because all these features are built on shared metadata, they work consistently and collaboratively, and they are manageable and customizable through a consistent set of tools.
But there is another abstraction that really sets the Salesforce Platform apart…
Today, most developers wouldn't consider building their own database server from scratch before starting to build a new application. This problem has been solved and abstracted.
The next level in the pursuit of higher layers of abstractions is enterprise applications themselves. For the same reason it doesn't make sense to build your own database server, it probably doesn't make sense to build your own core CRM either. Many enterprise applications are customizations, extensions or entirely new experiences built on standard sales, service, marketing, and commerce capabilities. And the Salesforce Platform uniquely abstracts these capabilities as well.
In other words, the Salesforce Platform is an application composition platform that makes it easier than any other platform to build and compose custom applications that are customizations, extensions, or entirely new experiences that can make full use of sales, service, marketing, or commerce capabilities or data.
The abstraction of core applications becomes even more important in the AI era.
Indeed, generative AI is changing the way we think of and build applications. New conversational experiences are emerging, powered by core LLM capabilities like deep language understanding and reasoning.
This enables a new software paradigm where software is no longer built as full-fledged applications but as agents: collections of granular building blocks that encapsulate specific capabilities and that can be orchestrated by LLMs and their reasoning capabilities.
The most transformative aspect of this new paradigm is that it enables agents to handle unanticipated requests without predefined requirements. Imagine an agent equipped with dozens or even hundreds of these building blocks, or as they are referred to at Salesforce, actions. It could compose them in a virtually infinite number of ways, including in ways never anticipated, enabling it to solve new problems on the fly. This is the ultimate form of application composition.
This is where the Salesforce Platform shines. Broken down into actions, the industry-leading applications (including sales, service, marketing, commerce, and industries) instantly provide Salesforce agents (known as Agentforce Agents) with a wealth of capabilities. Salesforce agents can compose and orchestrate these actions in any number of ways, providing users with a seamless and unified experience across sales, service, marketing, commerce, and more. In addition, developers can complement standard agent capabilities with custom actions powered by code, APIs, Salesforce flows, or prompt templates.
To get good AI you need high-quality and unified data. That's why Salesforce Data Cloud is at the heart of the Salesforce low-code platform, enabling you to connect, unify, and harmonize data from different sources: CRM, Snowflake, Data Bricks, AWS, Google Cloud, Azure, and many more. With over 200 available connectors and the ability to easily create custom ones, Data Cloud provides unparalleled connectivity.
Data Cloud lets you map disparate entities to standardized data model objects (DMOs). For example, "individuals" (contacts, leads, customers, and so on) stored in dozens of different entities across your company's systems can now be accessed and queried together from a single DMO as if they were stored in a single entity. Identity resolution takes harmonization further by letting you define sophisticated rules to identify and merge records representing the same information (for example, the same "John Smith" in CRM and Snowflake) to create a single and complete view of your data.
Once your data is connected, unified, and harmonized, Data Cloud enables you to activate it at scale in AI agents, analytics, and other applications, delivering valuable insights and personalized experiences. The days of siloed experiences limited by siloed data are over. Users, whether they are employees or customers, expect connected experiences that bring together and make sense of all relevant data.
Unlike other platforms, the Salesforce low-code platform supports the full continuum of development options, from visual tools to robust coding capabilities, enabling organizations to choose the right tool for their specific needs.
Because the Salesforce Platform provides higher levels of abstraction, organizations can focus on building differentiating features and innovation, rather than coding commoditized features and infrastructure.
By abstracting CRM, AI, and unified data, the Salesforce Platform supports a powerful new approach to application composition. Software and agents can be built as collections of granular building blocks that encapsulate specific capabilities. These building blocks can then be orchestrated by the reasoning capabilities of large language models, enabling organizations to create groundbreaking experiences for the AI era.
Get introduced to the platform, navigate use cases, and build custom functionality. Discover how on Trailhead, the free online learning platform from Salesforce.
Christophe Coenraets is the senior vice president of Trailblazer Relations at Salesforce. He is a developer at heart with 25+ years of experience building enterprise applications, enabling technical audiences, and advising IT organizations.
More by Christophe