Alternatives to JsonAPI logo

Alternatives to JsonAPI

GraphQL, JSON, OData, SQL, and Prisma are the most popular alternatives and competitors to JsonAPI.
92
102
+ 1
0

What is JsonAPI and what are its top alternatives?

t is a format that works with HTTP. A main goal of the specification is to optimize HTTP requests both in terms of the number of requests and the size of data packages exchanged between clients and servers.
JsonAPI is a tool in the Query Languages category of a tech stack.

Top Alternatives to JsonAPI

  • GraphQL
    GraphQL

    GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012. ...

  • JSON
    JSON

    JavaScript Object Notation is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language. ...

  • OData
    OData

    It is an ISO/IEC approved, OASIS standard that defines a set of best practices for building and consuming RESTful APIs. It helps you focus on your business logic while building RESTful APIs without having to worry about the various approaches to define request and response headers, status codes, HTTP methods, URL conventions, media types, payload formats, query options, etc. ...

  • SQL
    SQL

    SQL is designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS). ...

  • Prisma
    Prisma

    Prisma is an open-source database toolkit. It replaces traditional ORMs and makes database access easy with an auto-generated query builder for TypeScript & Node.js. ...

  • Oracle PL/SQL
    Oracle PL/SQL

    It is a powerful, yet straightforward database programming language. It is easy to both write and read, and comes packed with lots of out-of-the-box optimizations and security features. ...

  • Oracle PL/SQL
    Oracle PL/SQL

    It is a powerful, yet straightforward database programming language. It is easy to both write and read, and comes packed with lots of out-of-the-box optimizations and security features. ...

  • JSON API
    JSON API

    It is most widely used data format for data interchange on the web. This data interchange can happen between two computers applications at different geographical locations or running within same hardware machine. ...

JsonAPI alternatives & related posts

GraphQL logo

GraphQL

33.8K
27.1K
310
A data query language and runtime
33.8K
27.1K
+ 1
310
PROS OF GRAPHQL
  • 75
    Schemas defined by the requests made by the user
  • 63
    Will replace RESTful interfaces
  • 62
    The future of API's
  • 49
    The future of databases
  • 13
    Self-documenting
  • 12
    Get many resources in a single request
  • 6
    Query Language
  • 6
    Ask for what you need, get exactly that
  • 3
    Fetch different resources in one request
  • 3
    Type system
  • 3
    Evolve your API without versions
  • 2
    Ease of client creation
  • 2
    GraphiQL
  • 2
    Easy setup
  • 1
    "Open" document
  • 1
    Fast prototyping
  • 1
    Supports subscription
  • 1
    Standard
  • 1
    Good for apps that query at build time. (SSR/Gatsby)
  • 1
    1. Describe your data
  • 1
    Better versioning
  • 1
    Backed by Facebook
  • 1
    Easy to learn
CONS OF GRAPHQL
  • 4
    Hard to migrate from GraphQL to another technology
  • 4
    More code to type.
  • 2
    Takes longer to build compared to schemaless.
  • 1
    No support for caching
  • 1
    All the pros sound like NFT pitches
  • 1
    No support for streaming
  • 1
    Works just like any other API at runtime
  • 1
    N+1 fetch problem
  • 1
    No built in security

related GraphQL posts

Shared insights
on
Node.jsNode.jsGraphQLGraphQLMongoDBMongoDB

I just finished the very first version of my new hobby project: #MovieGeeks. It is a minimalist online movie catalog for you to save the movies you want to see and for rating the movies you already saw. This is just the beginning as I am planning to add more features on the lines of sharing and discovery

For the #BackEnd I decided to use Node.js , GraphQL and MongoDB:

  1. Node.js has a huge community so it will always be a safe choice in terms of libraries and finding solutions to problems you may have

  2. GraphQL because I needed to improve my skills with it and because I was never comfortable with the usual REST approach. I believe GraphQL is a better option as it feels more natural to write apis, it improves the development velocity, by definition it fixes the over-fetching and under-fetching problem that is so common on REST apis, and on top of that, the community is getting bigger and bigger.

  3. MongoDB was my choice for the database as I already have a lot of experience working on it and because, despite of some bad reputation it has acquired in the last months, I still believe it is a powerful database for at least a very long list of use cases such as the one I needed for my website

See more
Nick Rockwell
SVP, Engineering at Fastly · | 46 upvotes · 3.2M views

