SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Hogyan tervezzünk API-t?

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Mindenki API tervező

●

●

API gondolkodásmód jobbá teszi a
kódodat.
Az API elősegíti a
kódújrahasznosítást.

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Üzleti előnyök
●

●

A másik oldal hozza az ügyfeleket.
A másik oldal pénzt, időt és
energiát fordít a technológiád,
terméked megtanulására.

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Üzleti veszélyek
●

Support requestek

●

Rossz API => rossz PR

●

EGY esélyed van jól megcsinálni.

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
De miért fontos NEKED?
●

Jobb kódot írsz

●

Moduláris, újrafelhasználható

●

Öndokumentáló funkcionalitás

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Ilyen a jó API
●

Egyszerű megtanulni/használni...

●

...akár dokumentáció nélkül is.

●

●

Nem szivárogtat implementációs
részleteket.
Egyszerű bővíteni.
@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Hogyan fogjunk neki?
●

Minimális funkciókészlet

●

Valós igényeket mérjünk fel!

●

Egy oldalas absztrakt

●

Mutassuk meg sok embernek!
@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Írjunk klienst!
●

Akár még az implementáció előtt is.

●

Implementáció közbeni problémák.

●

Teszteli az API-t.

●

Írjunk több implementációt!
@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Dokumentáció
●

●

●

Dokumentáljunk MINDENT!
A dokumentáció nem helyettesíti az
egyszerűséget.
Tegyük elérhetővé nyilvánosan!

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Bonyolultság

Ha bonyolult elmagyarázni, nem jó ötlet.

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Nevezéktan
●

Célközönség-specifikus!

●

Dokumentáció nélküli használat.

●

Túl hosszú függvénynevek

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Nevezéktan
●

Magánhangzók kihagyása

●

Hibás angol

●

Legyen konzisztens!

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
A legkisebb funkcionalitás

●

Hozzáadni mindig lehet

●

Elvenni nem

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Szivárgás
●

●

Szivárgás: amikor a háttérrendszer
működése befolyásolja az API
működését.
Defacto szabvány lesz

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Kedvességek
●

Numerikus hibaüzenetek

●

Struktúrált paraméterek

●

Legkisebb meglepetés elve

●

Legyen egyszerű használni, tesztelni
@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Adatformátum
●

●

●

Időpontoknál figyeljünk az
időzónára.
A float nem alkalmas pénzösszegek
leképezésére.
Ha lehet, ne használjunk stringet.
@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
REST API
●

HTTP protokollon alapul

●

Szemantikus

●

Tetszőleges adatformátumot
szállíthat.
@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
REST API
GET /0.1/client/ HTTP/1.1
Host: api.neticle.hu
Authorization: api kulcs (RFC2617)
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
[{"id":1,"name":"Teszt Ugyfel 1"},
{"id":2,"name":"Teszt Ugyfel 2"}]
Forrás: http://wiki.neticle.hu/

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
REST API
GET /0.1/client/1/ HTTP/1.1
Host: api.neticle.hu
Authorization: api kulcs (RFC2617)
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
[{"id":1,"name":"Teszt Profil 1"},
{"id":2,"name":"Teszt Profil 2"}]
Forrás: http://wiki.neticle.hu/

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
SOAP
●

Objektumokat visz át.

●

Kötött adatformátum.

●

Legtöbbször automatikusan generált
sémaleírás.

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
SOAP
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 299
SOAPAction: "http://www.w3.org/2003/05/soap-envelope"
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
</soap:Header>
<soap:Body>
<m:GetStockPrice xmlns:m="http://www.example.org/stock">
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>

@janoszen

Forrás: http://en.wikipedia.org/wiki/SOAP

www.janoszen.com @neticle_hu

www.neticle.hu
Jó példa

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Takeaway
●

Tiszta nevezéktan

●

Legkisebb meglepetés elve

●

Minimális funkciókészlet

●

Dokumentáció!
@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
További tanulandó

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu
Stalking lehetőségek
Pásztor János

Neticle Technologies

www.janoszen.com

blog.neticle.hu

@janoszen

@neticle_hu

fb.com/janoszen

fb.com/neticle

youtube.com
/user/janoszen
Ikonok: http://www.iconarchive.com/show/social-networks-pro-icons-by-artbees.html

@janoszen

www.janoszen.com @neticle_hu

www.neticle.hu

Weitere ähnliche Inhalte

Andere mochten auch (10)

9oktober
9oktober9oktober
9oktober
 
Persconferentie Strip Aalst
Persconferentie Strip AalstPersconferentie Strip Aalst
Persconferentie Strip Aalst
 
Stadthuiskalender2
Stadthuiskalender2Stadthuiskalender2
Stadthuiskalender2
 
Monocities aglomeration
Monocities aglomerationMonocities aglomeration
Monocities aglomeration
 
презентация2
презентация2презентация2
презентация2
 
創人物Vol.7 學生講者 - 王柏欽
創人物Vol.7   學生講者 - 王柏欽創人物Vol.7   學生講者 - 王柏欽
創人物Vol.7 學生講者 - 王柏欽
 
創人物Vol.7 實習講者 - 俞又文
創人物Vol.7   實習講者 - 俞又文創人物Vol.7   實習講者 - 俞又文
創人物Vol.7 實習講者 - 俞又文
 
Kotlerportermaslow 091126092456-phpapp01
Kotlerportermaslow 091126092456-phpapp01Kotlerportermaslow 091126092456-phpapp01
Kotlerportermaslow 091126092456-phpapp01
 
THANK YOU, ALAN SCHONBERG!
THANK YOU, ALAN SCHONBERG!THANK YOU, ALAN SCHONBERG!
THANK YOU, ALAN SCHONBERG!
 
