DEV Community

Cover image for The Full-Stack Developer Vocabulary(The Full List!)
Code_Jedi
Code_Jedi

Posted on

The Full-Stack Developer Vocabulary(The Full List!)

Jamstack? Docker? DOM? Serverless?

WTF is everyone talking about???

If you're new to this whole full-stack development thing and get confused by some of the words people use when talking about full-stack development, then stick around because here, I'll be compiling the most common words and phrases related to full-stack development. Of course, it will take much more time to learn the details of each of the things I'll be mentioning. Each of the words and phrases will be summarized to give you an idea of what these words and phrases mean, so that you can understand what people are referencing with them when talking about certain areas of full-stack development.


Part 1: The essentials

1. Front-end
The part of an application or website with which the user interacts directly.

2. Back-end
The part of an application or website with which the user cannot see or interact with directly.

3. Full-stack
The entirety of an application or website, comprising both the front end and the back end.

4. DOM
The Document Object Model (DOM) is a programming interface for web documents. It represents the page so that programs can change the document structure, style, and content.

5. API
API stands for: Application Programming Interface. It's purpose is to provide a way for programs to easily access and exchange data.

6. Encryption
The process of converting information or data into a code, especially to prevent unauthorized access.

7. Decryption
While encryption converts information into a code, the purpose of decryption is to convert the same information's code back to it's original form.

8. HTTP
Hypertext Transport (or Transfer) Protocol, the data transfer protocol used on the World Wide Web.

9. HTTPS
Basically the same as HTTP, but uses encryption methods to secure the data passed to and from webpages.

10. CI/CD
CI/CD stands for: Continuous Integration, Continuous Delivery,
and the purpose of CI/CD systems is to deliver code changes to an application or website more frequently and reliably.

11. UI
UI stands for: User Interface. UI developers try to make a website's interface easy to use and navigate.

12. UX
UX stands for: User Experience. UX developers focus on making a website's design more appealing to it's visitors.

13. Serverless
As written on the cloudflare blog: Serverless computing is a method of providing backend services on an as-used basis. A serverless provider allows users to write and deploy code without the hassle of worrying about the underlying infrastructure. A company that gets backend services from a serverless vendor is charged based on their computation and do not have to reserve and pay for a fixed amount of bandwidth or number of servers, as the service is auto-scaling. Note that despite the name serverless, physical servers are still used but developers do not need to be aware of them.

14. Backend operations
These are operations that are performed in the backend because they're either too time or memory intensive for the front-end, or these operations simply cannot be performed in the frontend because they require libraries or frameworks that only work on the backend.

15. Request/Response
The way the frontend and backend communicate with each other is with requests and responses. A frontend script can request data from the backend, and a script in the backend can then send that data as a response.

16. Cache
The cache is where data can be temporarily stored on a browser or computer in order to save time loading the same data over and over again every time it is required.

17. Command-line
The command-line is an interface for typing commands directly to a computer's operating system. This is the most direct and fastest way to perform operations on a computer's operating system like launching a PHP server, creating directory, executing scripts, changing file permissions and much more...

18. Virtual machine
A virtual machine is a computer system that emulates a physical, remote machine in order to perform operations on that machine like hosting a website, or storing data.

19. AWS
AWS, which stands for: Amazon Web Services, is currently the biggest provider of these virtual machines, plus many other services like file storage.

20. Database
A database is a structured collection of data, most of the time databases are needed for storing high volumes of user data.


Part 2: The more advanced

1. XML
XML stands for eXtensible Markup Language. XML plays an important role in many different IT systems and is often used for distributing data over the Internet. Read This article to get a better understanding of XML.

2. JSX
JSX stands for JavaScript XML. JSX allows you to write HTML in ReactJS.

3. JSON
JSON is an acronym for JavaScript Object Notation. It is an open standard format, which is lightweight and text-based, designed explicitly for human-readable data interchange. It is a language-independent data format. It supports almost every kind of language, framework, and library.

4. Firewall
A network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules.

5. IP Address
An IP address is a unique string of characters that identifies each computer using the Internet Protocol to communicate over a network. IP addresses come in 2 types: IPv4 and IPv6.

6. IPv4
IPv4(IP version 4) addresses are 32-bit integers which will be expressed in decimal notation. Example- 192.0.2.126 could be an IPv4 address. IPv4 addresses are most common.

7. IPv6
IPv6(IP version 6) is the improved version of IPv4. IPv6 addresses are more unique than IPv4 addresses and therefor offer more address variations. In addition to offering more addresses, IPv6 also implements features not present in IPv4. It simplifies aspects of address configuration, network renumbering, and router announcements when changing network connectivity providers.

