När du utformar din API-strategi, lägg designen först
NyheterEn av de bästa delarna av mitt jobb är att jobba med företag på deras API-strategi. Du lär dig mycket om dem så. Att öppna tjänster med ett API är mer än ett ingenjörsprojekt. För de flesta är det ett nytt sätt att tänka på sin verksamhet.
Och när jag har sett dessa projekt nära varandra kan jag säga att vissa tillvägagångssätt för API: er fungerar, och andra arbetar, låt oss säga, mindre bra.
Även erfarna utvecklare tenderar att falla i en kortsiktig mentalitet när de bygger API. Det går vanligtvis så här. De arbetar bakåt från ansökan för att komma fram till specifikationen. De börjar en virvelvind av kodning, kryssrutorna om funktioner och funktionalitet och ta in projektet, förhoppningsvis i tid och på budget. Bra gjort och till puben, rätt?
Inte riktigt.
Vad kan eventuellt gå fel?
Detta är inte Fält av drömmar. Bara för att du bygger ett API betyder det inte att någon kommer att använda den. Om du inte utformar ditt API för att glädja dina konsumenter - i det här fallet, ditt utvecklingssamhälle och till och med ditt eget lag - ställer du dig inför misslyckande. Det är lika sant med ett API som det är med en smartphone.
De mest framgångsrika API-projekten tar det jag kallar a “konstruktions första” närma sig. I grunden handlar design-först om att skapa en upplevelse som glädjer din publik. Innan du skriver någon kod, tänk på de personer som kommer att använda ditt API. Fråga dig själv: “Skapar jag en upplevelse som kommer att locka ett samhälle, inspirera engagemang och ge värde?” Mest av allt, “Skulle jag vilja utvecklas med detta API?”
Så här ser du till att du kan svara ja på dessa frågor.
Design för konsistens
Att planera för lite är farligt. Men så planerar det för mycket. Detta är inte ett vetenskapsexperiment för att hitta den idealiska designen. Perfektion är inte målet: konsistens är.
Gör dina användare en tjänst och slå fast på väldefinierade mönster och vanliga designelement som du kommer att använda om och om igen när din applikation utvecklas. Om du har två lag att bygga två API: er för din programvara, ska användarna inte kunna upptäcka någon skillnad.
Säkerhet bör uppträda på samma sätt. Versioner, URL-scheman, API-nycklar och felkoder ska se ut och fungera på samma sätt i alla delar av ditt API. Detsamma gäller för att fråga och ta emot data. Dessa kan tyckas som grunderna, men de följs så sällan i praktiken - och så kraftfulla när de är. Planering av ditt API med ett modelleringsspråk som RAML kan hjälpa dig att hålla dig till bästa praxis.
Om du behöver ett annat incitament att vara konsekvent, kom ihåg att du gör dig själv en tjänst också. Allt arbete du gör på ditt API just nu, du kommer att göra igen en dag. Kanske för närvarande bygger du en inbyggd mobilapp. Över tiden vill du lägga till funktioner. Du kanske vill stödja olika plattformar. När du gör det är det sista du vill att du ska spendera tid på att planera ditt API. En tydlig, konsekvent design kommer att fungera bra för dig under din ansökans livstid.
Design för skalan
Ditt API måste byggas för att hålla, men planering för tillväxt kan vara svårt. Du kan inte investera för mycket i skalbarhet tills du genererar trafiken. Men du måste investera tillräckligt för att växa utan att påverka dina användare. Det är ett känsligt balans.
Den enklaste lösningen är att publicera dina API-skivor på en molnplattform där skalbarhet är inbyggd. På så sätt kan du inte krypa under din belastning om du får spikar i aktivitet.
Du måste också noggrant välja din API-hanteringsplattform. Det kan inte vara en eftertanke. Det är ett kraftfullt verktyg för att säkerställa att alla dina användare har en bra upplevelse. Det låter dig ordna i detalj hur du får tillgång till API. Det ger en säker, säker upplevelse för slutanvändare, och ger dig synlighet i hur API: n öppnas. Det är Mission Control för ditt API, och du kan inte försumma det.
Design för människor
Efter att ha sagt allt detta är utvecklare den enskilt viktigaste faktorn som bestämmer huruvida ett API har lyckats eller misslyckats. Oavsett hur elegant din kod, det kommer inte räcka för att få folk att engagera sig.
Människor vill inte tänka för mycket. Programmeringspraxis kan bli omslagen i käften i kantfall. Litauen av möjliga saker som en slumpmässig utvecklare kan göra en dag. Definiera vad du kan göra med API och vad du inte kan; lämna kökshandtaget i köket. Designprocessen bör rikta fokus. Det är bättre att börja smala och bredda över tiden. Det är också viktigt att uttryckligen definiera gränserna för ditt v1.0 API så att utvecklare har kontext för vad man kan förvänta sig.
Du måste tänka på engagemangserfarenheten hos ditt API-uppe. När du har lanserat behöver du hjälpa utvecklare att upptäcka ditt API och lyckas med det genom dokumentation och handledning. Du måste marknadsföra det, samla in feedback, involvera samhället i att förbättra det. Ett API måste utvecklas, precis som de företag som stöder det.
Vill du ha några bra exempel? Ta en aning från företag som Stripe och Twilio, där deras API är produkten. Om de inte attraherar ett samhälle går deras verksamhet under. Du kan satsa på att de får engagemang rätt.
Sammanfattningsvis
Att skapa en stark API-strategi är en utmanande, spännande upplevelse. Det tvingar dig att tänka inte bara om vad din ansökan är som nu men vad det kommer att vara i framtiden. Om du håller ditt fokus på användarupplevelse genom bra design upp och planerar på lång sikt, har du en arkitektur som kan stödja din digitala verksamhet i många år framöver.
- Ross Mason är grundare och VP för produktstrategi hos MuleSoft.