Basic Terms Flashcards
IDE
An Integrated Development Environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE typically includes a source code editor, build automation tools, and a debugger. Some IDEs also include tools to simplify the development of UI components, manage project files, and integrate version control. Examples include Visual Studio, Eclipse, and JetBrains IntelliJ IDEA.
Node.js
A runtime environment that allows you to run JavaScript on the server side. It provides the foundation upon which many backend frameworks are built: Express, Koa, Hapi. Node.js can act as the intermediary layer between your React frontend and external services.
Next.js
Next.js is built on top of Node.js. It enhances the capabilities of React by providing a server-side rendering and static site generation framework.
Runtime
The runtime or runtime environment is the period when a program is running, in contrast to other program lifecycle phases such as compile time, link time, and load time. The runtime environment provides built-in services such as memory management, API calls, and managing the execution lifecycle of the application. For languages like JavaScript, the runtime includes the JavaScript engine (like V8 in Chrome), which interprets and executes the code.
Version Control
Systems that record changes to a file or set of files over time so that specific versions can be recalled later.
Unit Testing
The process of testing individual components of the software to ensure they work as expected.
Deployment
The process of putting a software application into operation on a target system or server.
Virtual DOM
A programming concept where an ideal, or “virtual”, representation of a UI is kept in memory and synced with the “real” DOM by a library such as ReactDOM.
SPA
A web application or website that interacts with the user by dynamically rewriting the current page rather than loading entire new pages from the server.
CSR (Client-Side Rendering)
The rendering of a webpage on the client’s browser instead of the server. This is common in frameworks like React.
SSR (Server-Side Rendering)
Rendering pages on the server instead of the client, which can result in faster page loads for users.
API (Application Programming Interface)
A set of rules that allow different software entities to communicate with each other.
Webpack
A module bundler for JavaScript that bundles JavaScript files for usage in a browser.
Babel
A JavaScript compiler that converts ECMAScript 2015+ code into a backwards-compatible version of JavaScript.
ESLint
A static code analysis tool for identifying problematic patterns found in JavaScript code.
Cloud Native
A term used to describe container-based environments, where building and running applications exploit the advantages of the cloud computing delivery model.
Git
A distributed version-control system for tracking changes in source code during software development.
Repository (Repo)
A central file storage location, often used for storing code with version control systems like Git.
Commit
An individual change to a file (or set of files) representing a single point in a Git history.
Branch
A lightweight movable pointer to one of the commits. The default branch name in Git is master.
Merge
A way to put a forked history back together. The git merge command lets you take the independent lines of development created by git branch and integrate them into a single branch.
Fork
A copy of a repository that allows you to freely experiment with changes without affecting the original project.
Clone
A command in Git for copying a Git repository from another location, typically used to get a local copy of a remote repository.
Pull Request
A method of submitting contributions to a project. It shows diffs of the content from both branches, followed by a merge operation.