Rest-based desktop application

by Manuel Schmidt   Last Updated January 26, 2018 20:05 PM

We have a high efficient library written in a low lever programming language. We would like to allow third parties to implement a GUI for it.

The approach we would like to take is to write a REST server. The GUI (written in whatever language) needs to start the server and is then able to use the library.

As said, the goal is to create a local desktop application, so the server should only listen to the localhost and the GUI (the latter may be solved via auth.).

Is there a reason such an approach is not used more often (I hardly couldn't find anything)? The only place it is mentioned seems to be The Modern Application Stack – Part 3: Building a REST API Using Express.js as "... MERN (MongoDB, Express, React, Node.js) Stacks, why you might want to use them, and how to combine them to build your web application (or your native mobile or desktop app)."

Are there tutorials or special architectural patterns?

I found the following resources:

Answers 1

REST is a web nomenclature. Yet you are targeting this to run locally, with a desktop app. Why aren't any of the well established desktop solutions acceptable?

You don't mention any specific implementation technology you're targeting (i.e. .Net, Node.js, etc.). On Windows, what you are describing would typically be exposed as one of the following:

  1. A simple DLL reference
  2. A COM+ component (in the old days)
  3. A service with an exposed endpoint and embedded web server
  4. ** An assembly registered in the GAC and referenced in your desktop app **
January 26, 2018 19:29 PM

Related Questions

Deciding on the correct RESTful URL design

Updated October 20, 2017 22:05 PM

Designing CRUD part of an HTTP API

Updated August 07, 2015 14:02 PM