The Four CLIs of the Apocalypse

Client-Side Web Dev (JavaScript, Angular, React, etc.), 0


In the dark, dystopian land of Web Development, it is hard to navigate the most productive way to build and deploy our applications. The over-saturation of "must-have" tools to make lives easier can cause decision paralasis when it comes to working on the web. But what if I told you there was a new gang in town, whose sole mission is to make it easier to get your apps to where they need to be. May I present an opinionated approach to developing web applications in the new world. Command-line interfaces are as old as time, so why would any sane person reccommend using a handful of them in the modern application development space? The answer is ease of use. Time and time again developers are forced to learn a new tool, investigate it's intricacies and master it. Than for no apparent reason, the tool doesn't serve it's purpose in a particular case, and it is thrown away, never to be used again. Simplicity and ease of learning is key to a tool being widely adopted and succuessful. Some may say that losing a graphical interface allows a tool to be more straightforward, and it's mission more apparent. During this session, we will use the power of the command line, with some help of Visual Studio Code, to create, develop, build and deploy an application to the cloud. Here is how we are going to accomplish this. Using Git Bash (it is a CLI after all), we will create a repository to store the code for our app, which will allow us to develop in a scalable way. Once our repository is created and configured, we will create a web service in ASP.NET Core using the dotnet cli, a tool created by Microsoft to standup and configure projects .NET developers are accustom to. After creating our service, we will add some endpoints to it using everyone's favorite free editor Visual Studio Code. Once our service is created, it would be great to have something to call this service and provide a rich experience for users. We will use the Angular CLI to build a Single Page Application that calls our new web service and also showcase some valuable features of the tool. Before we know it, we will have a web application that hits an Api, but it still has to be deployed somewhere. To do this, we will use the Azure CLI to create App Services and deploy our apps to them. And when all is over, our app and API are deployed to the cloud for all to enjoy. The best part of this approach is that it isn't tied to just development on Windows, and we will see this when we jump onto a Linux environment and make a change to our solution. Now we have everything we need to get our app to the right place, without all the pomp and circumstance that can exist. Beware attending this presentation may leave you with urges to forgot about GUIs completely.