50 Web Development Terms Every Programmer Should Know
Tags: webdev, javascript, newbie, programming
Published: 2021-04-05 20:56:16

Are you a web developer like me?

Web development is a vast and burgeoning field laden with lots of concepts, tools, technologies, languages and terms. It's easy to get confused in all of these.

In this article, I will define in a concise manner, 50 of the most widely used terms in the industry.

Enjoy your reading.


## BACK END

The back end is the part of the web site than exists and runs ONLY on the web server. This includes the images, videos, configuration files, scripts and other assets stored there. Back end cannot be seen by inspecting the page from the browser.
## CSS
CSS stands for *Cascading Style Sheets*. These are files which contains rules, in blocks, used to design and layout a HTML document. The files end in a .css extension and are loaded into the DOM as static assets.
## DOM
DOM (Document Object Model) is a tree model which represents how the browser views and controls HTML page. It’s an interface through which the browser interacts with the page. Let’s say we have a remote, which is used by a person to interact with the Television and make it change channels, speak louder etc. The DOM is similar to a remote.
## WordPress
WordPress is a *content management system* used to create websites with going through the usual route of knowing how to code. You could easily install it on your host computer, download any free themes online and create your blog or websites easy and fast.
## HTML
HTML stands for *Hyper Text Markup Langauage*. This is the language responsible for structuring web pages. A HTML document comprises of numerous elements which could be blocked either (existing on its own line, up to down) or inline (left to right). HTML is the simplest language of the web.
## A FUNCTION
*Functions* are reusable blocks of code which does a single task inside the defined block. You can then “call” this fuction anywhere within that block whenever you need it, with a simple and short command. 
## HOSTING
Websites have to live somewhere. That is, the HTML page, stylesheets, Javascript, Images, Videos, PDFs and other resources/assets have to be stored and run on some computer. The computer responsible for this is called a HOST machine. It is a special kind of server that serves web pages and elements.
## FRONT END
The *Front end* is essentially the part of a site which runs on the browser. This includes the static assets and files. The Javascript here runs entire on the web browser environment. After that, the DOM is painted and the page is rendered. Everything can be seen if you inspect the page with the browser DevTool.
## JAVASCRIPT
JavaScript is a *high-level*, *loosely-typed scripting language* used to create dynamic web pages. It is dubbed the “language of the wbe” because it’s the most widely used language on the web. JavaScript is an event-driven language, which means that an event on the web browser triggers the script to execute.
## WEB SERVER
A *web server* is a special server responsible for serving dynamic data/content to the web browser (or client)
## STATIC SITE
A *static site* is a website not generated dynamically from a web server. What this means is that for every request made to the web server, the data on the front-end remains the same.
## DYNAMIC SITE
A *dynamic site* is a website which gets dynamically generated on the web server. An example would be a website which the displays current prices of stocks for users. Due to the volatile nature of stock prices, it is expected that they’ll be real-time changes. The web server generates an updated price every time a new request is made to the server. That data is dynamic and the site is said to be a dynamic site.
## FRAMEWORKS AND LIBRARIES
Let’s say you want to make your favourite dish. There are many ingredients available to be used. There are also many ways you can combine those ingredient to cook the same meal. Libraries are similar to the ingredients, while Frameworks are like the various ways you can make websites. They are both blocks of code (or packages) you can use to create websites faster, instead of using the native language (i.e vanilla JavaScript)
## FULL STACK DEVELOPER
A full stack developer is a programmer capable of handling databases, back-end frameworks and processes as well as designing the front-end and user interface. Essentially, such a developer knows all it takes to make an entire web application.
## CLOUD
The *cloud* simply refers to the **software and services that run on some remote computer (not your local computer)**, including its entire infrastructure. With cloud based services you can work on something without fear of losing your work if your computer gets lost or infected with malware. Other users can also collaborate on your work as well. Everything is stored on the “cloud”. 
## PAGES
Pages are part of a web site that contains static content like texts, images etc
## POSTS
Posts are dynamic content displayed on a website, such as blog posts, stock prices, instant messages etc.
## CDN
CDN stands for *Content Delivery Network*, which are a network of distributed servers which cache content locally and distribute it to the user through the nearest node. The main essence of a CDN is to minimize delays in loading web page content by reducing the physical distance between the server and the user. Without a CDN, content origin servers must respond to every single end user request.
## DATABASES
Databases are holders of data. When you fill an online form on a website, it’s stored on a database. When you perform a search query on Google, it’s stored on a database. When you upload a video on YouTube? Same. Databases live and run on special servers known as database servers.
## BROWSER
A *browser* is a software application used to visit pages and web sites on the World Wide Web using it’s unique identity called a *Uniform Resource Locator* (URL). It has an *address bar*, along with the capacity to cache and bookmark pages for future references. 
## NODEJS
Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser.
## DATA STRUCTURES
In computer science, Data Structure is a way of collecting and organising data in such a way that we can perform operations on these data in an effective way.
Examples of Data Strructures are Practice Problems, Quizzes, Array, Linked List, Stack, Queue, Trees, Heap, Graph and Matrix.
## EXPRESS.JS
Express.js is a server side framework for building highly scalable applications which run in the server Node environment. It provides a robust set of features for web and mobile applications and can handle multiple different HTTP requests at a specific URL.

