While attempting to brush up on knowledge on Frontend Web development presented to me in my Software Architecture class at WSU, I found a YouTube video [1] that contained a stack of free software tools and apps that fit closely with the class architecture.
Our class has shown usage of the following tools to give us a real-world cutting-edge view of what is being used by software engineers primarily geared towards enterprise-level web application development. They are all Open-Source and free to use for all.
1. Docker – A containerization model being used to run software components in virtualized containers. It is more efficient and easier to use than either virtualization environments like VMWare, VirtualBox, as well as Microsoft’s Hyper-V, which will be a contender in the future, but is “too much tool” for most current business needs.
2. Visual Studio Code – An integrated development environment (IDE), which is free, lightweight, surprisingly usable and extensible. Its limitations imposed by its general size are more than made up for by the vast amount of 3rd party extension libraries that exist for it.
3. Operating Systems: Another huge advantage of this stack of products is that most if not all of them are available in some form on Windows 10/11, macOS, and many forms of Linux.
4. Design Tools: PlantUML – Fantastic in unison with Swagger Preview to produce useful design documents.
5. For Backend Development: Used by servers in association with databases to store and secure data.
- Node.js – The most commonly used open-source backend JavaScript Framework.
- MongoDB – A NOSQL database that uses JSON information embedded in non-relational data relationships.
- Express – A really handy JavaScript Framework Extension.
- Swagger Preview – A tool used to show JSON or YAML file formats in a mock UI format. It allowed us to test all of our JSON/REST database call from our back-end projects.
6. For Frontend Development: Used to write websites (or mobile applications) to interact with users.
- Vue.js – A JavaScript framework used to build UI’s and SPA’s (Single Page Applications). IMHO, it is at least as useful as Express is on the backend.
- AXIOS: Integration of this package helps with controlling asynchronous HTTP requests to REST endpoints.
- JavaScript: Of course, but with the help of Vue and Axios, not much actual barebones JS was really needed.
7. Source Code and CI/CD:
- GIT – I have used git on a number of projects in the past and have had trouble with it at times because I had been used to more traditional non-distributed source control systems. The instruction in this class has shown me how amazing it really is, and it will remain my highest regarded VSC system.
- GITLAB: – I have used GitHub in the past and am now more of a fan of GitLab. 3 cheers for the sole developers. 3 cheers for Dmitriy Zaporozhets and Valery Sizov. It is a web-based DevOps lifecycle tool supporting GIT, issue-tracking, and a continuous integration and deployment chain.
A few helpful hints I picked up from the YouTube video are:
- GUID Generator: UUIDV4 is a tool that can be downloaded using NPM (a Node Package Manager) which will generate Globally Unique ID’s for use with our application. [2]
- POSTMAN – This is a great tool for testing your API’s [3]
- JSON Formatter – Really useful when looking at complex JSON strings. It is usable in most modern browsers. [4]
As a final note, I think that although there are many other tools out there that could have been used to build the instructions for this class, and that software tends to live in an environment of competition from other companies, that this stack wins in my mind, because it is fully open source, completely cross-platform, and very leading-edge. Vue, as an example, would not have been pushed into the tool it is if it were not for competition from REACT and ANGULAR. Competition brings us all forward, but open source has the additional benefit of being altruistic.
References:
1. Building a REST API with NODE JS and Express
2. https://www.uuidgenerator.net/version4
3. https://www.postman.com/product/rest-client/
From the blog cs@worcester – (Twinstar Blogland) by Joe Barry and used with permission of the author. All other rights reserved by the author.