8. Proxy Server
This is a server that acts as an intermediate between a client and its destination server. A proxy server can let you make web requests through a different IP address. Proxies are most popularly used in VPNs and are useful if you want to hide your location, personal data or your overall identity on the web.

9. VPN
VPN stands for “virtual private network”. VPNs protect your internet connection and privacy online. They create an encrypted tunnel for your data, protect your online identity by hiding your IP address using proxy servers, and allow you to use public Wi-Fi hotspots safely.

10. Nginx
Nginx, pronounced like “engine-ex”, is an open-source web server used for processing web requests.

11. Apache
Apache is the most widely used web server software similar to Nginx.

12. Jamstack
Jamstack is an architecture designed to make the web faster, more secure, and easier to scale. It builds on many of the tools and workflows which developers love such as ReactJS. The core principles of pre-rendering and decoupling enable sites and applications to be delivered with greater confidence and resilience than ever before.

13. Sudo
Sudo, standing for "SuperUser DO" is used to access restricted files and operations. By default, Linux systems restrict access to certain parts of the system preventing sensitive files from being compromised. The sudo command temporarily elevates privileges allowing users to complete sensitive tasks without logging in as the root user.

14. Web Scraping
Web Scraping is the process of extracting data from external websites. Some of the most popular Web Scraping libraries include: Puppeteer, Selenium and BeautifulSoup.

15. Git
Git is used for tracking changes in files and directories. Git is usually used for coordinating work among developers collaboratively developing source code during software development.

16. Cron jobs
Cron jobs are jobs scheduled by the backend to run at set intervals. Cron jobs are mostly used for managing back-end jobs created by users through the front-end.

17. Responsive Web Design
Responsive web design, also referenced as RWD design, is a modern web design approach that allows websites to render (or display) on all devices and screen sizes by automatically adapting to the screen, whether it’s a desktop, laptop, tablet, or smartphone.

18. MySQL
MySQL is a relational database management system (RDBMS) developed by Oracle that is based on structured query language (SQL). A database is a structured collection of data. It may be anything from a simple shopping list to a picture gallery or a place to hold the vast amounts of information in a corporate network.

19. NoSQL
NoSQL is famous for its high functionality and ease of development with a performance at scale. NoSQL is called a non-relational database. It does not follow the rules of relational database management systems (RDBMS), and hence does not use traditional SQL statements to query data. 2 famous examples of NoSQL systems are MongoDB and Neo4J.

20. Environment variables
An environment variable is a variable whose value is set outside a program, typically through the operating system. Environment variables eliminate the need to define and redefine variables through programs.


Part 3: The languages, tools and frameworks

1. ReactJS
You've probably heard a ton about React on dev.to, but what exactly is ReactJS?
React is currently the most popular javascript front-end framework.
Developed by Facebook in 2013, React is used to build interactive user interfaces.

2. Angular
Angular is a development platform, built on TypeScript. As a platform, Angular includes:

A component-based framework for building scalable web applications
A collection of well-integrated libraries that cover a wide variety of features, including routing, forms management, client-server communication, and more
A suite of developer tools to help you develop, build, test, and update your code
With Angular, you're taking advantage of a platform that can scale from single-developer projects to enterprise-level applications. Angular is designed to make updating as straightforward as possible, so take advantage of the latest developments with a minimum of effort.

3. Docker
Docker is a software platform that allows you to build, test, and deploy applications quickly. Docker packages software into standardized units called containers that have everything the software needs to run including libraries, system tools, code, and runtime. Using Docker, you can quickly deploy and scale applications into any environment and know your code will run.

4. Kubernetes
Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services.

The name Kubernetes originates from Greek, meaning helmsman or pilot. K8s as an abbreviation results from counting the eight letters between the "K" and the "s". Google open-sourced the Kubernetes project in 2014. Kubernetes combines over 15 years of Google's experience running production workloads at scale with best-of-breed ideas and practices from the community.

5. Rust
Rust is a statically-typed programming language designed for performance and safety, especially safe concurrency and memory management.

6. TensorFlow
TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries and community resources that lets researchers push the state-of-the-art in ML and developers easily build and deploy ML powered applications.

7. Solidity
Solidity is a statically-typed curly-braces programming language designed for developing smart contracts that run on Ethereum.

8. Laravel
Laravel is a PHP framework with expressive, elegant syntax. It is the most popular PHP framework.

9. Go
Go language is a programming language initially developed at Google in the year 2007 by Robert Griesemer, Rob Pike, and Ken Thompson. It is a statically-typed language having syntax similar to that of C. It provides garbage collection, type safety, dynamic-typing capability, many advanced built-in types such as variable length arrays and key-value maps. It also provides a rich standard library. The Go programming language was launched in November 2009 and is used in some of Google's production systems.

10. jQuery
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and AJAX much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.

