Skip to content

Latest commit

 

History

History
65 lines (46 loc) · 5.5 KB

File metadata and controls

65 lines (46 loc) · 5.5 KB

Glossary

Define each term below by writing a paragraph explaining what it is and why it's important for web development. Include 2-3 relevant links for more information.

Web Components

Web Components are a suite of different technologies allowing you to create reusable custom elements—with their functionality encapsulated away from the rest of your code—and utilize them in your web apps. They are built on three main technologies: Custom Elements, Shadow DOM, and HTML Templates. They are vital for web development because they provide a standardized way to build UI components that are platform-agnostic, meaning they work in any framework and prevent CSS or JS "leaks" that can break other parts of a site.

Web Components

Web components are a suite of standardized web platform technologies that let developers create custom, reusable HTML elements with their own structures, styling, and behavior, so they work across web pages and applications without interfering with other code. These components se broswer APIs such as custom elements, shadow DOM, and templates.

*https://developer.mozilla.org/en-US/docs/Web/API/Web_components

Lit

Lit is a lightweight library for building fast, lightweight web components. At its core, it provides a base class that manages properties and attributes, and a template system that uses JavaScript tagged templates to efficiently render and update the DOM. Lit is important because it simplifies the Web Component API, reducing boilerplate code while maintaining high performance. It allows developers to create reactive, interoperable components that stay small in bundle size, which is crucial for modern web performance.

NPM

NPM (Node Package Manager) is the world's largest software registry and the default package manager for the Node.js runtime environment. It consists of a command-line client and an online database of public and paid-for private packages. In web development, NPM is essential for managing dependencies; it allows developers to easily install, share, and update code libraries created by others. This modular approach significantly speeds up development time by allowing teams to leverage existing solutions for common tasks.

Node.js

Node.js is essentially what runs JavaScript, It is what 'does' stuff within the file. It is a high performance, single-threaded event loop that is very popular for building modern web applications. It is also known for its scalability and for having an extensive ecosystem:

JavaScript

JavaScript is a high-level, interpreted programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. Originally designed to make web pages interactive, it has evolved into a versatile language capable of running on servers (via Node.js), mobile devices, and even hardware. It is critical for web development because it enables complex features such as dynamic content updates, interactive maps, and asynchronous data fetching. Without JavaScript, the modern web would be a collection of static, non-responsive documents.

Git

Git is a distributed version control system that tracks changes in source code during software development. It allows multiple developers to work on the same project simultaneously without overwriting each other's work through the use of branches and merging. Git is indispensable in modern web development because it provides a "safety net," allowing developers to revert to previous versions of code if something breaks. It also facilitates collaboration and code reviews.

HAXTheWeb

HAXTheWeb (Headless Authoring Experience) is an open-source system designed to simplify the creation and management of web content by using Web Components. It allows users to build complex, accessible, and high-quality web pages through a "what you see is what you get" (WYSIWYG) interface that interacts directly with custom elements. For web developers, HAX is important because it promotes a decoupled architecture where the authoring tool is separate from the display, making content truly portable across different platforms.

Command Line Interface (CLI)

A Command Line Interface is a text-based interface that allows users to interact with a computer program, operating system, or development tool by typing commands into a terminal or console, rather than using graphical user interfaces.