## APIs
*Application Programmable Interface* (API) is simply a set of rules that guide how two computer programs interact with each other for data. You open your browser and type in the URL of your favourite site, and the web page is displayed to you. What actually happens is that your browser API (the client) made a request (communicated) to the server API and thanks to what was coded (instructed) in the back-end, the server responded with the requested page/information.
## REACT
*React* is an open-source, front end, JavaScript library for building user interfaces or UI components. It is maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile Applications
## DATA MODEL
A data model defines the way data entities will be *organized* and how they will *relate with each other*. For example, *Products, vendors, and customers* are all examples of potential entities in a data model. Relationships between entities can be either one-to-one, one-to-many, or many-to-many. The relationship between products and vendors is an example of a one-to-many relationship.
## WEB TEMPLATES
A website template is simply a pre-designed set of HTML webpages which acts as a skeleton/structure so that anyone can “plug-in” their text content, images, and other resources to make into a full, complete website. 
## INTEGRATED DEVELOPMENT ENVIRONEMTS
These are special software programs which provide complete facilities to computer programmers for software development. Most IDEs possesses at least a source code editor, build automation tools and a debugger. Assuming you make automobiles. Following a normal process, you may have to import some parts from very far places, put together the components in a far away facility and then test-drive the vehicle somewhere else. This process is tedious. But with an “integrated facility”, you will have all those facilities and tools in one place. So you won’t have to import or test somewhere else. This is similar to what an IDE does.

## RUNTIME ENGINE
These are Software that certain applications depend on to run in the computer. The runtime engine must be running in the computer in order for the application to execute. It provides common routines and functions that the applications require, and it typically converts the program, which is in an interim, intermediate language, into machine language.
## MARKDOWN
*Markdown* is a simple, lightweight markup language which can be used to add formatting elements to plaintext text documents. Created by John Gruber in 2004, Markdown is now one of the world's most popular markup languages. It has a similar function to HTML.
## JSON
*JSON* stands for JavaScript Object Notation. It is simply a format for storing data and transferring data across API’s and services. Its syntax is quite similar to that of JavaScript Objects.
## PACKAGE MANAGERS
A *package manager* or *package-management* system is simply a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer's operating system in a consistent manner. In web development, one popular package manager is the node package manager which is used to manage packages (modules) in a Node projects.
## HTTP
HTTP stands for *Hypertext Transfer Protocol*. As its name implies, it’s the protocol which governs the transfer of web pages and data between a web browser and a web server
## HTTPS
HTTPS (Hypertext Transfer Protocol secure) is simply a more secured protocol used to transfer sensitive information like credit card details between web browsers and web servers to protect from hacking.
## GIT 
Created by Linus Torvalds ,*Git* is a popular source control software. Some of the applications you use today are composed of huge volumes of code and a wide variety of features. Each of these features may be worked upon by a team of developers, in a collaborative fashion. Git enables team of developers efficiently collaborate on a project and not have to worry about mix-ups or losing their work. Git tracks every changes made to the source code (repo) of an application software, including information on the author, time of change and other crucial information. 

## LINUX
*LINUX* is an *operating system* or a *kernel* distributed under an open-source license. Its functionality list is quite like UNIX. The kernel is a program at the heart of the Linux operating system that takes care of fundamental actions, like enabling the hardware to communicate with software applications.

