Very quickly courses introduce a framework that hides the complexities of front-end and backend (server side) development. Often this is to give students confidence that they can create complex web applications. The downfall of this approach, students learn the details of the framework and not the in-depth details of the foundational elements of web applications. As shown in figure 1, the primitives of HANDS include HTML, JS, CSS, and Node.js. This is compounded when the student enters into a corporate software development position.
The majority of companies have a well-established framework (open source or propriety) for development. This has formed a void in the in- depth understanding of the fundamentals. Often, the simple request and response concept is not understood. This is especially apparent in software development shops that have rich libraries that wrap web functionality and where the development is strictly divided between client-side and serverside resources.
After developing HANDS, the question was asked: If the primitive, foundational elements can deliver any type of web application, why introduce libraries that hide functionality and increase complexity? The position of this paper is to build an architecture where the focus is the HTML page while only introducing libraries after understanding the concepts delivered in such libraries.
With this approach, when issues occur later in the development phase, the developers have the foundation to find and understand the root problems and provide solutions. In this paper, the focus is on HTML, CSS, and JS. A basic website is created and studied. An understanding of the basic elements are required before moving on. The goal is to propose HANDS as an approach to learning web development and to provide a foundation for enterprise development.