I would add my 5 cents. 

We have DeepSeeWeb projects which is Angular.js+gulp+Twitter Bootstrap thing.

It operates with DeepSee using MDX2JSON REST API.

You can see how it works e.g. in this GS Contest dashboard.

With Caché REST API and JSON as a transferring format for the data there a lot of pretty similar approaches for building UI:

React.JS, Angular2, Zen Mojo for web UI and .NET for the desktop.

In Catch block I usually execute Log method of Exception 

try {
                // App logic
}
 catch e
    {
                 d e.Log()
                 // Error handling logic
         }

And then find this in Application Error Log journal with all the stack.

E.g. link to the bugs in USER Namespace

http://localhost:57772/csp/sys/op/UtilSysAppErrorNamespaces.csp?$NAMESPACE=USER