Prihvatanjem potreba današnjih aplikacija kreiramo novi stil njihovog razvoja u kojem su podeljena zaduženja za skladištenje i prikazivanje podataka. Na jednoj strani imamo različite JS frejmvorke, mobilne i različite desktop aplikacije koji su isključivo zadužene za prikaz podataka i interakciju sa korisnicima; dok se s druge stane nalaze serverske aplikacije koje upravljaju skladištenjem i autorizacijom pristupa podacima. Dok je prva problematika veoma dobro obrađena i opisana u raznim knjigama i priručnicima, mnogi autori zapostavljaju problem razvoja kvalitetnog API-ja koji pokriva drugu stranu. Iz ovih razloga knjiga autora Phil Sturgeon-a “Build APIs You Won’t Hate” predstavlja pravo osveženje u programerskom svetu.
Ova knjiga je namenjena autorima koji imaju zadatak da razviju API po prvi put ili su ga ranije razvijali na potpuno pogrešan način. “Build APIs You Won’t Hate” namerava da vas provede kroz značajne odluke koje morate doneti dok planirate API za vašu aplikaciju. Ova knjiga će vas usmeriti kroz osnovne implementacije API-ja uz pomoć raznovrsnih praktičnih primera.
Za razumevanje predstavljenih principa kreiranja pouzdanog i dobro koncipiranog API-ja nije bitan programski jezik u kojem programirate i koji koristite za njegov razvoj. No bez obzira na to, autor je morao da se odluči za neki jezik u kojem će napisati primere kako bi ste mogli lakše da shvatite predstavljene koncepte. U knjizi Phil je primere napisao u programskom jeziku PHP, jeziku u kojem on svakodnevno programira.
Autor je organizovao knjigu u četrnaest poglavlja koja su u logičnom redosledu i prate tok događaja koji je poželjan dok se razvija API aplikacije.
Knjiga počinje objašnjenjima kako da kreirate “test podatke” koje ćete koristiti tokom razvoja aplikacije, planiranja, definisanje tačaka pristupa, kao i ulaznim/izlaznim parametrima sistema. Sledi objašnjenje kako testirati ponašanje API-ja i kako sakriti implementaciju podataka od njenog prikaza. Pregled svih postojećih metoda autentikacije korisnika u sistem sa detaljnom analizom prednosti i mana svake postojeće, postaviće vas u dobru poziciju sledeći put kad budete morali da odlučujete da li vam je neophodan OAuth 2.0 ili neko drugo rešenje.
Dokumentacija je stvar koju ni jedan programer ne voli da piše. Na žalost, pri kreiranju aplikacije sa kojom druge aplikacije moraju da komuniciraju, kompletno dokumentovana komunikacija više nije opcija koju je lepo imati, nego predstavlja nužnost. U ovoj knjizi, naučićete kako da prebrodite ovaj korak na najlakši mogući način uz pomoć postojećih alata koji su jednostavni za korišćenje. Oni će vam obezbediti neophodnu dokumentaciju, koja izgleda profesionalno uz minimalno zalaganje.
Na kraju, autor je stavio poglavlje u kojem objašnjava kako i zašto je potrebno omogućiti izvoz podataka u različitim formatima, kao što su JSON, XML, YAML, CSV… Ovde su odgovori na pitanja: Zašto je neophodno dozvoliti korisniku da bira format preuzimanja podataka i zašto je implementacija HATEOAS-a poslednji neophodan korak tokom razvoja da bi vaš API tehnički bio RESTful API.
“Build APIs You Won’t Hate” predstavlja autorov način implementacije API-ja, njegovog testiranja i načina kreiranja dokumentacije. Iako je napisana sa globalnim pristupom tako da je svi mogu čitati bez obzira na programski jezik u kojem rade, primeri koda dati u knjizi su mnogo praktičniji i korisniji nego što se mogu naći u raznim tutorijalima.
Kada razmatra format odziva API-ja, autor analizira i poredi API-je velikih kompanija, kao što su Facebook i Twitter, i njihovih proizvoda. Ovaj pristup je veoma koristan zato što nas upoznaje sa dobrim i lošim stranama njihovih implementacija.
Stil pisanja autora balansira između opisa kreiranja metodologije – davanja odgovora na pitanje zašto neke stvari treba da se urade na određeni način – i davanja konkretnih primera kako te stvari implementirati uz pomoć PHP-a i alata kreiranih od strane autora. Nedostatak konzistentnosti i zadržanja na samo jednoj strani je moja najveća zamerka knjizi, iako znam da mnogi smatraju da joj je to najveća prednost.
Knjiga rešava neke problema sa kojima ćete se suočiti prilikom razvoja API-ja i ja bih želeo da preporučim knjigu programerima koji nemaju nikakvog ranijeg iskustva u njegovom razvoju. Koristeći principe opisane u knjizi pronaći ćete mnoge prečice, koje nisu bile dostupne do pre nekoliko godina kada sam ja imao priliku i potrebu da razvijam svoj prvi API.
Sada krenite i pronađite svoju kopiju knjige Phil Sturgeon-a “Build APIs You Won’t Hate” i završite svoj posao lako i brzo.