Web Development Basic Learning Path - First steps in web development
“AI and coding is now so important to society, and gaining AI and coding skills is so empowering of individuals, that schools should teach it to every child.”, Andrew Ng. In this learning path, we will focus on coding, and in particular, coding a web application. Coding (or programming) is the activity of writing a computer program or application, a web application is a particular type of applications that is run on the web, involving various systems (a web server, a web browser, network…) and activating multiple distinct protocols (DNS, HTTP…) This path will present the foundation of a web application, from the necessary infrastructure and services to the first steps into programming. At the end of the resources, you should have a good understanding of the web development process, including the underlying architecture and services.
Modern Web Application Architecture Explained
Let us first start this journey by getting a rough idea of the components that hide between a web application; this short article presents the main ones, although a minimal architecture could be comprised of just the browser and the web and DNS servers. All other components fill more advanced purpose, but it is still interesting to get a sense of the global picture and the diversity and complexity of what hides behind a seemingly simple web application. The article also presents a typical architecture for a web application, differentiating between frontend and backend services and introducing some of the technologies used.
What is the Web?
This series of 6 short videos presents the core technologies that support web applications, namely the HTTP protocol, to govern exchanges between web server and the browser, HTML language to write web documents, URL to reference them and CSS to style and lay out them. It also introduces JavaScript, a programming language that is widely used both on the browser side and on the server side to build dynamic applications.
The Top Web Development Frameworks of 2023
The two sides of a web application are the web browser, running on your PC, and the web server (and probably many more components) running on a remote machine you are accessing through a URL. Far away from websites and applications of the early web, using static content and CGI scripts, modern web applications rely on code running on both sides of the communication pipe: client-side (browser) and server-side. To make developers’ life easier, libraries and tools have been developed along time to streamline the development process and provide advanced features, while still relying on the simple building blocks described in the previous resource: HTTP, HTML and URL. This article provides a comparison of the top web development frameworks of 2023. Be advised though that many more exists, but only the strongest resist time. Those frameworks rely on programming languages, and for a quick tour of those, you can just consult this article.
Make your own app
It is now time to get some hands-on experience of the development application. This online course is provided on the EdX platform by the Technische Universität München. It takes you through the details of HTML and CSS languages to create your own web content, and then adds an introduction to JavaScript programming language as well as to JSON object data format that is a widely adopted way of exchanging structured data between web application components. Be ready for some deep dive in the foundations of the web.
A Guide To Choose the Best Web Tech Stack
As you probably now have found, developing a web application requires setting up a web server or application server, to serve the content to the browser, to write HTML documents and CSS stylesheets, and finally to write the application code, which will include most likely client-side and server-side code. While JavaScript is the most obvious way of developing client-side code, many other technologies are available for the server side, as you have seen in a previous resource. There is a choice to be made, which is neither simple nor innocuous, depending on the required features, the available skills, the existing technical environment… This article proposes an overview of the different technologies available for each part of the application and helps you make a decision by providing tips. Then, you can turn to online training platforms like Udemy, OpenClassRooms Coursera, EdX… for specialized training on the selected technologies.
Getting Started with the Web
This course provided by the Mozilla Developer Network covers the topics presented in the previous section, with many more details and more advanced features like web forms, to allow data to be submitted by the user. It also discusses important aspects yet sometimes left aside, like performance of web application (how will it behave with 10, 1000 or 1.000.000 users?) and usability (is it easy to use and does it allow smooth interactions?). Finally, it proposes the development of a complete to-do app using different web frameworks, both server- and client-side.
Web Design and Development
As an alternative or a complement to the previous resource, this online hands-on course introduces a different set of technologies. It first presents advanced aspects of HTML and CSS, before diving into Bootstrap ( “The most popular HTML, CSS and JS library in the world” https://getbootstrap.com/) and the JavaScript language. It then describes the p5.js library (https://p5js.org/) before presenting and exploring the very popular Angular framework (https://angular.io/)
Web Security Fundamentals MOOC
While developing a web application may sound simple, in particular thanks to the advanced features offered by web frameworks, security of the application and of the data should not be neglected. You probably don’t want anyone to get access to all the data stored in your database, or to alter it in an authorized way. Similarly, you want your service to be as hacker-proof as possible, avoiding the risk of anyone breaking in or taking your service down. Security considerations has to be integrated from the ground up through the application development process. This course addresses some of the security concerns linked to web applications: securing the communication channel, limiting access through authentication and authorization, and sanitizing data received before processing it. Although these are only some of the security concerns that exist in the World Wild Web, they are a first step in getting your application more robust. This course is made available on the EdX platform by the KULeuven university.
9 Principles of Good Web Design
What makes the difference between a nice looking, easy to use web application and an ugly, clumsy one? Mainly, it is the design of the web site, its appearance, how the content is structured, how navigation is organized. It is all about usability and user experience. This short article presents 9 principles for a good web design. It is just an entry point into the subject but will introduce the main ideas you should keep in mind when designing an appealing web application.