All programming is UI programmingWhethere you're building a mobile app, a CLI tool, a REST API, or an SDK, you're building a UI, and you should consider the user of your code.
These days it seems a lot of people believe that “UI programming” is a special skill that not everyone has.
If what they really mean is that “GUI programming” is a special skill, they might be right. I’ve certainly dabbled in various forms of GUI programming (mostly, but not excluslively, web-based).
“Okay, but who uses non-graphical UIs these days?” you may be thinking.
Well. You do. All the time :)
A UI is how your software interfaces with the user. Who’s the user?
Whoever uses the code.
If you’re building a REST API, then the request paths, and HTTP methods and status codes are the UI.
If you’re building an SDK, then the function names and argumenst are the UI.
If you’re building a CLI tool, then the CLI is the UI.
Each of these types of programming relies on a different set of UI-related skills, but the important thing is to remember that they are all UIs of a sort. And therefore, they all deserve keeping your user in mind, as you’re coding.
Adventures in DevOps 152: The Benefits and Drawbacks of gRPC and REST
Will and I talk about the difference between gRPC and REST.
How to learn REST: A resource guide
I have a new software project in mind. I want to do it right. So I’ll use a RESTful web API. Which, of course, like any good software developer, I already understood pretty well, but I wanted to just brush up on my REST game, and make sure I got all the best practices down. Thus began my search on Amazon for a good book about REST. I found one. I read it.
Improve your software delivery