If you're just starting out with web development chances are you'll be soon overwhelmed with tech jargon. You'll begin to ask yourself "what is AJAX?", "What is an API"?
Expert developers know them all, but you shouldn't feel bad for not having any clue about a "transpiler". Here's a little glossary for helping you out!
If you feel the urge to yell at me in the comments read this first. Enjoy!
API: stands for Application Programming Interface, but don't bother the strict definition for now: an API in programming is a set of tools, a toolbox of functions (also called methods), built by other developers and ready for use. With time you'll learn how the term has slightly different meanings depending on the context.
Native API: a native API is a built-in tool available by default in a programming environment. Speaking of browsers for example we say that
document.querySelector()is part of the native API for selecting HTML elements.
debuggerinstruction which stops the script exactly where it's placed.
Browser API or Web API: like native APIs a Web API is a specific functionality available in a web browser. Developers can use these methods out of the box. Examples of Web API are
console. For a complete list check out Web APIs.
HTTP request: is the act of "talking" to a remote web server (also called web service) for fetching or saving data. An example of HTTP request is when you visit some web page with a browser. Web pages in turn can make HTTP requests too for fetching data, mostly to REST APIs (see below). While a web service is not the same thing as a web server, there is always some kind of server listening for connections behind a web service.
HTTP error: sometimes things don't go well when talking to web services and the server may respond with an error. Errors are denoted with a numeric code: some common errors are 500 (server error), 404 (not found), 403 (forbidden), and so on.
REST API: is a web service (local or remote) which can expose data. Web applications (and any kind of application in general) can make HTTP request to a REST API for interacting with an underlying database, or simply for sending commands to the system.
XMLHttpRequest: it is a native object available in browsers for making HTTP requests to remote resources. XMLHttpRequest is part of the AJAX family, a set of technologies for fetching data in the browser without causing a page refresh.
Fetch API: it is a native API for making HTTP requests, much like XMLHttpRequest, but based on ECMAScript 2015 Promises. It is considered the successor of XMLHttpRequest, yet builds on top of it.
CORS: acronym for Cross-Origin Resource Sharing. It is a way for browsers to give access to a given domain, for instance b-example.dev to resources living on a different domain, ie. a-example.dev. By default browsers block HTTP requests to remote resources originating from objects like XMLHttpRequest.
WebSocket: it is an internet communication protocol which provides a mean to communicate in both directions over a single TCP connection. With a WebSocket, client and server can talk to each other in real time, like they were involved in a telephone call: once connected, a client will be able to receive data from the server, without any need to continuously "refresh" the connection. On the other hand the server will also be able to receive data in real time from the client inside the same connection. WebSockets are mostly used for chat and real time applications.
SQL: acronym for Structured Query Language. Although SQL leans more on the backend, a basic understanding of SQL is always nice to have. SQL is a language for interacting with databases. With SQL you can create databases, tables, and build complex instructions for querying and modifying data. An example of SQL is
SELECT * FROM table_name;.
GraphQL: GraphQL is a query language for interacting with data sources. GraphQL leans more on the frontend and offers great flexibility over the classic REST approach for fetching and saving data.
Want to add something? What's missing? Let me know in the comments!