11. AJAX
Ajax stands for Asynchronous Javascript And XML. Ajax is just a means of loading data from the server and selectively updating parts of a web page without reloading the whole page.

Basically, what AJAX does is it makes use of the browser's built-in XMLHttpRequest(XHR) object to send and receive information to and from a web server asynchronously, in the background, without blocking the page or interfering with the user's experience.

Ajax has become so popular that you hardly find an application that doesn't use Ajax to some extent. The example of some large-scale Ajax-driven online applications are: Gmail, Google Maps, Google Docs, YouTube, Facebook, Flickr, and many more.

12. 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. Node.js lets developers use JavaScript to write command line tools and for server-side scripts to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying web-application development around a single programming language, rather than different languages for server-side and client-side scripts.

13. NPM
NPM is two things: first and foremost, it is an online repository for the publishing of open-source Node.js projects; second, it is a command-line utility for interacting with said repository that aids in package installation, version management, and dependency management. A plethora of Node.js libraries and applications are published on npm, and many more are added every day. These applications can be searched for on their website. Once you have a package you want to install, it can be installed with a single command.

14. CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML. CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript.

CSS is designed to enable the separation of presentation and content, including layout, colors, and fonts. This separation can improve content accessibility; provide more flexibility and control in the specification of presentation characteristics; enable multiple web pages to share formatting by specifying the relevant CSS in a separate .css file, which reduces complexity and repetition in the structural content; and enable the .css file to be cached to improve the page load speed between the pages that share the file and its formatting.

15. Git
Git is a software used for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows (thousands of parallel branches running on different systems).

16. AWS
Amazon Web Services, Inc. (AWS) is a subsidiary of Amazon providing on-demand cloud computing platforms and APIs to individuals, companies, and governments, on a metered pay-as-you-go basis. These cloud computing web services provide a variety of basic abstract technical infrastructure and distributed computing building blocks and tools. One of these services is Amazon Elastic Compute Cloud (EC2), which allows users to have at their disposal a virtual cluster of computers, available all the time, through the Internet. AWS's virtual computers emulate most of the attributes of a real computer, including hardware central processing units (CPUs) and graphics processing units (GPUs) for processing; local/RAM memory; hard-disk/SSD storage; a choice of operating systems; networking; and pre-loaded application software such as web servers, databases, and customer relationship management (CRM).

17. Google Cloud
Google Cloud Platform (GCP), offered by Google, is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search, Gmail, Google Drive, and YouTube. Alongside a set of management tools, it provides a series of modular cloud services including computing, data storage, data analytics and machine learning.

18. Microsoft Azure
Microsoft Azure, often referred to as Azure, is a cloud computing service operated by Microsoft for application management via Microsoft-managed data centers. It provides software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS) and supports many different programming languages, tools, and frameworks, including both Microsoft-specific and third-party software and systems.

19. Selenium
The selenium package is used to automate web browser interaction from Python. It is often used to make bots and web scrapers.

20. Django
Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.


That's it for The Full-Stack Developer Vocabulary.

Have a nice 2022!

Discussion (12)

Collapse
tikoflano profile image
Alvaro Flaño

Careful, 3.2 says AngularJS but you are describing Angular (Angular 2+). AngularJS was the first version, which doesn't use typescript and was totally different.

Collapse
j9t profile image
Jens Oliver Meiert

Love this little vocabulary, and that you took the effort to write all the definitions!

Disclosure, this is one of my projects: If you’re interested in an almost 3,000 words vocabulary, feel free to check out the Web Development Glossary! I only wrote some of the defs myself (others are based on Wikipedia and MDN Web Docs), but the book aims to provide a solid foundation to understand the terminology and concepts of our field.

Kudos again, @code_jedi!

Collapse
frostbite1b profile image
FrostBite

Can you post your full stack web developer curriculum, it would really help me 😓

Collapse
nbldreams profile image
NBL

Nice article bokka

Collapse
adnanashraf77 profile image
Adnan Ashraf

Fantastic. Really appreciate such amazing article..

Collapse
sumitk27 profile image
Sumit Kajbaje

Awesome article!
Provides the description from web behind the scenes up till deployment and testing.

Collapse
minasa profile image
Mina-Sa

Very nice I will definitely use it a lot! Thanks

Collapse
manuelbrs profile image
Juan Manuel Bello

Good article...
Thanks for sharing

Collapse
walidzhani profile image
Walid Zhy7

Nice article, I like it... Thanks.

Collapse
landl00rd profile image
Hope Agyaba

JSX allows you to write HTML-like syntax in JavaScript. It's agreeable to miss some of these small details when writing very involving articles like this one. Great job

Collapse
tahzeebamna profile image
AMNA TAHZEEB

Really very infrmatic article