DABL backends make frontends easy

author by Mike Schaeffer April 1, 2020

In this article

  

Editor’s note: This post is the third in our series “How to Make the Most of the Daml Application Framework.” Part 1 introduced the fundamentals of Daml/DABL architecture, while Part 2 explained how that architecture simplifies the challenges of user authentication. Now let’s consider how the Daml/DABL architecture speeds front-end development. 


Daml and DABL make application development much easier than traditional application programming by reducing the number of layers you need to develop. Because DABL handles much of the functionality you’d typically have to build from scratch, you only have to specify a UI at the front end and a Daml application at the back end.

So what do front-end developers have to do, and what does it look like in real life? 

A key to UI development: DABL’s out-of-the-box support for API logic that can kick off a workflow with a single API call. 

Daml’s baked-in provisions for privacy and understanding of business processes automatically prevents application users from seeing data they aren't supposed to see, eliminating the need for brittle and error prone manual security logic.

That means the level of your API logic can be “dumber.” Front-end developers can quickly connect buttons and other interface features to existing API calls, lightening the workload of their homegrown UIs. 

Thanks to some clever features in Daml and DABL, it’s possible to develop different front ends for different application users. That would allow a developer to build custom apps for different user types and needs without having to build complicated supporting layers in the backend.

New enhancements keep making Daml and DABL faster and more powerful for front-end developers. One new feature generates typescript types from your Daml code. Because Daml is a strongly typed language it understands what data you’re manipulating, and can check your work while you’re developing, rather than later during testing or production. If you try to access data from the front end that doesn’t exist on the back end, it will call out the issue as you develop, rather than waiting until the application is running to report the error. 

We’re even developing a feature to stream events from server to client, making it easier for front-end developers to provide end users with far more timely updates of the data they’re working with. 

If you want to get started building your own application, go to Daml.com, download the SDK, and use projectdabl.com today. Daml is open source and always free to use, and DABL is free to start. You can find a generic React UI with the login widget implemented in this open source repo that is deployable in DABL today.