Originally Published on Stackbit Blog
The ongoing conversation about JAMstack has moved from being just a stack for creating static sites to a stack for developing dynamic web applications. Let’s take a look at an extensive list of APIs and tools you can leverage.
The JAMstack ecosystem has evolved over the past few years. It’s been getting more popular as people have moved on from the mistaken notion that only static sites can be rendered using this architecture. We see developers and companies adopting it and creating fast and dynamic web applications with helpful services and APIs while maintaining the benefits of the JAMstack, which prioritizes performance, scalability and developer experience.
The "A" in the JAMstack
The A in JAMstack stands for APIs. We no longer need to worry about dealing with traditional back-end - server-side operations can now be abstracted into reusable APIs and accessed over HTTPS with JavaScript. These can be third-party services or your custom function written as Functions as a Service (serverless functions). Let’s explore a list of useful APIs and related tools that can make your JAMstack projects dynamic.
10 APIs to check out in 2020
1. Algolia
Have you ever thought of adding search functionality to your website before you start wondering what the best way to implement this feature is. Great news! Algolia is a platform for all things related to the search and discovery experience. It is a hosted search engine capable of delivering real-time results from the first keystroke. Algolia’s API lets you quickly develop tailored, fast search and discovery experiences within your website.
2. AWS Amplify
AWS Amplify is a development platform that includes features like a data store that syncs data between your site and the cloud, authentication, machine learning, analytics and more. It provides a declarative and easy-to-use interface across different categories of cloud operations. AWS Amplify goes well with any JavaScript based front-end workflow and React Native for mobile developers. The default implementation works with Amazon Web Services (AWS), but AWS Amplify is designed to be open and pluggable for any custom back-end or service.
3. Cloudinary
Cloudinary is an end-to-end image management solution for your website and mobile apps. Cloudinary covers everything from image uploads, storage, manipulations, optimizations to delivery. You can easily upload images to the cloud and automatically perform smart image manipulations without installing any complex software. All your images are then delivered through a CDN and optimized and using industry best practices.
4. Disqus
Interactions on the web are very important and creating a platform to engage with users and to communicate is a no-brainer. Disqus is one of the platforms you should take a look at if you are looking to add comments functionality to your website or blog. Disqus is a comment hosting service for web sites and online communities that uses a networked platform complete with social network integration, advanced administration, and moderation options. While Disqus is often embedded, it also has an extensive API.
5. FaunaDB
FaunaDB is a globally-distributed, serverless, cloud database management system for modern applications and highly recommended for use with JAMstack sites. It enables you to instantly create a full-featured data back-end for applications, taking away the need to worry about managing a traditional database. It offers a great development experience in part by supporting both the Fauna Query Language but also native GraphQL.
6. Netlify Forms
Netlify Forms is a great service for integrating forms into your JAMstack site. There is no JavaScript required, Netlify’s build bots make it work by parsing your HTML files directly at deploy time. This means that there's no need for you to make an API call or include extra JavaScript on your site. You only need to pass a netlify
attribute or data-netlify="true"
for JavaScript rendered forms to your <form>
tag. Note that your site needs to be deployed to Netlify for this to work as you will be receiving all form submissions via your Netlify dashboard.
7. Auth0
Auth0 is an authentication and authorization as a service platform. They give developers and companies the building blocks they need to secure their applications without having to become security experts. You can connect your JAMstack application to Auth0 and set the identity providers you want to use (i.e. how you want your users to log in) and based on your app's technology, choose one of the SDKs or call the API, and hook it up to your app.
8. Snipcart
Snipcart is a simple shopping cart solution that allows you to turn any website into a fully customizable e-commerce platform. A basic Snipcart integration will take developers minutes. You only need to use HTML markup to add a full shopping cart platform to an existing site. Snipcart allows payment processing, shipping estimates, and order management without making your customers leave your website.
9. Stripe
Thinking of implementing online payments to your JAMstack application? With Stripe you can integrate a service for accepting payments and managing your business online, all on the client-side. The integration with Stripe checkout API lets you collect payments with just a few lines of code in your JAMstack app.
10. Netlify Functions
Netlify Functions let you deploy Lambda functions without an AWS account and with the function management handled directly within Netlify. The functions are version-controlled, built, and deployed along with the rest of your Netlify site, and it will automatically handle service discovery through the built-in API gateway.
Where to Go From Here
The JAMstack provides a great advantage to both the end-users and developers coupled with a fast and scalable approach. The services here are a part of a myriad list of services available to use in the JAMstack ecosystem. Check out the New Dynamic directory of tools and services and the awesome static website services repository for a comprehensive list of other services to explore.