Quanto è difficile fare un'API?
Risposta breve e concisa: dipende.
Risposta più lunga:
Supponiamo che tu ed io abbiamo appena avuto una favolosa cena in un ristorante molto bello. Abbiamo avuto una grande bottiglia di vino, e alcuni piatti incredibili che includono alcuni degli ingredienti più organici e locali che anche gli abitanti di Portland sarebbero invidiosi. Il cameriere è stato molto gentile e ci ha fatto sentire come delle rockstar - ci ha portato dei dolci gratis! Non sono assolutamente uno chef, ma so riconoscere un ottimo cibo quando lo assaggio.
Ora - immaginate che alla fine del pasto, vi guardo profondamente negli occhi con uno sguardo intento - e dico con una faccia seria:
"Dovremmo aprire un ristorante proprio come questo - infatti sarà così facile che ho preso una copia del menu. Ce l'ho già in tasca. Ora, tutto quello che dobbiamo fare è stampare un menu con piatti simili! Penso persino di sapere quale modello di word hanno usato - mi sembrava familiare."
Spero che tu possa alzare gli occhi e dire:
"Questo'è pazzesco - il nostro fantastico pasto è stato il servizio, l'ottimo cibo, l'abilità dello chef e dei camerieri, l'atmosfera nella sala da pranzo, gli altri clienti intorno a noi e tu non sai un cazzo di cucina o di gestione di una cucina!"
Il menu è la tua API. Stai chiedendo quanto sia difficile fare un'API. Dipende da diversi fattori e dal tuo approccio.
Certo, la maggior parte dei menu sono formattati in modo simile, e molti ristoranti hanno gli stessi piatti - ma i buoni ristoranti sanno quali sono i loro ingredienti, quali attrezzature di cucina hanno e i loro menu sono quindi basati su queste e altre variabili. Ogni ristorante spende una certa quantità di sforzi per creare il proprio menu - dopo tutto, è in qualche modo - l'anima del loro business.
- Io mi chiederei - cosa vogliono avere i nostri clienti nella nostra API? Voglio copiare le funzioni API dall'API di cui sopra? Abbiamo alcuni "ingredienti segreti" che la nostra API dovrebbe esporre? Abbiamo un nucleo di funzioni da avere inizialmente nella nostra API?
- La difficoltà di "fare" un'API: Non molto difficile. (Forse). Se avete già una piattaforma, alcuni clienti e sviluppatori - creare un'API può essere semplice se pianificato. Per esempio, piattaforme come Ruby on Rails rendono molto facile creare ed esporre un'API. In alcuni casi, a seconda del design - può semplicemente comportare poche righe di codice - o ci può già essere un'API privata che i vostri sviluppatori usano internamente - e hanno solo bisogno di esporla ai clienti. Altre volte - è un lavoro doloroso, lento e tedioso che deve essere iniziato da zero.
- L'API è un'interfaccia, proprio come un menu è un'interfaccia per i clienti per ordinare cibo. Mostra cosa possono ordinare, con alcuni parametri (bistecca al sangue per favore!) e stabilisce le aspettative per dopo (pagherai per questo articolo alla fine del tuo pasto). Ma un menu di fantasia (o un'API) è inutile se le voci su di esso non sono attraenti per i vostri clienti, o include voci di menu che potrebbero farli vomitare (alcuni sviluppatori possono reagire in modo simile alle API SOAP).
Lo sviluppatore che incaricate di "fare la vostra API" è nella posizione migliore per dirvi quanto possa essere difficile per la vostra piattaforma presentare le sue funzioni attuali in un'API. Non lasciategli copiare l'API di qualcun altro "di livello simile" - vi ritroverete con dei commensali infelici, cioè sviluppatori. Vi suggerisco di cercare e imparare da altre API, in particolare nel vostro spazio. Questo vi aiuterà a capire quanto possa essere difficile da implementare alla fine.
Leggermente correlato - iniziate la vostra API con caratteristiche minime, costruiteci sopra in modo iterativo, e abbiate un buon approccio di versioning. Ho precedentemente definito un'API che era basata su SOAP e ho scoperto che la maggior parte degli sviluppatori vuole invece qualcosa basato su ReST.
Qui ci sono alcuni articoli a cui potreste voler dare un'occhiata per avere un'idea migliore delle cose da considerare quando progettate un'API:
- Quali sono le migliori risorse (articoli, libri, esempi) sulla progettazione di API? Quali sono alcune caratteristiche di una bella API?
- Come progettare un'API per un'applicazione web?
- Quali sono le migliori pratiche per progettare e lanciare un'API?
- Qual è la migliore e più flessibile API per gateway di pagamento per transazioni da utente a utente?
Articoli simili
- Se qualcuno è allergico alle api, deve stare lontano da miele, cera d'api e polline d'api?
- Qual è qualche chatbot online con API RESTful completamente gratuito (qualcosa come https://www.cleverbot.com/api)?
- Quanto è difficile il linguaggio assembly ed è molto più difficile del C?
- Quanto è difficile/difficile vivere la vita di un attore?