Coders, here are the important terms to remember in Website and Web App Development
Want to learn website and web app development? Here’s a great article to begin with.
Q. What’s the difference between website and web app?
A. In a general sense, website is static while web app is dynamic.
Q. How do you develop them?
A. Web apps are built with HTML, CSS, JavaScript, PHP, C#, VB.NET, Ruby, Python, Ruby on Rails, Django, Perl, ColdFusion and CakePHP. Websites are built with ASP.NET, ColdFusion, Ajax, Perl, Linux, Apache, MySQL, PHP, Adobe Dreamweaver, WebDev, and Microsoft Expression Studio.
Did you notice the difference? Sounds confusing? Then let me help you clarify that by defining the most common terms used in website and web apps development.
Website
Website is a part of the Word Wide Web and it usually contains a home page, web pages, widgets, web apps, files, and documents. Websites are designed for a specific purpose such as information exchange, marketing, and e-commerce.
A website is hosted on at least one web server and assigned with an internet address known as the Uniform Resource Locator (URL).
Tip: A website can also be a web application, but not at all times.
Web App
Web app or web application invites interactions and transactions from users through web browsers. Some of the popular categories of web apps are games, education, business tools, entertainment and productivity.
Tip: Web apps can be presented as a website or part of a website.
Web apps and websites are both computer applications that run on a client-server network architecture where web browsers serve as the “client” and web servers serve as the “server”.
What exactly is a client-server architecture?
Client-Server Architecture
Client-server architecture is a model of computing where there is a distributed application structure that partitions tasks or workloads between the provider of a resource or service, the “server” (the web server), and service requester, the “client” (the web browser).
We often hear the terms client-side and server-side in website and web apps development. Let’s find out what those terms exactly mean.
Client-side
Client-side means that the action takes place on the client’s computer, specifically in the web browser. Client-side development is done in JavaScript, with basic HTML and CSS code. JavaScript is a client-side language because it runs the script on the web browser right after the website is loaded.
Server-side
Server-side means that the action takes place on a web server. The most common server-side programming languages are PHP, Ruby on Rails and ASP.NET. These languages run the script on the web server. Whenever there is a request, the web server sends the HTML code to the web browser. The server-side language runs its script before the HTML is loaded on the web browser.
Tip: In programming semantics, client-side is sometimes referred to as frontend while server-side is sometimes referred to as backend.
You’re now aware that web apps and websites both run in a client-server environment where the client is the web browser and the server is the web server.
So what exactly are web browser and web server?
Web Browser
A web browser is a program created out of HTML programming language. Its key function is to read and display a website and web app and facilitate user interaction. Popular web browsers are Internet Explorer, Firefox, Safari, Opera, and Chrome.
Tip: Each browser has a built-in web developer tool for web designers and developers to use.
Web Server
A web server is a program that store, process and serve the files to web browser to form the website or web pages. It process requests via HTTP, the basic network protocol used to distribute information on the World Wide Web.
Tip: Any computer can be configured into a web server by installing server software and then connecting it to the internet.
Popular web servers are Apache, Microsoft's Internet Information Server, Novell’s Web Server, IBM Lotus Domino Servers and Google Web Server.
Have you seen now the connection between these stuffs? It is always best to make a second read to develop your coding skills.