Introduction
YES; web development has taken over the world. It’s the King Kong of development platforms.
Even with the rapid growth of mobile development, web development is still critical because, as cell phones and tablets get more powerful, creating cross-platform apps will become easier by making them web apps which run in the browser.
That means, whether or not you are planning on becoming a web developer, you need to at least be familiar with web development, how the web works, and the major technologies involved.
In this chapter, we are going to cover some of the basics.
What Is Web Development?

Web development itself and how it is done has changed greatly over the years, but one thing has remained the same: web development is about creating applications which run in a web browser.
Some of those applications have most of their logic living on a web server which renders HTML, CSS, and JavaScript to create an application.
Other applications only utilize the server to create their initial state, download the logic to run the application, and then use the server only to retrieve and store data.
Regardless, though, of how web development is done, the basic technologies are the same: HTML, JavaScript, CSS—and a large amount of patience.
Web developers today utilize about every major programming language to create web applications. To name a few of the most popular web development languages in no particular order:
This is possible because the user interface of a web application is essentially HTML, CSS, and Javascript which can be generated by any programming language capable of generating text.
JavaScript is used to manipulate what is known as the DOM (Document Object Model), which is a representation of a webpage in the browser, to directly change the user interface displayed in the browser without directly creating new HTML or CSS code.
A Brief History of the Web
Let's talk about the history of web development. It will give us a good reference point for talking about “what is web development” today.
Web development started in a very different place than where it is now.
Early web development consisted mostly of creating static HTML pages, and navigation was done exclusively by hyperlinks.
An early web developer didn’t really create an “app.” They created a set of static web pages which were used to convey information and perhaps a few pictures, all linked together with hyperlinks.
In order for web development to be useful, there needed to be a way to make web pages more interactive and to conditionally render some content (or other content), as well as to track some kind of state.
Early web developers utilized a technology called CGI to create the earliest web applications which were able to conditionally generate HTML depending on data, like query strings, which were sent from the browser to the server.
Then came along actual web development frameworks which were designed to make CGI and dynamic generation of HTML easier.
You may have heard of technologies like ColdFusion or ASP. These were some of the early web frameworks which made web development much easier.
Now a web developer could create HTML mixed with special tags and markup to make the generation of that HTML conditional and could also execute certain logic to determine what kind of HTML to produce for a given web page.
This kind of technology worked like a templating language and allowed a huge number of developers to create web applications for the first time.
Eventually with browser technology evolving and computers getting faster—as well as a growing demand for more complex applications—JavaScript started being used to expand the capabilities of many web applications.
CSS also came along around this time to make it easier to style and change the style of web applications by giving HTML the role of defining content and CSS the role of defining the layout and style of that content.
Developers kept on trying to find ways to make the web more and more dynamic.
Rendering everything on the server was too slow and didn’t feel responsive, so technologies like AJAX (Asynchronous JavaScript and XML) were invented to allow web pages to update dynamically without refreshing the page.
Eventually entire web applications were built dynamically without any page refreshes at all. These types of web applications are known as SPAs, or Single Page Applications. Ever been on a website, filled in some information on a form, pressed refresh, and the webpage didn't reload? That's likely AJAX submitting the request. It makes it possible to dynamically change a webpage without having to refresh it. Pretty cool stuff.
The web continues to move forward as it evolves to be more and more like desktop applications of the past, with the browser really starting to act like an operating system.
In fact, this has become so true that Google created a web-based OS called Chrome OS in which the OS is basically the Chrome web browser. One day everything will be hosted on the web because browsers will be powerful enough to run everything. It's already moving in that direction as we see more and more Cloud-Based technologies popping up.
How the Web Works

It’s difficult to understand what web development is if you don’t have at least a general idea of how the web works.
Some things have changed over the years, but the basic functionality of the web and its underlying technologies have mostly remained the same.
Consider this brief primer a very condensed and basic explanation of how the web works.
First of all, we have the web browser.
The web browser is able to parse and render HTML and CSS into a visible format which we call a web page.
A web browser is also capable of executing JavaScript to do various things including modifying the underlying structure of a web page.
The web browser has to send a request to a web server in order to get a web page to render.
This is done through a protocol known as HTTP, or Hypertext Transfer Protocol.
When a request for a particular resource or URI (Uniform Resource Identifier) is sent to a web server, that web server finds the requested content—if it exists—and send back a response to the browser.
The browser then parses and renders that response, which is what the end user sees in the web browser.
Now, obviously there is much more going on under the covers, but the basic idea is that the web browser makes a request and the web server responds by returning back from HTML, CSS, and JavaScript.
Why is this important to understand if you want to do web development?
Because, as you can imagine, a web application has to be thought about a bit differently than a normal desktop application, since web applications have to continually make requests from the server for every action that happens in the application. (I’m generalizing here, but this is mostly true.)
In a desktop application, you might be able to hold various bits of state in memory and be able to access that state data when you switch to a different page or section of the application.
For web applications, you have to work around the fact that the underlying HTTP protocol is stateless.
You have to have some way to manage states between requests and keep track of the individual users that are using the web application simultaneously.
Now, obviously, there are frameworks and patterns that make this easier to do, but it’s critical to understand that web development is much different than other kinds of development due to the statelessness of HTTP and the constant client server interactions.
In next lesson we will learn the most languages used in web development HTML, CSS & JavaScript.
0 comments:
Post a Comment