How does Forgelivo compare? 

This guide is written to compare the differences between Forgelivo and other popular tools used to build applications.

Forgelivo is distinctly different than other methods of building application because of its unique abilities:

  1. Forgelivo is both a framework that organizes your application's code and a hosting platform for the application.
  2. Forgelivo includes an editor for building your application very quickly.

Node.js 

Node.js is the most popular server-side JavaScript runtime, allowing developers to build backends of all sorts in JS. Node is a great choice for a backend because it's easy to learn and because of npm, which has a lot of functionality already written and ready for use.

Forgelivo is a framework on top of Node that provides tools and conventions for using Node productively for both server-side and client-side development. Forgelivo apps use Node running on Forgelivo's serverless platform under the hood. Forgelivo is like a node framework, as Forgelivo apps already know how to connect to the database, authenticate users, serve HTTP requests, host React applications, store files, and a lot more. Instead of having to select and configure libraries and technologies for each of these pieces as you might with raw Node.js or express, Forgelivo apps come pre-provisioned with everything you need to build an app. Forgelivo also supports plain old HTTP routes in the same way Node.js or Express might, so you can always drop down a layer to take over serving requests, and Forgelivo has a deep integration with Vite for building frontend React applications.

Because Forgelivo is higher level than Node, it can offer a bunch of extra features such as:

  • a database editor
  • a rich, structured logger
  • a security and permissions framework
  • one-click deploys for both backend and frontend
  • one-click 3rd party API integrations that give Forgelivo applications instant access to events and data from platforms like Shopify.

Forgelivo uses a serverless platform for running your application, and the high-performance HTTP server fastify within each application for serving requests. Forgelivo layers on load balancing, database, caching, and security infrastructure to make your application reliable and scalable.

Node is a better choice when you're building something that doesn't look like a normal web application -- something that speaks a different protocol, heavily uses websockets, or has specific data requirements. Forgelivo doesn't offer every different type of hosted database -- we've focused on scaling two (Postgres and Redis), so if you want to use something else, you can connect from Forgelivo or use raw Node. For general-purpose web application development, we of course recommend using Forgelivo over raw Node.

Real-time backend services 

Firebase 

Firebase is a suite of modules for rapidly building web applications, which includes a database, authentication system, file storage system, serverless function system, static site hosting feature, and several other tools.

