Components of a website
A website has two main components, namely the front-end, and the back-end which do two separate tasks
The Frontend: The frontend is how what your website will appear like to your user. This includes the UI, buttons, icons, pictures, etc. In a nutshell, it's everything that end users can see when they visit your webpage.
There are many frameworks developers can use to design and create a frontend. Some of the popular ones include React, Angular, Vue, and NextJS
The Backend: The behind-the-scenes functionality of a website is referred to as the 'back-end'. It is a combination of technology and programming that powers a website, consisting of three parts that a user never sees: a server, an application, and a database.
The backend runs a website — the user doesn’t see it or interact with it, but it is always running in the background, delivering functionality and a desktop-like experience. This includes API calls, databases, server configuration, load balancing, etc. Developers use server-side languages and frameworks like Django, NodeJS, etc to create their backends.
What to do when you lack backend skills?
Now let's say that you want to create a website for a business within a week and you know how to create a frontend very well, and you are familiar with a lot of front-end technologies. But when it comes to the backend, you don't know much about how it works. It would take at least a month or two for you to be able to learn about the backend, and how to build one. What can you do in this situation?
In this type of situation, you can use something called Backend as a Service or BaaS. Backend-as-a-Service is a cloud-based service that solves most generic problems when it comes to the Backend
You've probably heard of platforms such as Netlify and Vercel which are used to create a front end with ease. Nhost is similar, but for the backend. If you've heard about google's firebase, then Nhost is an open-source alternative for firebase.
Nhost helps to manage servers, and configure databases. It also ensures scaling and security. A developer wouldn't need to worry about the complications of backend functionalities. Applications would also be secure which makes sure that the sensitive data is not accessible to unauthorized users. This makes sure that most of the development time is spent on creating amazing business applications!
What does Nhost Offer?
- PostgreSQL: PostgreSQL is a popular relational database which is open source. Using Nhost, you can easily create a Postgre Database to store data. Nhost also handles the security aspect of the database so the developer need not worry about it.
- GraphQL API: GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. Nhost provides instant real-time GraphQL API based on your tables and columns in the database.
- Authentication: Nhost makes it easy for developers to implement secure authentication for their users. Nhost provides several ways to implement authentication. Apart from the traditional email and password method, we can also use a magic link, phone SMS, Google, Facebook, LinkedIn, and more login methods.
- Serverless Functions: A serverless function is a function implementing some business logic without the need to manage its server infrastructure. With Nhost, you can deploy Serverless Functions to execute custom code. These serverless functions can be used to handle event triggers, form submissions, integrations such as Stripe, Slack, and more
Unique aspects of Nhost
- It uses a relational SQL database - Postgres and not a NoSQL database.
- It is 100% open source. This means that it can be self-hosted and there is no issue of vendor lock-in.
- It uses GraphQL instead of Rest.
- The backend deployment can be used in a Gitops workflow.
- It offers a free tier of usage making it perfect for students, personal projects, and learning about backend features.
- Nhost is frontend agnostic. This means that it doesn't matter if the frontend stack is using React or Vue or even a hosting service like Vercel, Nhost will work will all of them!
Who should be using Nhost?
As we discussed earlier in this article, Nhost can be used by frontend developers who know very little to nothing about the backend. Alternatively, backend developers can also use Nhost to save some time. In most cases, Nhost has everything you would need for running your business.
A success story
You may have heard of Midnight Society, a AAA game development studio that makes its community part of the game-building process. Their goal was to attract a large enough audience to influence how their game would unfold.
By early February of 2022, they had already amassed 120,000 followers on Twitter and another 80,000 on Discord. What they needed to do was funnel those users to their website and get them to sign up for early access to their new game and other benefits. Since Dr DisRespect, a video game streaming with millions of followers, was one of the founding members of Midnight Society, they expected their launch to be big. This meant that their backend and infrastructure had to be able to handle hundreds of thousands of users from day one.
The team stumbled on many solutions but was not able to find something suitable for their needs until they came across Nhost. They were able to easily set up their launch in just six weeks using Nhost.
Check out this article to read the entire story.
Nhost is a great Backend as a Service platform that can simplify creating the backend, and can also be used by students to learn about the components of a backend.
It provides a lot of features such as a PostgreSQL Database, GraphQL APIs, Authentication, and more. It can be used with any frontend framework making it easy for frontend developers to set up a backend without having extensive knowledge about a backend.