5 reasons for every developer to use and deploy Strapi in 2021
Tags: node, javascript, react, opensource
Published: 2021-01-14 23:33:41

I joined the [Strapi](https://strapi.io/) team a year ago as a front-end developer and I wanted to learn a lot about the product. At the beginning of 2020, I read a lot of [very interesting blog posts](https://strapi.io/blog) about Strapi, but the best way for me to learn a product is to practice. So a few months ago, I decided to deploy and maintain a Strapi app and I didn't expect it to be that useful outside of my work. I've had so much fun with it, and felt the need to write this post and share some of the reasons I think developers should give it a try!

> **Strapi (Quick reminder)**
> *Strapi is the leading open-source headless CMS. It’s 100% Javascript, fully customizable, and developer-first. You will be able to build powerful APIs without effort.*

## 1. Boost your productivity
Create a Strapi app with one line on your terminal and start to create a production-ready data structure with the admin panel. 
```bash
npx create-strapi-app my-project --quickstart
```
It will take you a few minutes to build a powerful API. Stay focused on everything except the pain of API creation for your projects. Strapi allows you to customize the Admin panel and the API very easily so you can quickly match your needs. You also can onboard your customers or co-workers during the development of the project by giving restricted access to the Strapi Admin of a [deployed app](https://strapi.io/documentation/developer-docs/latest/getting-started/deployment.html#hosting-provider-guides) so, you will focus on the development of your project and nevermore on the development of a back office.

## 2. Deploy once and use everywhere
2020 was a pretty productive year for me as I spend almost all year at home (I wonder why? :smile:). My dev side projects of 2020:
  - 2 personal mobile apps
  - A home dashboard app
  - An e-commerce website
  - A personal blog
  - and a lot of PoC to test frameworks and libs

All those apps and websites are using the same Strapi API in development, and some of them on production. With the Users & Permissions feature, I was able to give restricted access to the API depends on the project. For example, I built a Music mobile app so I created some collection types (`Tracks`, `Playlists`, `Albums` and `Artists`) and a user role named `music-app-role` that gives access only to those collection types.

## 3. Save a lot of time
This is actually the reason why I started my first Strapi app even before working at Strapi. I saved months of work using Strapi for a side project. It's not just data available through an API, Strapi comes with a lot of built-in features like query params (pagination, search, advanced filters, sort), User management, Media library, Webhook, etc. I also saved a lot of time on the deployment with the awesome [documentation](https://strapi.io/documentation/developer-docs/latest/getting-started/introduction.html).

## 4. Compatibility
Another great reason to use Strapi is its compatibility with other tools/frameworks. A lot of [integrations](https://strapi.io/integrations) already exist like providers (email, auth, file management systems), frameworks (React, Vue, Angular, Svelte, Flutter, etc). If you use GraphQL, you will just need to install the GraphQL plugin. You can even choose the database.

Some [starters](https://strapi.io/starters) also exist if you need a pre-made frontend app that consumes a Strapi API.

## 5. An open-source project with a huge community
Last but not least, by starting using Strapi, you will quickly see how the community is so caring and committed to the product.
  - Github : https://github.com/strapi/strapi
  - Slack : https://slack.strapi.io/
  - Forum : https://forum.strapi.io/

## Final thoughts
There are many good reasons to use Strapi. I hope that it has convinced you to try it :smile: and I have absolutely no doubt in my mind that this product will be very useful for you.