Announcing the Release of Graphback 1.0
Enda Phelan
Software EngineerWe are excited to announce the official release of Graphback 1.0! This release is the end result of the amazing work and collaboration between the Graphback team and our community.
To each and every one of you who helped by using Graphback and providing us with invaluable feedback, and to those who contributed in code and issues - thank you! You are all stars, and we would not have gotten here without you.
#
What is Graphback?Graphback is a Node.js runtime framework and toolkit to generate a production-ready GraphQL project. Graphback is a core extension of the GraphQL CLI, used to generate a set of queries, mutations and subscriptions for each of your data models and connects to the database of your choice, allowing you to focus on the business objectives of your application.
The generated API layer follows the GraphQL CRUD specification developed by the GraphQL community, providing a common pattern for querying your data, and enables interoperability between GraphQL libraries which also adopt these patterns.
On top of the core framework, Graphback comes with a number of additional utility libraries which can optionally be used to aid development, like GraphQL Migrations for automatic database migration from your schema, and GraphQL Serve to instantly start up a Graphback API in-memory from the command-line.
#
Why not ${otherGraphqlLibrary} instead?But, you might ask, why not some other library instead? The GraphQL ecosystem is evolving quickly, with a growing number of frameworks and libraries. Why should I choose Graphback and GraphQL CLI?
#
No vendor lock-inThe open design of Graphback and GraphQL CLI means there will be no vendor lock-in. You have full control over your code and you can easily extend, customise and replace to suit your use cases.
#
Open Source, foreverGraphback is, and always will be, 100% open source. We actively work with and use feedback from our awesome community to help drive Graphback in the right direction, and will continue to do so forever more.
#
Committed to improving the GraphQL ecosystemOne of our main philosophies is to ensure Graphback coexists and works with as many other GraphQL libraries and standards as possible, improving the overall experience for developers. Some of the libraries that Graphback works with:
- GraphQL CLI - Graphback helps to power the GraphQL CLI
- GraphQL Tools
- GraphQL Config
- GraphQL Code Generator
- GraphQL CRUD - an open specification for common operations on top of GraphQL
#
Easy to use, easier to stayWe tried to make Graphback as easy to use as possible. Whether you are highly experienced with GraphQL, or Graphback is your first venture into the world of GraphQL, we wanted to make it easy for you to add Graphback to your project and get up and running. You can bootstrap your server with Graphback through a couple of programmatic APIs.
#
GraphQL CRUD out of the boxThe Graphback team is a founding contributor of the GraphQL CRUD specification. This means that Graphback stays up-to-date with the latest features and improvements in the specification.
You can instantly begin performing mutations and queries without having to write any additional backend code.
Graphback generates a CRUD service for each of your data models. First-class integration with GraphQL Code Generator gives you a type-safe, GraphQL CRUD programmatic API for every model, making it easier to create custom filtering from your resolver code.
#
Extensible by design, flexible by natureGraphback was designed with extensibility as a main priority. All core API functionality is generated through plugins, with additional customizations possible by using a community plugin or by creating your own.
Graphback can be added to any existing GraphQL application (in Node.js), or you can create a project from scratch with GraphQL CLI.
#
Choose your database...or databasesGraphback works with both SQL and NoSQL databases. Use the @graphback/runtime-knex
package to connect to a PostgreSQL database, and @graphback/runtime-mongo
to connect to MongoDB.
It’s as straightforward as changing a couple of lines in your code to switch between database providers and start to query and persist your data.
With dataProviderCreator
you can easily use multiple data sources in one application:
#
Before we goKickstart your GraphQL experience with Graphback today using the GraphQL CLI, or follow our guide to add Graphback to your existing project with minimal work.
Enjoying Graphback? We’d love to hear from you; and if you can see things that could to be improved, tell us! We want your feedback so we can continue to make Graphback better every day.
Join our Discord server to reach us directly or go to our GitHub to create an issue or pull request.
I can't leave without some special shout outs to the following people who were actively involved in shaping Graphback:
- @ssd71
- @ankitjena
- @lastmjs
- @renovate-bot - bots deserve ❤️ too 🤖!