The A-Z of Web Development
Join the DZone community and get the full member experience.
Join For FreeGive a man a program, frustrate him for a day.
Teach a man to program, frustrate him for a lifetime.
― Muhammad Waseem
Introduction
As we all know, web development is a very vast and wide field. The career path in this field can come in a different way, shape or form.
It is not uncommon to have individuals who want to come into the industry ask, "what path should I start with?"
The different career paths that can be taken in web development includes Mobile App Development, UI/UX Design, Game Development, Software Testing, Database Administration, Systems Analysts, SEO Specialists and a lot more.
The goal of this article is not to discuss the aforelisted professions. The goal, however, is to look at some of the various technical terms which are used in the world of Web Development from A - Z.
AJAX
This stands for Asynchronous Javascript and XML. It first appeared on March 1999.
It is a tool used by web developers to build interactive web applications. AJAX enables developers to send and receive data without refreshing a web page.
AJAX relies on Html and CSS to render a markup, and javascript to get data asynchronously from the server.
Accessibility
This involves the practice of making a website or an application accessible to everyone, especially people with disabilities.
The benefits of making a website accessible to everyone cannot be over-emphasised.
It is important for both the developers and the users of an application.
The power of the Web is in its universality.
Access by everyone regardless of disability is an essential aspect.
API
API stands for Application Programming Interface. It means how different software components should interact with each other.
It is a set of instructions that allows data to shared between different software components, through making requests.
Browser
This is a very familiar term. Simply put, this is a software application that enables users to access data on the internet. Some of the most popular Browsers today include Google Chrome, Mozilla Firefox and the newly updated Microsoft edge.
Each of these browsers is being powered by an engine.
For instance, Google Chrome is powered by V8, Firefox is powered by Spider Monkey.
CSS
CSS stands for Cascading Style Sheets. It is a stylesheet language used to describe how the documents of a page, written in a markup language(Html) is being presented. Initially released on December 17, 1996, it is among the essential languages of the open web.
The specifications for CSS are maintained by the World Wide Web (W3C).
CDN
This simply means a Content Delivery Network. It is a network of servers distributed across various geographical locations of the world.
The goal of using a CDN is to have a good user experience in terms of speed and preventing a website from crashing in the event of a high traffic surge.
Lots of websites with huge traffic makes use of a CDN. Daniel Lewin was the inventor of CDN.
CMS
A Content Management System is a software application, that provides a digital solution with the building, managing and modifying of contents on a website. All this can be done without the technical knowledge of writing codes from scratch.
Some of the most popular CMS out there includes WordPress, Drupal, Shopify, Joomla and Magneto.
It is worthy to note that WordPress has the largest market share and powers more than 37.7% of all websites on the internet.
Domain Name
A domain name is an identification string that defines a realm of administrative autonomy, authority or control within the Internet.
Wikipedia
Breaking it down further, a domain name simply means the physical address of a website. According to Verisign, a global provider of Domain name registry services, there was an estimation of 334.6 Million registered domain names across all TLDs at the end of the second quarter of 2016.
Typically, A domain name can only be up to 63 characters (letters, numbers or combination) long plus the 4 characters used to identify the domain extension.
Deployment
Deployment means all the process involved in making software available for use. The Deployment process involves different types of environment, ranging from the local environment to the development environment and then staging environment.
The number of deployment environment needed to be set up in the shipping of a software depends on the structure of a project.
DevOps
Also known as Development (Dev) and Operations (Ops). It is the combination of a set of tools, people and product aimed at delivering software at a faster pace.
DevOps enhances continuous integration to provide a quality product to the end-users.
Some of the DevOps tools used in this process include Docker, Github, Jenkins, Slack. E.t.c.
EcmaScript
ECMAScript is a general-purpose programming language, that can be used to build both client-side and server-side application.
It is standardized by ECMA International, which determines the new features that can be added to the language.
The language is also 100% backwards compatible, which means any code written today, will be supported in the future.
FrameWork
A FrameWork is a platform used for developing software applications. It comes with a pre-defined way of building web applications.
The advantage of this is that the development process of an application is streamlined. Software Developers do not need to re-invent the wheel.
Some popular frameworks out there include Angular, Laravel, Django & ASP.net.
Git
Initially released on 7th April 2005. Git is an integral part of the Web Development process.
It is a free and open-source version control system, designed to manage both small and large scale projects.
It helps developers track the changes made when writing a piece of code. In summary, git provides flexibility, security and high performance to developers.
HTTP
HyperText Transfer Protocol is an application-layer protocol used to transmit data between the client-side and the server-side, servers.
The flow involves the Browser sending a request to the server, the request gets processed by the server and the server returns an HTTP response to the Browser.
The first documented version of HTTP was documented in 1991.
IDE
An Integrated Development Environment (IDE) is a software application that combines a variety of tools and features, to enable programmers to write code more efficiently and effectively.
Also, IDEs enhances the productivity of programmers by making available the various utilities required to put together an application, without having to set it up manually.
Some popular IDEs include IntelliJ, Eclipse and Visual Studio.
JSON
Stands for JavaScript Object Notation. It is a lightweight data-interchange format.
Derived from JavaScript, it has been adopted by many programming languages.
Supported by most modern Browsers, JSON helps to easily transfer data between a server and a Client. JSON is an alternative to XML.
Keyword Optimization
This is mostly about driving traffic to a particular website. It involves the process of utilizing keywords and phrases on a web page, making it easier for people to find that content.
It should be noted a lot of research is needed to know the right keywords to use.
There are premium tools out there which make this process easier, by providing valuable data and statistics.
LAMP
Linux, Apache, MySQL, PHP/Perl/Python is a popular open-source web stack used for web application development and deployment.
Open-source applications like WordPress and Drupal make use of the LAMP stack.
This stack provides the flexibility needed to scale a product to meet its required needs.
Library
Similar to a framework, A Library can be described as a collection of configured data and scripts, with the end goal of automating the process of writing code.
In the case of a framework, where most of the processes are predefined, a Library gives you a high degree of control of how the flow or architecture of the software would be designed.
Examples of Libraries in the world of frontend web development include jQuery, Twitter Bootstrap, Angular JS and React JS.
MVC
MVC stands for Model, View, and Controller. It is a software pattern found is almost all programming languages.
The Model determines how the data is structured, the View represents the user interface, while the Controller handles the request made by the client which is mostly through an HTTP request.
It focuses on the principle of separation of concern, by dividing an application into three components(Model, View, and Controller).
A popular Framework that makes use of MVC's separation of concern principle out of the box is Angular, by generating four separate files for a single component.
MVP
A Minimum Viable Product (MVP) in web development means the version of a new product that can be made available to consumers, to get data that can be used to make informed decisions on a product.
It is the first step to be taken in product development. Taking this approach has a lot of advantages, especially for startups.
It helps to cut cost and minimise risk, in the event where the product fails.
Companies like Facebook, Dropbox, Twitter, Aardvark, started as MVPs.
Node.js
Created by Ryan Dahl and Released on May 27, 2009. It is an open-source, cross-platform, JavaScript runtime environment that executes JavaScript code outside of a web browser.
Node.js enables developers to write javascript on the server, to enable the creation of dynamic web pages.
It is used by big corporations like Microsoft, Netflix, Uber, Medium.
OOP
Object-oriented programming (OOP) is a programming concept that organises software designs as objects.
By adopting the use of objects, OOP has some advantages such as creating software that is readable, reusable, accessible and scalable.
Some programming language that makes use of OOP includes JavaScript, Java, C++, C#, Python, PHP & Ruby.
Plugin
A Plugin is a piece of software component that is added to a program, to give it additional functionalities.
Some of the places where a plugin could be added include a website or a browser.
Plugins are very vital, in the sense that they help to enhance the functionalities, features and performance of a program.
Query
A Query simply means a request made to a database to get some set of data. This can be done through a Structured Query Language(SQL).
Regular Expression
A Regular Expression also called Regex or Regexp can be said to be a set of strings, used to match a specific pattern.
Regex makes it much easier to perform search operations, especially with a very large dataset.
It is worthy to note that Regexp is not specific to a particular programming language.
REST
REST stands for Representational State Transfer. Roy Fielding defined REST in the year 2000.
REST is an architectural pattern used for designing web services. A web service built on the principles of REST can be called a RestFul web service.
REST supports different types of data format like Plain text, HTML, XML, JSON, etc.
A RestFul web service is built over an HTTP and can make you use of terms such as GET, POST, PUT, PATCH and DELETE to perform its function.
SOAP
SOAP stands for Simple Object Access Protocol was designed in 1998 by Dave Winer. It is an XML-based protocol for accessing web services.
It does not support different data formats such as Plain text, HTML and JSON.
SOAP was created to ensure the easy exchange of data between programs built on different platforms in a secure manner
SSL
SSL stands for Secure Sockets Layer. It is the industry standard for keeping the internet secure from hackers.
It was first developed by Netscape in 1995, to ensure privacy and protect sensitive data transferred between different systems.
One of the ways to know if a website is secured with SSL is when The URL says "https://" and not "http://".
TLS
Transport Layer Security is the successor to SSL. It performs the same function as SSL, with a very slight difference in execution.
TDD
TEST DRIVEN DEVELOPMENT (TDD) is a software development approach that emphasises on the need to write tests before shipping code to production.
The purpose of TDD is to write clean and bug-free code.
TDD typically involves 5 cycles:
- Develop and design a test
- Run a test and confirm the Test Fails
- Write the code to pass the test
- Run test to confirm if the test pass
- Refactor code and repeat the process.
Text Editor
A Text Editor is a software that Web Developers use to create and develop web applications.
Some Text Editors have simple features, while others have complex functionalities.
The type of text editor to use depends on the application a developer is trying to build.
Most text editor comes with basic features such as copy and paste, search and replace, undo and redo. Etc.
Some popular text editors include Notepad++, Visual Studio Code, Atom and Sublime Text.
UI & UX Design
User Interface (UI) and User Experience(UX) in web development are two separate concepts that are crucial in the design process of a particular product. They work hand-in-hand.
UI focuses on the visual aspect of the design of a product. It is the aspect a user will interact with on a product, such as a video, document, text, images and the likes.
UX, on the other hand, focuses on the overall experience of a user on a website or application. That is, it tries to focus on the emotion of a user towards a product.
The combination of both UI and UX ensures the user of an application gets the best possible experience in terms of functionality, satisfaction and usability, which is the desire of a successful product.
Version Control
Also known as source control is a system that allows users to keep track of changes made in a file, document or any form of information collection source.
Version control is mainly used for tracking changes made to a piece of code.
As the code used to build an application becomes more and more complex, the need for a version control becomes important to bring some degree of sanity.
Version Control can be divided into two major categories, Centralized and Decentralized system.
An example of a popular Version Control system is GIT, which is free and open source.
Web Standards
W3C standards define an Open Web Platform for application development that has the unprecedented potential to enable developers to build rich interactive experiences, powered by vast data stores, that are available on any device.
The web has come a long way to where it is today. It has grown in leaps and bounds and has become an integral part of society today.
Due to this massive growth, it is only fitting to have independent bodies that govern the way the web works, to prevent developers from incorrectly doing things.
XSS
XSS also known as Cross-Site Scripting is a web security vulnerability that allows hackers or attackers to infiltrate and inject malicious scripts into a web page.
This is usually done through the Browser through bypassing access controls such as the same-origin policy.
Preventive measures that can be taken against XSS attacks include:
- Keeping software updated
- Sanitizing of input fields
- Using a web firewall application
- Adopting both Client-side and Server Side validation
- Selectively disabling scripts on the Browser
YAML
YAML is the abbreviated form of “YAML Ain’t Markup Language”. Established on 11th May 2001.
It is a human-friendly data serialization language that works well with other programming languages.
ZIP
ZIP is an archive file format that takes up less storage and can be easily transferred to other devices.
The ZIP file format permits several compression algorithms. It was initially released on February 14, 1989.
Conclusion
So there you have it, this list contains about 40 phrases you are most likely to come across in the world of Web Development.
Feel free to add more to the list in the comment section, for the benefit of learning.
Also, subscribe to my newsletter.
Published at DZone with permission of deji adesoga. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments