Featured

Graphcool

The GraphQL backend for mobile & web developers

DiscussionYou need to become a Contributor to join the discussion - Find out how.
Johannes Schickling
Maker
@_schickling · Co-founder of Graphcool
Update: As a thank you for all the great feedback, we've decided to offer a free "Project" plan to everybody coming from Producthunt today. You'll find the option on the pricing page! ✌️ Hi everybody, I'm really excited to introduce Graphcool, the GraphQL backend for mobile & web developers :) About a million lines of code and 1.5 years ago, we set out to build a backend development platform based on GraphQL and serverless functions. Our goal was to provide a better level of abstraction when building backend applications while solving the limitations of existing services like Firebase. I would have never expected that by now, thousands of developers are building apps using Graphcool! Today, we're announcing two new big additions to our platform: https://www.graph.cool/blog/2017... Based on the learnings from building Graphcool, we're also presenting a new architecture concept called “Serverless GraphQL backend”: https://www.graph.cool/docs/tuto... I'm happy to answer any questions! – Johannes
> I'm happy to answer any questions! @_schickling Well, you asked for it ;) Some questions: I know GraphQL exists, but that's it. Reading the linked GraphQL.org makes it sound like it replaces the GET calls of a REST API. What about PUT, POST, DELETE etc? Is this also covered or is GraphQL bascially a read only API? I know AWS Lambda and what it does. But Graphcool "has" my database, right? Where will my database actually "live"? What format is my data saved in? Can I access it in a different way than via GraphQL/Graphcool? Also I have loads of data that I have to populate my database with. How do I get them into Graphcool? I have an Ionic Framework mobile app, which is built on Angular and using another API right now. How would I go about integrating Graphcool there? How do I sync data to the client? Can the client work offline? Can I prepopulate a local database that is synced with changes from Graphcool? Can you point out any (mobile) apps that already use Graphcool as their backend? -J
Johannes Schickling
Maker
@_schickling · Co-founder of Graphcool
@sujan Hi Jan - great questions! GraphQL has two concepts: Queries and mutations. Basically, queries are the way you get data and mutations are the way you write and update data. So in other words, queries would map to GET calls, mutations can be used instead of PUT, POST, DELETE. Graphcool is a fully managed backend, so we take care of your database as well. Here's a link about our infrastructure setup: https://www.graph.cool/docs/faq/.... Many of our customers import large amounts of data using the API which is quite simple based on features like "Nested Mutations". We provide unlimited requests during data import, so it doesn't cost you anything. You can read more about the process in our documentation: https://www.graph.cool/docs/tuto.... (We have similar documentation for how to export your data.) Subscriptions are a great way to be notified about data changes: https://www.graph.cool/blog/2017.... Both Relay and Apollo support manipulating the local store, but there is no out-of-the-box solution for fully offline-capable apps yet. This is probably one of the biggest areas for innovation in the land of GraphQL right now. Regarding your last question, here's a cool mobile app built on Graphcool which was recently featured on Indiehackers: https://www.indiehackers.com/bus...
@_schickling Thanks, that explained a lot of things. You mentioned "Relay and Apollo". I know these have to do with GraphQL again, but not exactly what these are and where do they fit into things between my app and Graphcool? Is GraphQL just a new name for RPC with some JSON sprinkled on? Let me also pick two quotes from your initial post: > ... while solving the limitations of existing services like Firebase. Where do you see these? Does Graphcool replace all services of Firebase or "only" parts of it? > ... a new architecture concept called “Serverless GraphQL backend" You say this is a new concept with Graphcool. How did it work before? And one from your pricing page: > Is my data backed up? > Yes. We take periodic snapshots and can perform point in time restore up to 7 days back in time. What happens after these 7 days? Can I backup data myself and restore from my own backups? -J
Johannes Schickling
Maker
@_schickling · Co-founder of Graphcool
@sujan Good questions again! I know it can feel quite overwhelming to first get into GraphQL but once you've understood the concepts behind GraphQL, I can promise you a lot of satisfying a-ha moments! :) > You mentioned "Relay and Apollo". I know these have to do with GraphQL again, but not exactly what these are and where do they fit into things between my app and Graphcool? Relay and Apollo are "GraphQL clients" which connect your app to your backend. You don't necessarily need a GraphQL client to connect you frontend app to your GraphQL backend (as you can use plain HTTP requests for example) but they provide a lot of very useful features like networking, caching and optimistic UI updates. For a comparison between Apollo and Relay you can read: https://www.graph.cool/docs/tuto... > Is GraphQL just a new name for RPC with some JSON sprinkled on? No it's way more than that as it provides a typesystem for your API enabling whole new categories of tooling. A good example is GraphiQL. Check out this great talk by Lee Byron to get a better idea of GraphQL:
> Does Graphcool replace all services of Firebase or "only" parts of it? Firebase has evolved into an extensive platform providing features like analytics, static file hosting, crash reports etc. In general it provides the most value closer to "frontend" or the app itself where as the initial core component, namely the database, is not flexible enough for bigger applications. The database (and also the logic layer) is exactly the part Graphcool provides a better solution for. > What happens after these 7 days? Can I backup data myself and restore from my own backups? Sure, it's very easy to implement your own backup solution. It should be as easy as setting up a cron job function to call the backup mutation the Graphcool API provides to get a full backup ready to download from S3.
Udi Talias@udidu · Full Stack Developer
@sujan @_schickling Yes, its called mutation queries
Ethan Kravitz@ethosventures · CTO, Overnight
@_schickling Does the free Project offer still apply? I don't see it even with the Product hunt ?ref param. Looks like normal pricing.
Nilan Marktanner
Maker
@_marktani · Nilan-as-a-service @graphcool
@ethosventures please reach out to me in Slack: https://slack.graph.cool (@nilan)
Lisa Dittmar@lisa_dittmar · CEO, LingoBites
@_schickling we're happy to share that https://www.producthunt.com/post... runs on graph.cool. We love it! :)
Julian Bauer@julianbauer_ · Designer / Founder @ Overnice
We're accompanying Graphcool for a little less than a year now, taking care of User Experience and Design. It's impressive how fast those guys move and how the service evolved in this time. For everyone who's interested in the progress: We'll share more on the design topic here soon: https://dribbble.com/graphcool
Johannes Schickling
Maker
@_schickling · Co-founder of Graphcool
@julianbauer_ Thanks a lot for your great continuous work! Graphcool wouldn't look and feel like it does today without your creativity and sense for design! ✨
Daniel@danieldaniel · Automating UI/UX Design at Hackerbay.com
We build multiple apps every month with a graph cool backend. I know the guys and they are working their asses off 14 hours a day to build a better product.
Johannes Schickling
Maker
@_schickling · Co-founder of Graphcool
@danieldaniel Thanks a lot for your support Daniel! As Elon Musk says "[technology] only improves if a lot of people work very hard to make it better" 💪
Sacha Greif@sachagreif · Designer, Sidebar
GraphQL is quickly establishing itself as a key piece of the modern web app stack, and Graphcool is a great way to get started with it without having to write any code. Congrats on the launch!
Johannes Schickling
Maker
@_schickling · Co-founder of Graphcool
@sachagreif Thanks a lot for your comment, Sacha! Just recently looked into Vulcan (http://vulcanjs.org/) which is also based on GraphQL. Great work!
Jakub Juszczak@apertureless · Developer
👍 I am working on a sideproject with Graph.cool & Vue.js and it's super easy to use. Even if you don't know GraphQL. No setup required 💘
Nilan Marktanner
Maker
@_marktani · Nilan-as-a-service @graphcool
@apertureless Hey Jakub! The GraphQL community is still mostly focused on React and Angular, so it is great to see that vue.js is working out so well for you! The Vue.js community is starting to pick up some speed too recently. Guillaume is really doing a great job with the vue-apollo integration for Apollo :)
Nilan Marktanner
Maker
@_marktani · Nilan-as-a-service @graphcool
@apertureless Hey Jakub! The GraphQL community is still mostly focused on React and Angular, so it is great to see that Vue.js is working out so well for you.