When I joined NYT there was already broad dissatisfaction with the LAMP (Linux Apache HTTP Server MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?

So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.

React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.

Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.

See more
JSON logo

JSON

1.9K
1.6K
9
A lightweight data-interchange format
1.9K
1.6K
+ 1
9
PROS OF JSON
  • 5
    Simple
  • 4
    Widely supported
CONS OF JSON
    Be the first to leave a con

    related JSON posts

    Ali Soueidan
    Creative Web Developer at Ali Soueidan · | 18 upvotes · 1.2M views

    Application and Data: Since my personal website ( https://alisoueidan.com ) is a SPA I've chosen to use Vue.js, as a framework to create it. After a short skeptical phase I immediately felt in love with the single file component concept! I also used vuex for state management, which makes working with several components, which are communicating with each other even more fun and convenient to use. Of course, using Vue requires using JavaScript as well, since it is the basis of it.

    For markup and style, I used Pug and Sass, since they’re the perfect match to me. I love the clean and strict syntax of both of them and even more that their structure is almost similar. Also, both of them come with an expanded functionality such as mixins, loops and so on related to their “siblings” (HTML and CSS). Both of them require nesting and prevent untidy code, which can be a huge advantage when working in teams. I used JSON to store data (since the data quantity on my website is moderate) – JSON works also good in combo with Pug, using for loops, based on the JSON Objects for example.

    To send my contact form I used PHP, since sending emails using PHP is still relatively convenient, simple and easy done.

    DevOps: Of course, I used Git to do my version management (which I even do in smaller projects like my website just have an additional backup of my code). On top of that I used GitHub since it now supports private repository for free accounts (which I am using for my own). I use Babel to use ES6 functionality such as arrow functions and so on, and still don’t losing cross browser compatibility.

    Side note: I used npm for package management. 🎉

    *Business Tools: * I use Asana to organize my project. This is a big advantage to me, even if I work alone, since “private” projects can get interrupted for some time. By using Asana I still know (even after month of not touching a project) what I’ve done, on which task I was at last working on and what still is to do. Working in Teams (for enterprise I’d take on Jira instead) of course Asana is a Tool which I really love to use as well. All the graphics on my website are SVG which I have created with Adobe Illustrator and adjusted within the SVG code or by using JavaScript or CSS (SASS).

    See more

    I use Visual Studio Code because at this time is a mature software and I can do practically everything using it.

    • It's free and open source: The project is hosted on GitHub and it’s free to download, fork, modify and contribute to the project.

    • Multi-platform: You can download binaries for different platforms, included Windows (x64), MacOS and Linux (.rpm and .deb packages)

    • LightWeight: It runs smoothly in different devices. It has an average memory and CPU usage. Starts almost immediately and it’s very stable.

    • Extended language support: Supports by default the majority of the most used languages and syntax like JavaScript, HTML, C#, Swift, Java, PHP, Python and others. Also, VS Code supports different file types associated to projects like .ini, .properties, XML and JSON files.

    • Integrated tools: Includes an integrated terminal, debugger, problem list and console output inspector. The project navigator sidebar is simple and powerful: you can manage your files and folders with ease. The command palette helps you find commands by text. The search widget has a powerful auto-complete feature to search and find your files.

    • Extensible and configurable: There are many extensions available for every language supported, including syntax highlighters, IntelliSense and code completion, and debuggers. There are also extension to manage application configuration and architecture like Docker and Jenkins.

    • Integrated with Git: You can visually manage your project repositories, pull, commit and push your changes, and easy conflict resolution.( there is support for SVN (Subversion) users by plugin)

    See more
    OData logo

    OData

    57
    134
    35
    A REST-based protocol for querying and updating data
    57
    134
    + 1
    35
    PROS OF ODATA
    • 7
      Patterns for paging, sorting, filtering
    • 5
      ISO Standard
    • 4
      Query Language
    • 3
      RESTful
    • 3
      No overfetching, no underfetching
    • 2
      Get many resources in a single request
    • 2
      Self-documenting
    • 2
      Batch requests
    • 2
      Bulk requests ("array upsert")
    • 2
      Ask for what you need, get exactly that
    • 1
      Evolve your API by following the compatibility rules
    • 1
      Resource model defines conventional operations
    • 1
      Resource Modification Language
    CONS OF ODATA
    • 1
      Overwhelming, no "baby steps" documentation

    related OData posts

    SQL logo

    SQL

    7.7K
    184
    0
    It is a domain-specific language used in programming
    7.7K
    184
    + 1
    0
    PROS OF SQL
      Be the first to leave a pro
      CONS OF SQL
        Be the first to leave a con

        related SQL posts

        Prisma logo

        Prisma

        1.2K
        924
        54
        Modern Database Access for TypeScript & Node.js
        1.2K
        924
        + 1
        54
        PROS OF PRISMA
        • 12
          Type-safe database access
        • 10
          Open Source
        • 8
          Auto-generated query builder
        • 6
          Supports multible database systems
        • 6
          Increases confidence during development
        • 4
          Built specifically for Postgres and TypeScript
        • 4
          Productive application development
        • 2
          Supports multible RDBMSs
        • 2
          Robust migrations system
        CONS OF PRISMA
        • 2
          Doesn't support downward/back migrations
        • 1
          Doesn't support JSONB
        • 1
          Do not support JSONB
        • 1
          Mutation of JSON is really confusing
        • 1
          Do not support JSONB

        related Prisma posts

        Divine Bawa
        at PayHub Ghana Limited · | 16 upvotes · 481.7K views

        I just finished a web app meant for a business that offers training programs for certain professional courses. I chose this stack to test out my skills in graphql and react. I used Node.js , GraphQL , MySQL for the #Backend utilizing Prisma as a database interface for MySQL to provide CRUD APIs and graphql-yoga as a server. For the #frontend I chose React, styled-components for styling, Next.js for routing and SSR and Apollo for data management. I really liked the outcome and I will definitely use this stack in future projects.

        See more
        Collins Ogbuzuru
        Front-end dev at Evolve credit · | 11 upvotes · 24.3K views
        Shared insights
        on
        GraphQLGraphQLPrismaPrismaAWS LambdaAWS Lambda

        We are starting to build one shirt data logic, structure and as an online clothing store we believe good ux and ui is a goal to drive a lot of click through. The problem is, how do we fetch data and how do we abstract the gap between the Front-end devs and backend-devs as we are just two in the technical unit. We decided to go for GraphQL as our application-layer tool and Prisma for our database-layer abstracter.

        Reasons :

        GraphQL :

        1. GraphQL makes fetching of data less painful and organised.

        2. GraphQL gives you 100% assurance on data you getting back as opposed to the Rest design .

        3. GraphQL comes with a bunch of real-time functionality in form of. subscriptions and finally because we are using React (GraphQL is not React demanding, it's doesn't require a specific framework, language or tool, but it definitely makes react apps fly )

        Prisma :

        1. Writing revolvers can be fun, but imagine writing revolvers nested deep down, curry braces flying around. This is sure a welcome note to bugs and as a small team we need to focus more on what that matters more. Prisma generates this necessary CRUD resolves, mutations and subscription out of the box.

        2. We don't really have much budget at the moment so we are going to run our logic in a scalable cheap and cost effective cloud environment. Oh! It's AWS Lambda and deploying our schema to Lambda is our best bet to minimize cost and same time scale.

        We are still at development stage and I believe, working on this start up will increase my dev knowledge. Off for Lunch :)

        See more
        Oracle PL/SQL logo

        Oracle PL/SQL

        738
        574
        8
        It is a combination of SQL along with the procedural features of programming languages
        738
        574
        + 1
        8
        PROS OF ORACLE PL/SQL
        • 2
          Multiple ways to accomplish the same end
        • 2
          Powerful
        • 1
          Not mysql
        • 1
          Massive, continuous investment by Oracle Corp
        • 1
          Extensible to external langiages
        • 1
          Pl/sql
        CONS OF ORACLE PL/SQL
        • 2
          High commercial license cost

        related Oracle PL/SQL posts

        Oracle PL/SQL logo

        Oracle PL/SQL

        738
        574
        8
        It is a combination of SQL along with the procedural features of programming languages
        738
        574
        + 1
        8
        PROS OF ORACLE PL/SQL
        • 2
          Multiple ways to accomplish the same end
        • 2
          Powerful
        • 1
          Not mysql
        • 1
          Massive, continuous investment by Oracle Corp
        • 1
          Extensible to external langiages
        • 1
          Pl/sql
        CONS OF ORACLE PL/SQL
        • 2
          High commercial license cost

        related Oracle PL/SQL posts

        JSON API logo

        JSON API

        193
        197
        0
        One of many data formats that is often applied to REST
        193
        197
        + 1
        0
        PROS OF JSON API
          Be the first to leave a pro
          CONS OF JSON API
            Be the first to leave a con

            related JSON API posts