![Cover image for joseph_appsmith](/sites/default/files/styles/cover_avatar/public/banner.png?itok=6l-h5kZf)
Whether you're writing a full-stack application from scratch, using a no-code builder, or anything in between, chances are you're going to need a few APIs to add features or datasources to your app. Want to send a message to Slack? There's an API for that. Or maybe you want to set a value to the user's clipboard, or open a file download prompt? Yup, there's an API for that as well.
But what exactly is an API?
An API, or Application Programming Interface, serves as a defined standard that facilitates interaction and data exchange between two or more computer systems. It provides a set of protocols, tools, and definitions that allow different software applications, systems, or platforms to communicate effectively, enabling seamless integration and access to functionalities, data, or services. Here's a brief overview of the different categories of APIs.
1. Web APIs
Category | Description | Examples |
---|---|---|
REST, GraphQL, SOAP | APIs for web-based communication facilitating interaction between applications over the internet. | SalesForce, GitHub APIs |
2. JavaScript SDKs
Category | Description | Examples |
---|---|---|
SDKs and Libraries | Bundles of tools, functionalities, and APIs to simplify integration within JavaScript applications. | React SDK, jQuery, Google Maps API |
3. System and Platform APIs
Category | Description | Examples |
---|---|---|
Operating System APIs | Interfaces for OS-specific functionalities and resources. | Windows API, POSIX API |
Hardware APIs | APIs enabling communication and control of hardware components or IoT devices. | Arduino API, Raspberry Pi GPIO |
Cloud APIs | APIs offered by cloud service providers for managing cloud-based resources. | AWS SDK, Google Cloud API |
4. Data and Service APIs
Category | Description | Examples |
---|---|---|
Database APIs | Interfaces allowing access and manipulation of data in databases. | MySQL API, MongoDB API |
Internal APIs | Used within organizations/systems for communication between internal services. | Microservices API, Enterprise APIs |
Public/Open APIs | APIs accessible to external developers for specific functionalities/data. | Twitter API, OpenWeatherMap API |
5. Specialized APIs
Category | Description | Examples |
---|---|---|
Machine Learning APIs | APIs providing access to machine learning capabilities or pre-trained models. | TensorFlow API, IBM Watson API |
Real-time APIs | Facilitate instant data transmission in applications like messaging or live streaming. | WebSockets, Firebase Realtime Database API |
APIs and Low-Code Development
Web APIs
Most low-code platforms have some kind of API connector, usually REST based. A few, like Appsmith, also support GraphQL APIs natively. Together, these API connectors allow you to configure your own connection to virtually any external service by following their docs (Google Maps API, GitHub GraphQL API, etc), and saving your API key or other credentials as a datasource.
JavaScript SDKs
These APIs are much more widely used in full-stack development, and rarely (if ever) used in no-code. But with low-code platforms like Appsmith, JavaScript SDKs can be imported into your app to add all kinds of extra functionality! Appsmith also recently added support for ESM libraries, significantly increasing the number of libraries available for use in the platform.
System and Platform APIs
With platforms like Appsmith, the System and Platform APIs are mostly built-in so that you don't have to think about them. Appsmith has built-in actions and functions for downloading a file to the user's system, picking a file from their file system, setting a value to the clipboard etc.
Data and Service APIs
And native SaaS (software as a service) and Database integrations in Appsmith take care of the most common APIs for Data and Service APIs, again, allowing you to easily connect to the API without thinking about it.
Specialized APIs
Machine Learning APIs tend to be part of a data hosting service, like Google Cloud, AWS, Azure, etc, and not tied to a low-code UI builder. Although some platforms lock you in to only using their datasource, Appsmith is datasource agnostic. You bring your own datasource, and Appsmith lets you build the UI on top of it. So any ML would likely be part of your data/hosting service.
When it comes to Real-Time APIs, you won't find much for native support in any low-code platform. But with Appsmith, you don't need a native integration. You can write your own JavaScript and create a websocket with just a few lines of code!
Conclusion
APIs come in many forms, and their support varies greatly between low-code platforms. Appsmith's datasource agnostic approach provides a flexible UI builder that can connect to any datasource or API easily.