APIs, GUIs, CLIs, Services#
You write a small program beginning with a lib that exposes an API (with
procedures to call).
Then you write a simple CLI, e.g. by using Click.
It would be great if it had a GUI for casual users (QT of course).
Let’s integrate it with the rest of our Distributed Computing Platform (TM),
so you build a service (Flask maybe?) obviously REST-Style.
And all of these are built by hand, because 500 lines of XML and
FooFactoryFactoryConfigurator
is not your style.
There was WSDL, and there are WADL and RSDL. But what would be really cool is ADL: API Description Language.
Writing a new tool should be a three-step process:
define the public API
write the lib
define the interfaces you want (and I mean CLI / GUI / Web API)