Välj din API-byggare 2021 – Canonic eller Hasura

Medan bygga API: er har förenklats av många spelare på marknaden och beslutar rätt verktyg för ditt kommande projekt eller för ett magert utvecklingsteam kan vara ett riktigt knepigt jobb.

Den 15 oktober 2020 lanserade vi vår produkt, Canonic, på Product Hunt och vi rankades som 3rd Product for the Day tillsammans med en otrolig dragkraft på Hacker News som väl. Bland alla frågor som ställdes till oss om produkten var den som oftast kom “Hur skiljer sig Canonic från Hasura?”

Så, vad är Canonic och Hasura exakt?

Hasura är en grafikserver med öppen källkod som ger dig GraphQL API i realtid över Postgres , med web-hook-utlösare för databashändelser och fjärrscheman för affärslogik. Det syftar till att hjälpa dig att bygga GraphQL-appar som stöds av Postgres eller stegvis flytta till GraphQL för befintliga applikationer med Postgres.

Canonic är en plattform med låg kod för att skapa API: er på några minuter.
Det erbjuder en GraphQL-tjänst för backend samtidigt som man hanterar hela produktionsklar infrastrukturbehov för backend. Det låter dig definiera din innehållsmodell, automatiskt tillhandahålla en databas, snurra upp en server i realtid och servera ditt innehåll över både GraphQL- och REST-API: er.

Det syftar till att ge dig en sömlös upplevelse att bygga ut kraftfulla backends för alla typer av digitala produkter på det mest användarvänliga sättet.

Om det fortfarande känns lika? Här är några av de viktigaste skillnaderna:

1. Nytt / länka / importera data API: er

Hasura ger ett enkelt sätt att bara ansluta till dina egna befintliga / nya Postgres-databaser och tillhandahålla CRUD GraphQL-API: er ovanpå.

Canonic å andra sidan ger dig flexibiliteten att antingen:

  • Om du har en befintlig databas med Canonics Funktion Importera / länka , du kan ta med data till Canonic väldigt enkelt (stöder för närvarande MongoDB , i framtiden via Postgres , Airtable , MySQL och mer) och börja bygga API: er ovanpå det.
  • För ditt nya projekt , definiera bara din innehållsmodell för att automatiskt generera ett CMS, en databas och distribuera ditt projekt live på bara några minuter. Bygg din databas på Canonic

CRUD API skapas i båda GraphQL och REST-format.

importera skärmdump
Kanonisk importskärm

2. Intuitiv modellering av innehåll

Hasuras primära användningsfall är att tillhandahålla data-API: er över befintliga databaser, det är lite krävande process för att skapa nya tabeller, deras fält och relationer mellan dem. För någon som inte har kunskap om datatyper, främmande nycklar osv kan det vara ganska förvirrande.

Hasura-skärmdump
Hasura content modeler

Canonic har sin egen unika grafbaserade innehållsmodelleringsmotor som låter dig definiera strukturen för hur du vill att dina data ska läggas ut på ett mycket intuitivt och interaktivt sätt.

Kanoniskt grafbaserat innehållsmodelleringssystem
  • Skapa olika typer av fält som du vill ha i din tabell.
  • Omordna dem men det passar bäst för dig.
  • Inbyggt stöd för att integrera olika användarregistreringstyper (Google, Github, etc)
  • Lägg till validering s som vart och ett av dina fält kommer att följa när du lägger till / uppdaterar ditt innehåll.
  • Definiera relationer och länktabeller enkelt.
  • Gruppera fält tillsammans, antingen för semantik eller om du vill lagra en lista med poster för den datagruppen.
  • Förhandsgranska hur dina ändringar kommer att se ut när du distribuerar dem.

3. Utöka API: er och affärslogik

Hasura kan du utöka CRUD API: erna för att skriva ditt eget företag logik av antingen:

  • Bygg din egen GraphQL-tjänst och slå samman den med Hasuras GraphQL-tjänst för att få dem att arbeta tillsammans under en enda slutpunkt. helst som en serverfri funktion, som utlöses när några ändringar sker i databasen, vilket Hasura utlöser när din databas ändras.

Canonic , Om du vill lägga till nya anpassade slutpunkter behöver du inte bygga ut en separat tjänst och länka den till Canonic.

  • Du kan skapa så många slutpunkter som du vill, redo att visas i både GraphQL- och REST-format.
  • Du kan lägga till din anpassade affärslogik med den inbyggda kodredigeraren direkt där.
Canonic API Workflow Screen

Det gör det vansinnigt enkelt att bygga ut nya slutpunkter och utöka dina befintliga eftersom din produkt behöver förändras utan att behöva gå någon annanstans.

4. API-dokumentation

Din backend-tjänst måste i slutändan integreras med andra plattformar som behöver ha rätt kunskap om API-kontrakten. Canonic genererar på ett smart sätt dokumentationen för alla dina API: er på ett ställe så att vem som helst kan se vilka kontrakten är som startar integrationen direkt utan att behöva känna till din backend eller databasstruktur alls.

Dokumentation är en iterativ process och måste återspegla systemets nuvarande och korrekta tillstånd. Detta tar bort ansvaret att behöva ta hand om att dokumentera och låter dig bygga snabbt.

Skärmdump från Canonic Docs
Canonic Docs-skärm

Som jämförelse tillhandahåller Hasura ingen dokumentation kring API-kontrakt.

5. Fullständigt innehållshanteringssystem

Hasura går med det traditionella tillvägagångssättet att lägga till nya rader och värdena för dess fält i respektive kolumner. Det låter dig se data som lagras i din databas med ett grundläggande tabellformat.

Hasura CMS-skärmdump
Hasura CMS

Canonic å andra sidan ger dig en fullblåst CMS skräddarsydd för hur du definierade din innehållsmodell. Du kan lägga till åtkomstkontroll så att endast personer som har tillgång till den kan se och använda den. Du kan ladda upp bilder / filer direkt därifrån och följer alla valideringsregler som du har definierat i innehållet.

Auto-genererade cms från Canonic skärmdump
Canonic CMS skärmdump

6. Mer än en GraphQL-tjänst

Du måste ha en hel del kunskap om backend och databas för att kunna börja bygga med Hasura . Det syftar till att spara dig det grymma arbetet med att skriva en CRUD och skalbar realtidsbackend själv.

Canonic syftar till att vara en mer medborgar- första icke-teknologivänliga plattformen som låter dig bygga hela backend stack-änden till slut med den lägsta nivån av teknisk kunskap.

Hoppas att detta ger dig en bra förståelse för hur Canonic skiljer sig från Hasura och mer tydlighet om hur den passar in i din stack, utvecklingsarbetsflöde och tillför värde till ditt projekt.

Canonic / Hasura

Du kan registrera dig och börja använda Canonic gratis här . Du kan också gå med i vår diskordssamhälle för att interagera med andra medlemmar och med oss direkt.

Webbplats | Twitter | LinkedIn | Facebook | Instagram