## DEVTOOL
DevTool stands for Developer Tool. If you’re using Google Chrome, typing F12 or right-clicking an selecting “inspect” tab will present you with a special window. This contains a set of functionalities you can use to assess (test) and monitor your website in development. DevTool is so useful for debugging your web application. You can view logs on your console, monitor the speed and performance of your site, inspect elements that make up your page, view request and response headers as well as information stored in local storage.
## DEBUGGING
A software program is said to be buggy if it doesn’t run as intended. Hence, debugging is simply the process of rectifying the issues causing the app to malfunction. This might mean making some corrections to the code or updating a dependency (module) to the latest version.
## BOOTSTRAP
Bootstrap is a popular CSS framework which holds a huge set of reusable utility classes you can use to style your elements, and not have to define your own styles. Bootstrap is very handy if you’re looking to create websites quickly. Everything has been already created for you as utility CSS classes. All you have to do is register it on the individual HTML elements and theyll be styled accordingly. 

## WORLD WIDE WEB
The *World Wide Web*, shortly known as the “web”, is simply a network of server computers which serves and stores websites along with the infrastructure they utilize in communicating these information. 
## SOURCE CODE
Source code is a high-level, readable language which is used directly by a software developer to create a software application. This code is then translated into machine code by a compiler/interpreter, which can be understood natively by the computer CPU. An example would be JavaScript and Python.
## DEVELOPMENT
Web development is the process of conceiving, designing, programming, documenting, as well as testing involved in creating and maintaining web applications and websites, frameworks or other web components.
## BUILD PROCESS
*Build* in simple terms is the process a source code undergoes before it becomes machine code which can then be executed directly by the computer CPU. This process includes preprocessing, compilation/interpretation and linking.
## ELEMENTS
Web elements are separate entities, with their own properties, which makes up a web page. An example of an element would be an image. It’s properties may include it’s height and width, shape, color and alternate text. There are many W3C elements, and a developer can create his/her own custom element with JavaScript.

## MARKUP
Markups are the tags you create with a markup language like HTML. Tags like h1 (heading), div (division), em (emphasis) etc are all mark-ups.

## BOX MODEL 
CSS views all web elements as independent *boxes*. Some boxes may be *inlined*,while others are *blocked*. Elements like images (img) are block elements because they *exist on their own line*. Whereas, elements like links (a) are inline because they can share the same line with other elements. Note that you can force an inline element to become blocked.

## GITHUB
GitHub is an open-source, public git repository where developers and software companies can store and manage their application’s source code and assets, as well as collaborate on other projects.  The GitHub service was developed by Chris Wanstrath, P. J. Hyett, Tom Preston-Werner and Scott Chacon in 2008 and has gone on to become one of the most popular source code management service today with over 56 million users. 

## NON RELATIONAL DATABASES
A *non-relational database* is a database which, unlike relational databases, does not use the tabular schema of rows and columns as found in most traditional database systems. Non-relational databases instead use a storage model that is optimized for the specific requirements of the type of data being stored.

## OBJECT ORIENTED PROGRAMMING (OOP)
*Object Oriented Programming* is a programming paradigm which relies on the concepts of classes and objects. It is used to structure a software program into *simple*, *reusable* pieces of code blueprints (classes), which are used to create individual instances of objects.

## PRODUCTION
Earlier, I defined what Development was. *Production* entails the processes and steps involved in releasing the final version of an application for end users. At this point, the application has been *tested*, *optimized* and *certified fit* for public use.

## FREELANCE
Freelancing is a profession in which an individual offers his or her services/skills and work for themselves, rather than for a company. The Web development industry houses a lot of freelancers, most of whom can be found in these platforms:

- Fiverr
- Upwork
- Toptal
- Guru
- Freelance
- PeoplePerHour
- Upstack
- Github Jobs

NOTE: If you're seriously considering going into freelancing, I will highly recommend getting this knowledge-packed eBook by Kyle Prinsloo - an expert, which has helped a lot of people, me inclusive:

[80/20 Freelance eBook - Study Web Development ](https://gumroad.com/a/213652595) 

That's it. I hope this article was helpful to you. Let me know what you think in the comments.