Dire che ho creato un servizio web basato su API RESTful. Ha senso anche fornire agli utenti una libreria client per l'API in alcune lingue selezionate che sono probabilmente le più utilizzate? Con la libreria client, intendo un involucro sottile attorno a tutte le chiamate API, in modo che gli utenti possano chiamare metodi nella loro lingua e ottenere oggetti nella loro lingua, che possono manipolare facilmente.
Se non fornisco un client, gli utenti creeranno le loro versioni dei client e dovranno preoccuparsi di creare le proprie versioni degli oggetti del modello di dati e dovranno anche prendere decisioni come la libreria HTTP da utilizzare .
Se fornisco un client, c'è innanzitutto la domanda su quali lingue suppongo. Inoltre, potrebbe diventare difficile mantenere la coerenza tra l'API e le librerie client. Inoltre, c'è l'argomento che l'API è ridondante se fornisco una libreria client. Posso semplicemente fornire la libreria del client da solo. Quindi ho bisogno di mantenere il contratto API in un solo posto anziché in due.
Sono un po 'sotto pressione per fornire la libreria client perché molti utenti sono preoccupati dell'utilizzo dell'API (molto probabilmente perché dovranno scrivere autonomamente questa libreria se devono usare l'API). Qual è il modo migliore per andare? Ci sono altri pro e contro che mi mancano? Apprezzo qualsiasi consiglio / aneddoto.