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.
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 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 (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 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 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.
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.
A web server is a special server responsible for serving dynamic data/content to the web browser (or client)
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.
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.
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.
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 are part of a web site that contains static content like texts, images etc
Posts are dynamic content displayed on a website, such as blog posts, stock prices, instant messages etc.
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 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.
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.
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 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.
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.
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.
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.
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.
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 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.
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 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 (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.
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 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 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.
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 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.
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.
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 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.
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.
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 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.
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 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.
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.
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:
- 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:
That's it. I hope this article was helpful to you. Let me know what you think in the comments.