Monday, July 22, 2019

API - Hypermedia Specifications

To make Hypermedia implementation easier, there are linking specifications already in existence. Each specification is slightly different. Let's try to compare different -2 specifications.

Referenced from Undisturbed Rest


Strength
Weaknesses
Collection + JSON
         Strong choice for Collections
         Templated queries
         Early wide adoption
         Recognized as a standard
         JSON only
         Lack of identifier for documentation
         More complex/ difficult to implement
HAL
         Dynamic
         Nestable
         Easy to read/implement
         Multi-format
         URL templating
         Inclusion of documentation
         Wide adoption
         Strong community
         Recognized as a standard hypermedia spec
         RFC proposed
         JSON/XML format architecturally different
         CURIE’s are tightly coupled
JSON LD
         Strong format for data linking
         Can be used across multiple data formats
         Strong community
         Large working groups
         Recognized by W3C as standard
         JSON-Only
         More complex to integrate/interpret
         No identifier for documentation
CPHL
         Designed for cross-platform consistency; allows loosely coupled documentation
         Incorporates API Definitions
         Method and code on demand
         Allows for multiple formats while also providing a strict naming structure for common actions
         Poor adoption/not heavily tested
         Can become bloated
         Work in progress
         Listed as brainstorming documents
SIREN
         Provides a more verbose spec
         Query templating and form fields
         Incorporates actions
         Multi-format
         Poor adoption
         Lacks documentation
         Work in progress
JSON API
         Simple versatile format
         Easy to read/implement
         Flat link grouping
         URL templating
         Wide adoption
         Strong community
         Recognized as hypermedia standards
         JSON-Only
         Lack of Identifier for documentation
         Still, work in progress

No comments:

Post a Comment