Amalia Dhea dan Shafira Intan agama 9H (04&29)
Amalia Dhea dan Shafira Intan agama 9H (04&29) Amalia Dhea dan Shafira Intan agama 9H (04&29)
Amalia Dhea dan Shafira Intan agama 9H (04&29)
 

Ähnlich wie Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013

rblmarketing-bemutatkozas
rblmarketing-bemutatkozasrblmarketing-bemutatkozas
rblmarketing-bemutatkozas
Bal R
 
Google Analytics webfejlesztőknek - Longhand
Google Analytics webfejlesztőknek - LonghandGoogle Analytics webfejlesztőknek - Longhand
Google Analytics webfejlesztőknek - Longhand
Peter Varga
 

Ähnlich wie Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013 (19)

rblmarketing-bemutatkozas
rblmarketing-bemutatkozasrblmarketing-bemutatkozas
rblmarketing-bemutatkozas
 
ÜGYFÉLKÖZPONTÚ SZOLGÁLTATÁS TERVEZÉS változó piaci helyzetben, változó erőfor...
ÜGYFÉLKÖZPONTÚ SZOLGÁLTATÁS TERVEZÉS változó piaci helyzetben, változó erőfor...ÜGYFÉLKÖZPONTÚ SZOLGÁLTATÁS TERVEZÉS változó piaci helyzetben, változó erőfor...
ÜGYFÉLKÖZPONTÚ SZOLGÁLTATÁS TERVEZÉS változó piaci helyzetben, változó erőfor...
 
SEO - kereső optimalizáció az E-Bridges ONE STEP OPTIMIZATION csomaggal
SEO - kereső optimalizáció az E-Bridges ONE STEP OPTIMIZATION csomaggalSEO - kereső optimalizáció az E-Bridges ONE STEP OPTIMIZATION csomaggal
SEO - kereső optimalizáció az E-Bridges ONE STEP OPTIMIZATION csomaggal
 
Ihász Ingrid: A programmatic kiadói oldala. PPC Pro Meetup, 2020.02.
Ihász Ingrid: A programmatic kiadói oldala. PPC Pro Meetup, 2020.02.Ihász Ingrid: A programmatic kiadói oldala. PPC Pro Meetup, 2020.02.
Ihász Ingrid: A programmatic kiadói oldala. PPC Pro Meetup, 2020.02.
 
Tech reggeli - API Economy
Tech reggeli - API EconomyTech reggeli - API Economy
Tech reggeli - API Economy
 
Adwords automatizáció - Szabó László - Growww Digital
Adwords automatizáció - Szabó László - Growww DigitalAdwords automatizáció - Szabó László - Growww Digital
Adwords automatizáció - Szabó László - Growww Digital
 
Weboldal optimalizálás A/B teszteléssel
Weboldal optimalizálás A/B tesztelésselWeboldal optimalizálás A/B teszteléssel
Weboldal optimalizálás A/B teszteléssel
 
A produktivitás téveszméje - az agilis a császár új ruhája
A produktivitás téveszméje  - az agilis a császár új ruhájaA produktivitás téveszméje  - az agilis a császár új ruhája
A produktivitás téveszméje - az agilis a császár új ruhája
 
T systems - agile workshop 1. session
T systems - agile workshop 1. sessionT systems - agile workshop 1. session
T systems - agile workshop 1. session
 
Ihász Ingrid: Programmatic a márkakampányokban
Ihász Ingrid: Programmatic a márkakampányokbanIhász Ingrid: Programmatic a márkakampányokban
Ihász Ingrid: Programmatic a márkakampányokban
 
Konverzió fókuszú landing oldal tervezés
Konverzió fókuszú landing oldal tervezésKonverzió fókuszú landing oldal tervezés
Konverzió fókuszú landing oldal tervezés
 
Momacc uzleti bemutato
Momacc uzleti bemutatoMomacc uzleti bemutato
Momacc uzleti bemutato
 
Task and time management with using REST Enabled SQL
Task and time management with using REST Enabled SQLTask and time management with using REST Enabled SQL
Task and time management with using REST Enabled SQL
 
Sok a szöveg?
Sok a szöveg?Sok a szöveg?
Sok a szöveg?
 
[Hungarian] Sysgenic Introduction - Sapientia University
[Hungarian] Sysgenic Introduction - Sapientia University[Hungarian] Sysgenic Introduction - Sapientia University
[Hungarian] Sysgenic Introduction - Sapientia University
 
Evolution 2016 - Programmatic a márkakampányokban - Ihász Ingrid
Evolution 2016 - Programmatic a márkakampányokban - Ihász IngridEvolution 2016 - Programmatic a márkakampányokban - Ihász Ingrid
Evolution 2016 - Programmatic a márkakampányokban - Ihász Ingrid
 
Klikkmánia - Ilyen legyen a weboldalad - seo és adwords szempontok - Evoluti...
Klikkmánia - Ilyen legyen a weboldalad - seo és adwords szempontok - Evoluti...Klikkmánia - Ilyen legyen a weboldalad - seo és adwords szempontok - Evoluti...
Klikkmánia - Ilyen legyen a weboldalad - seo és adwords szempontok - Evoluti...
 
Google Analytics webfejlesztőknek - Longhand
Google Analytics webfejlesztőknek - LonghandGoogle Analytics webfejlesztőknek - Longhand
Google Analytics webfejlesztőknek - Longhand
 
A weblap tervezés alap lépései - kisvállalkozói képzés
A weblap tervezés alap lépései - kisvállalkozói képzésA weblap tervezés alap lépései - kisvállalkozói képzés
A weblap tervezés alap lépései - kisvállalkozói képzés
 

Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013