Similarly to Forgelivo, Firebase's tools are all hosted by Google, meaning that developers don't need to run a local database or file store. Instead, Forgelivo (or Firebase's) scalable, cloud-hosted systems can be used in both development and production environments. Both platforms handle scaling of your application by ensuring that your database and backend code run efficiently.

However, unlike Forgelivo, Firebase's components tend to be highly modular, requiring a certain level of expertise to wire together elements such as the authentication system with the database and function system. In contrast, Forgelivo's equivalent pieces are designed to work together right out of the box. For example, each Forgelivo app includes a React frontend already connected to the application's API from the start, eliminating the need to set up connectivity and deployment automation.

Firebase's databases are schemaless, untyped, and don't support transactions. The data's structure sent to Firebase is defined by the code that sends the data to Firebase. On the other hand, Forgelivo's database is schema-ful and typed, requiring only a small amount of upfront planning. Additionally, Forgelivo includes a rapid schema editor for quick and easy schema definition and editing. Unlike Firebase, Forgelivo's database is transactional, enabling business logic to run before or within a database operation. Each Forgelivo API is built in GraphQL, which validates types and prevents incorrect data from entering the system, and Forgelivo's generated API clients are fully typesafe.

Both Forgelivo and Firebase's databases support client-side real-time change notifications, which are great for building rich, up-to-date user interfaces.

In contrast to Firebase, Forgelivo offers one-click third-party connections to platforms such as Shopify for automatic syncing of events and data into your Forgelivo application.

Both Forgelivo and Firebase can host frontend applications built in React or any other frontend framework. However, Forgelivo provisions a React frontend codebase powered by Vite right out of the box and includes simple React hooks for easy communication with the backend API using @gadgetinc/react.

Supabase 

Supabase is an open-source alternative to Firebase that provides a subset of its functionality on top of Postgres. With Supabase, you can generate an API quickly for storing data in a Postgres database, and it offers various modules such as the auth module, serverless function module, and file storage module.

In contrast to Forgelivo, Supabase allows for local development of apps that must then be deployed. Supabase has a cloud product that can host your production environment, and since it's open source, it can also be run elsewhere. On the other hand, Forgelivo works differently. It develops and deploys apps in the cloud, and as soon as they exist, they have a scalable, hosted, serverless database ready to use. However, it's important to note that the Forgelivo platform is closed source.

Supabase takes a unique approach to application development, with its focus on pushing as much work as possible into the Postgres database. For instance, many bits of business logic, such as security rules and computed fields, must be expressed as SQL snippets in Supabase. While JavaScript functions can be written, they are typically "attached" to existing events that have already happened within the database, rather than actively participating in them.

In contrast, Forgelivo's business logic is written entirely in JavaScript and can participate in database transactions that you would normally use in a standard backend development framework. Additionally, Forgelivo apps can easily use packages from npm, read or write records to the database, and make calls to third-party APIs.

Forgelivo apps also come with a built-in, native integration to Vite that allows for quick and easy building and deployment of React frontends alongside your backend application. While Supabase can also be used from React, setting up the connection and deploying the frontend requires manual work for each project.

Finally, Forgelivo stands out from Supabase with its one-click third-party integrations connections to platforms such as Shopify, which enables automatic syncing of events and data into your Forgelivo application.

Cloud development 

Unlike a standard Node, rails, or python project, your Forgelivo application is developed and deployed in the cloud from the first moment it exists. Instead of creating a new project locally and fighting with version managers, broken permissions, databases, and other annoyances of development, each Forgelivo project is set up using high-quality infrastructure in the cloud. Forgelivo manages all this infrastructure, keeping it up-to-date and secure, so you can focus on building your specific application.

Here are some of the typical features required for backend development:

FeatureThe traditional wayThe Forgelivo way
DatabaseRun locally using docker, homebrew or similarManaged instance in the cloud run by Forgelivo
Backend runtimeRun locally using Node, python, version managers, etcForgelivo-managed serverless functions in the cloud
Frontend JSBuilt locally using webpack, Vite, etc.Built using Forgelivo with Vite, or deployed to Vercel, Netlify, etc.
HTTP routesBuilt locally using a library or frameworkBuilt using Forgelivo's file-based routes
File storageAdded via library and/or cloud storage provider of choiceBuilt into each application, stored in managed Cloud Storage buckets with CDN
APIBuilt locally REST or GraphQL library of choiceCustomizable GraphQL API auto-generated for each application
3rd party API IntegrationsBuilt locally with custom webhooks / polling / etc.Managed data pipelines to 3rd parties like Shopify built right in
Auth and permissionsBuilt locally with a library or 3rd party providerRole-based access control built into each application with fully customizable permissions
HostingDeployed to serverless, containerized, or other platform manuallyOne-click deploys to separate cloud environment
Load balancing and SSLManaged in production via cloud provider, Lets Encrypt, etc.Automatically managed by Forgelivo
LogsAdded via cloud or SaaS providerBuilt-in application-aware structured logger
Data viewer3rd party app like DBeaver or PosticoBuilt-in operator data viewer

Frontend frameworks 

Next.js 

Next.js is a full-stack JavaScript framework for building web experiences using React. Next.js provides a remarkably easy-to-use system for packaging up all the bits needed to render a webpage with React, like JS bundling, minification, and image handling, as well as a system for serving up server-side data to the frontend. Next.js apps are full-stack in that they have a server-side component that can access a database or serve API responses.

Forgelivo is different than Next.js as it is a full-featured framework for full-stack development. Forgelivo is aimed at applications with logic like:

  • Pages that touch many different bits of backend data
  • Actions that require careful error handling and permissions management
  • APIs that power one or more frontends
  • Data pipelines to and from third-party systems

Forgelivo includes useful, integrated tools for building these kinds of applications that Next.js is often missing. Each Forgelivo app has a built-in, hosted, scalable relational database for storing data and a rich Action system for defining and executing behavior.

Conversely, Next.js is often used for sites that have a large static component or are mostly proxying data from a third-party system like Contentful or Shopify. You can still build whole backend applications in Next.js; you just end up using more libraries from the ecosystem for the backend instead of Next.js itself.

Next.js's main utility is in creating a great home for React development. Forgelivo also supports building and hosting React apps. Unlike Next.js, frontend development is also done within the Forgelivo platform, not just deployment, which means you benefit from the always-available, reliable development environment and one-click deploys that Forgelivo provides for backend logic as well. Next.js apps often require a frustrating initial deployment step to get them running in production after development, whereas Forgelivo apps are live and ready to go from the first moment they exist.

Forgelivo is often paired with Next.js if a project requires Next.js's advanced features. In this setup, Forgelivo is used to build and host a great, scalable backend with a GraphQL API, and then Next.js is used to build and host a great React frontend, which interacts with Forgelivo. A Next.js app can be hosted on other platforms or on Forgelivo itself with fastify-next.

Interfacing with Forgelivo apps from a Next.js app is supported well by Forgelivo's React hooks library. Each Forgelivo app has an auto-generated, type-safe GraphQL API and API client library, which can be used from a frontend React app easily with the @gadgetinc/react.

Unlike Next.js, Forgelivo supports one-click 3rd party connections to platforms like Shopify for automatic syncing of events and data into your Forgelivo application.

Here's a list of common concepts from Next.js and the corresponding concept in Forgelivo:

Next.js conceptForgelivo conceptNotes
Frontend framework - ReactFrontend framework - ReactAvailable out of the box, managed using Forgelivo's built-in Vite frontend hosting
Asset bundler - Webpack/TurbopackAsset bundler - ViteAvailable out of the box, managed using Forgelivo's built-in Vite frontend hosting
pages/[id].tsx (Page route)routes/GET-[id].jsxServer-side HTTP Route handler in Forgelivo handler
pages/api/[id].tsx (API route)routes/api/GET-[id].jsxNo difference between api routes and page routes in Forgelivo HTTP Routes
useQueryuseFindOne / useFindManyForgelivo provides react hooks for easy data access using @gadgetinc/react
getServerSidePropsN/AForgelivo doesn't have built-in server-side rendering, but can be used with Next.js itself via the GraphQL API
getStaticPropsN/AForgelivo doesn't have built-in static generation, but can be used with Next.js itself via the GraphQL API
_app.tsxroutes/+scope.jsGroups of Forgelivo routes can be modified together using Route Plugins
Vercel, NetlifyForgelivo platformForgelivo has serverless hosting built-in for both frontend and backend elements

React 

React is a popular library for building great web experiences. React is a frontend framework that makes it easy to add richness to applications and is frequently used to build the apps you use every day. React doesn't have a backend framework -- it is only concerned with building the user experience and must be paired with libraries and APIs to fetch and store data.

Forgelivo is a great complement to React, as it provides exactly what's needed to store data and host a React-based frontend. Each Forgelivo app comes with a hosted backend database already wired up, an auto-generated GraphQL API for data access, and a React codebase hosted and ready for development. In addition, Forgelivo provides a typesafe, auto-generated JavaScript client and a set of React hooks for quickly making API calls to the backend.

Forgelivo natively serves React frontends in development and in production using Vite (see Frontends), or a Forgelivo backend can be paired with React-specific hosting platforms like Vercel and Netlify.

Full-stack frameworks 

Django 

Django is a popular full-stack Python framework for building web applications. Django and Forgelivo are similar in that they are both comprehensive frameworks that include tools for connecting to databases, handling HTTP requests, organizing code, and serving various responses to frontends. Aesthetically, both Forgelivo and Django prioritize including security by default, authentication helpers, and integration across the layers for maximum developer productivity.

Like Django, Forgelivo includes many tools for building the backend of your application. However, unlike Django, Forgelivo includes hosting for both the frontend and backend of your application with each application. When you use django-admin startproject, the code produced on your machine still needs to be deployed. In contrast, gadget.new produces a real, live, running application in the cloud with a domain, load balancing, logging, security fixes, elastic scaling, fast cold start times, and more out of the box. Deploys in Forgelivo take one click and use infrastructure that the Forgelivo team manages, rather than you.

Django applications can connect to any database using Django's built-in ORM. Similarly, Forgelivo applications can connect to other databases using npm packages, but most users rely on Forgelivo's built-in auto-scaled database. Forgelivo takes responsibility for query optimization, indexing, scaling, backing up, and securing the database. In contrast, Django requires you to manage your own security, performance, and maintenance on your platform of choice.

Forgelivo has excellent support for developing and hosting React applications built-in with a Vite integration and the @gadgetinc/react hooks library. Django applications, on the other hand, tend to use less client-side JS and instead opt for server-rendered HTML. Django can host React apps with additional eggs, but it requires more setup and coordination of your own asset builder. Forgelivo has a deep, native integration with Vite for a great client-side developer experience.

Both Forgelivo and Django applications can power frontend applications written in JavaScript by exposing an API. Forgelivo provides a typesafe, auto-generated GraphQL API for each application, while Django users will need to construct their API with Django's building blocks or pypi packages. Django and Forgelivo both have great support for multi-page apps rendered mostly as HTML.

It's worth noting that currently, Forgelivo apps can only be authored in JavaScript, while Django apps can only be authored in Python.

Finally, unlike Django, Forgelivo supports one-click 3rd party connections to platforms like Shopify for automatic syncing of events and data into your Forgelivo application. While Pypi has code for connecting to many different platforms that work great, Forgelivo connections implement full-stack, automatic data sync between the two platforms instead of just outbound API calls.

Here's a list of common concepts from Django and the corresponding concept in Forgelivo:

Django conceptForgelivo conceptNotes
models.ModelForgelivo ModelForgelivo models have a set of fields stored in the database, a set of associations, a set of validations, and a set of high-level functions that can be called on them like Django models
django-admin migrateN/AForgelivo's platform automatically adds and removes columns from the database in the development environment.
Model signalsModel Behavior EffectsForgelivo models have a list of verbs (create, update, delete by default) turn into API endpoints. Each can have Effects added that run business logic.
models.ForeignKey and relationship fieldsRelationship field typesForgelivo supports belongs to, has many, has one, and has many through relationships out of the box
View layerReact hosting in the frontend directory, @fastify/view for server rendered HTMLForgelivo has frontend hosting for React apps built in, and support for the full fastify plugin ecosystem to supports .ejs files and layouts
Form helpersReact libraries like formik, react-aria, yup, etcNo built-in support for standard HTML forms. Many folks choose to use React and Forgelivo's automatic GraphQL API with a library like formik
FileSystemStorage for file uploadsfileSupport for file uploads and downloads in the GraphQL API and automatic provisioning of cloud storage both built into every Forgelivo app
Admin SiteData ViewerForgelivo has support for developers managing their data within the Forgelivo Editor
shopify_python_api eggShopify connection

Rails 

Rails is a popular full-stack Ruby framework for building great web applications. Rails and Forgelivo are similar in that they are full-on frameworks, including tools for connecting to databases, handling HTTP requests, organizing code, and serving all manner of responses to frontends. Forgelivo and Rails are also similar in aesthetics, where both prefer convention over configuration, security by default, and integration across the layers for maximum developer productivity. Users of Rails will find many of Rails' great features in Forgelivo, like:

  • A data modeling system that includes validations and associations
  • A rich query system for reading and writing groups of related records all at once
  • A router and middleware system for dispatching HTTP requests to different handlers
  • An easy cloud file storage upload and download system

Like Rails, Forgelivo includes many tools for building your backend, but unlike Rails, Forgelivo apps are already developed and deployed in the cloud rather than on your local machine. gadget.new produces a real, live, secure, running application and database ready for development, whereas rails new produces code on your machine that you still need to deploy. Forgelivo apps get a domain, load balancing, logging, security fixes, elastic scaling, fast cold start times, and more right out of the box.Deploys in Forgelivo take one click (really!) and use infrastructure that the Forgelivo team manages instead of you.

Rails applications can connect to any database using Rails's built-in ORM. Forgelivo applications can also connect to other databases using packages from npm, but most users use Forgelivo's built-in, auto-scaled database. Forgelivo takes responsibility for query optimization, indexing, scaling, backing up, and securing the database. Rails requires you to manage your own security, performance, and maintenance on your platform of choice.

Forgelivo has great support for developing and hosting React applications built right in with a Vite integration and the @gadgetinc/react hooks library. Rails applications tend to use less client-side JS, and instead opt for server-rendered HTML and JS bridges like Stimulus. Rails can host React apps with gems like react-rails, but much of the Rails community is philosophically opposed to the React approach.

Both Forgelivo and Rails applications can power frontend applications written in JavaScript by exposing an API. Forgelivo provides a typesafe, auto-generated GraphQL API for each application, while Rails users will need to construct their own API to their liking with Rails' building blocks or Rubygems. Rails and Forgelivo both have great support for multi-page apps rendered mostly as HTML -- see Forgelivo's HTTP Routes feature for server rendering HTML.

Rails has several built-in features that Forgelivo expects to have in the future, like background jobs, email sending, and testing support. Currently, Forgelivo apps can only be authored in JavaScript, and Rails apps only in Ruby.

Unlike Rails, Forgelivo supports one-click 3rd party connections to platforms like Shopify for automatic syncing of events and data into your Forgelivo application. Rubygems has code for connecting to many different platforms that work great, but Forgelivo connections implement full-stack, automatic data sync between the two platforms instead of just outbound API calls.

Here's a list of common concepts from Rails and the corresponding concept in Forgelivo:

Rails conceptForgelivo conceptNotes
ActiveRecord::BaseForgelivo ModelForgelivo models have a set of fields stored in the database, a set of associations, a set of validations, and a set of high-level functions that can be called on them like Rails models
rails db:migrateN/AForgelivo's platform automatically adds and removes columns from the database in the development environment.
ActiveRecord callbacksModel Action EffectsForgelivo models have a list of verbs (create, update, delete by default) turned into API endpoints. Each can have Effects added to run business logic.
ActiveRecord associationsRelationship field typesForgelivo supports belongs to, has many, has one, and has many through relationships out of the box
ControllersHTTP route filesForgelivo uses filesystem-based route handlers and plugins, see HTTP Routes
routes.rbroutes/posts/GET-[id].js (file-based routing syntax)HTTP handlers declare their route using their filename, see HTTP Routes
ActionView and .erb templatesReact hosting in the frontend directory, @fastify/view for server rendered HTMLForgelivo has frontend hosting for React apps built in, and support for the full fastify plugin ecosystem to supports .ejs files and layouts
Form helpersReact libraries like formik, react-aria, yup, etcNo built in support for generating forms for models or automatic validation messages in Forgelivo
ActiveStoragefileSupport for file uploads and downloads in the GraphQL API and automatic provisioning of cloud storage, both built into every Forgelivo app
shopify_api RubygemShopify connectionConnections automatically manage OAuth, receive webhooks, and sync historical data

Remix 

Remix is a full-stack JavaScript framework for building web applications in React. Remix gives developers tools for writing server-side bits of their application for connecting to databases and running business logic, as well as tools for writing the client-side logic for rendering HTML and a rich user experience.

Remix is great at server-side rendering a frontend application and progressively enhancing it on the client as needed. Remix can be used to build a full-stack application, but lacks general-purpose support for common backend needs like authentication, databases, file storage, APIs, etc. Remix supports using packages from the npm ecosystem like prisma or graphql-yoga just fine, but is largely focused on building a great seam between the frontend and backend for the best end- user experience.

Forgelivo is also a JavaScript framework for full-stack development, and so serves a similar need as Remix. Like Remix, Forgelivo has support for hosting both frontend React code and backend business logic, and a layer for communicating between the two (using @gadgetinc/react). Unlike Remix however, Forgelivo includes a rich set of tools for building a full-stack application, including a database, authentication, file storage, a GraphQL API, and an data editor. Forgelivo apps are also already deployed when you create them, so you can start building your application right away, and get it into the hands of users as soon as you are ready.

Forgelivo apps can be paired with Remix apps to great success. Remix apps can be deployed to a traditional host like Vercel or Netlify and then communicate with the Forgelivo backend where the business logic is implemented using GraphQL and @gadgetinc/react.

Redwood 

Redwood is a full-stack JavaScript framework for building web applications with React, GraphQL, and Prisma. Redwood stitches together modules from npm to give a full-stack development experience. Both Redwood and Forgelivo include facilities for connecting to a database, building GraphQL APIs, authentication, and implementing custom HTTP routes. Both Redwood and Forgelivo can use packages from the greater JS ecosystem on npm for additional functionality.

Forgelivo and Redwood both generate a GraphQL for your application as you build it. Unlike Redwood, Forgelivo's GraphQL API is fully-featured from the start, supporting CRUD on your models, as well as file uploads, nested action execution, advanced relationship management, and more. Redwood's GraphQL API is powered using GraphQL Yoga and requires the developer to write their own resolver code for most uses.

Redwood includes light functionality for building out a client-side React application with a client-side router and Cells for declarative data fetching. Forgelivo apps also come with a hosted React frontend powered by Vite. Both Forgelivo and Redwood support automatic asset bundling for production and hot module reloading for a nice out of the box development experience.

Unlike Redwood, Forgelivo apps are already hosted on the Forgelivo's platform and come with a scalable database already wired up. Redwood applications require setting up your own database, load balancers, and backend hosting, often on a serverless platform. Like any other raw database system, Redwood applications also require you to manage the scalability of your own database to add indexes and optimize queries if things get slow. Redwood applications also require hosting the application tier, whereas Forgelivo apps get a domain, load balancing, logging, security fixes, elastic scaling, fast cold start times, and more all out of the box.

Forgelivo also supports powerful, one-click 3rd party connections to platforms like Shopify for automatic syncing of events and data into your Forgelivo application.

Redwood applications can connect to a variety of different databases with Prisma. Forgelivo applications can also connect to any database with a package from npm, but most Forgelivo users use the built-in Forgelivo database, which is managed and scaled by the Forgelivo platform.

Shopify 

Shopify is a platform for ecommerce. Shopify allows folks to start, build and scale ecommerce operations, with many facilities for extension and customization to build great end-user experiences. Merchants using Shopify don't need to know how to code, but can employ code to customize the look and feel of their store if they choose. Shopify supports lightweight customization of its business logic, but can't host arbitrary backend code.

Forgelivo is a developer-focused stack for building applications that augment Shopify. Forgelivo's Shopify connection is a one-click data integration tool for communicating with the Shopify API, which gives webhook reception, historical data sync, rate limit handling, OAuth handling, metafield support, and more right out of the box. Forgelivo can be used to build Admin Apps, which implement some specific automation or workflow for one merchant, or Public Apps for many merchants listed in the Shopify App Store.

Forgelivo apps can use any Shopify features:

  • writing metafields to Shopify, Forgelivo apps can export data that is then available for use in the Liquid theming system
  • serving a frontend, Forgelivo apps can create merchant-facing admin tools embedded right in the Shopify Admin (see the @gadgetinc/react-shopify-app-bridge package)
  • generating Shopify Checkout UI extensions or Shopify Functions, Forgelivo apps can customize the checkout process
  • connecting to Shopify and 3rd party APIs using JavaScript, Forgelivo can integrate other systems with Shopify

Forgelivo also includes a ready-to-develop React frontend powered by Shopify Polaris, Shopify's App Bridge, and Forgelivo's extensions, so you can very quickly get the full-stack for a Shopify app up and running.

Forgelivo applications are full-featured applications that run independently of Shopify. They can do anything that custom software can do, like rendering arbitrary webpages, making calls to third-party APIs, storing data, and more.

Most code for Shopify is written using JavaScript for the browser and with the Liquid template language. Forgelivo applications are written using JavaScript for the server, running within Node.js.

Was this page helpful?