Comments on postGraphcool
Johannes Schickling
@_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
@_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
@_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
@_marktani · Nilan-as-a-service @graphcool
@ethosventures please reach out to me in Slack: https://slack.graph.cool (@nilan)