Hiç ‘API’ kelimesini duydunuz mu? bunun tam olarak ne olduğunu merak ettiniz mi? Bir fikriniz var, ancak bir API ile neler yapabileceğinizi ve nasıl oluşturabileceğiniz hakkında bilgi mi istiyorsunuz?
İşte bu makale tam size göre; birçok yazılımcının veya yazılımla ilgisi olanın mutlaka bir yerde karşılaştığı ve duyduğu bir kelimedir API, yazılımınızı yazarken çok önemli bir yer tutar.
Application Programming Interface (API) Nedir?
Türkçemize “Uygulama Programlama Arayüzü” olarak çevrilen ve En temel anlamı ile, API’ler sadece uygulamaların birbirleriyle iletişim kurmasına izin verir.
Neden bir API’ye ihtiyacımız olsun?
Şu senaryoyu hayal edelim: Siz (uygulamanızda veya istemcinizde olduğu gibi, bu bir web sitesi de olabilir) başka bir uygulamanın verilerine veya işlevlerine erişmek istiyorsunuz. Örneğin, belki de #coderolog hashtag’inden bahseden tüm Twitter tweetlerine erişmek istersiniz.
Twitter’a e-posta gönderebilir ve tüm bu tweet’lerin bir elektronik tablosunu isteyebilirsiniz. Ancak o zaman bu elektronik tabloyu uygulamanıza aktarmanın bir yolunu bulmanız gerekir; ve bunları bizim gibi bir veritabanında saklasanız bile, veriler çok hızlı bir şekilde güncelliğini yitirir. Güncel tutmak imkansız olurdu.
İşte tamda bu yüzden, API’lere ihtiyaç duyarız. Ve API ile Twitter’ın, verilerini almak için uygulamalarını sorgulamanın bir yolunu sağlaması daha iyi ve daha basit olacaktır, böylece kendi uygulamanızda görüntüleyebilir veya kullanabilirsiniz. Bu şekilde otomatik olarak güncel kalır.
Herkese Açık, Web Tabanlı API’leri Kim Oluşturur?
Büyük teknoloji şirketleri, özellikle sosyal medya şirketleri sık sık toplu verilerini halka açık hale getirmekle birlikte, API’ler sosyal medya içeriğinden önemsiz sorulara, sıralamalara, haritalara, şarkı sözlerine, yemek tariflerine, parça listelerine ve daha fazlasına kadar sosyal medya içeriğinden herhangi bir şey paylaşmak için devlet kuruluşları, konferanslar, yayınevleri, yazılım startup’ları, eSpor ligleri ve hatta bireyler tarafından da Oluşturulmaktadır.
Kısacası, veri toplayan herhangi bir kişi veya kuruluş, bu verileri farklı bir uygulama tarafından kullanılabilir hale getirmekle ilgi sahibi olabilir.
Peki JSON nedir ve neden kullanıyoruz?
JSON, JavaScript Object Notation açılımına denk gelir ve temelde JavaScript nesnelerine benzeyen verileri temsil eden hafif bir veri formatıdır.
Pekişmesi için websitesimizin JSON örneğini inceleyelim, kısaca şuna benzer:
“site”: { “ismi”: “Coderolog”, “kategori”: “Yazılım, Bilişim, Teknoloji”, “website”: “https://coderolog.com", “email”: “destek@coderolog.com” }
Bunun okunması oldukça kolaydır – verilerimiz anahtar / değer çiftleri olarak tutulur. Bu, solda anahtarı ve sağda değeri görebileceğimiz anlamına gelir. Anahtar, her site nesnesi için aynı kalır, ancak değer farklı olacaktır. Farklı bir websitesinin farklı bir adresi olacaktır, ancak özellikleri aynı olacaktır – her zaman bir adı, kategorisi, website adresi ve e-postası olacaktır.
JSON, modern web uygulamalarında sıkça kullanılır. Okunabilir ve hafiftir ve JavaScript olduğu için JavaScript ile yazılmış uygulamalarla çok iyi çalışır. Ancak, başka dillerde yazılmış uygulamaları okumak ve oluşturmak için almak da nispeten kolaydır – Java dahil. Bu, JSON döndüren bir API’ye Java, Ruby, Python, JS, PHP ve daha pek çok yerde yazılmış bir uygulama tarafından erişilebileceği anlamına gelir. Bu, bir API’yi ölçeklenebilir ve platformdan bağımsız hale getirir. Aha! Ölçeklenebilir! Platform bağımsız! Bu sözler bir yazılımcı için bir nimet gibidir 🙂
Kendi API’mi oluşturmak istiyorum!
Harika fikir! Bir API oluşturmak için, Java Spark, JavaScript Express, C # için ASP.net, Ruby on Rails vb. Gibi sunucu tarafı web uygulaması programlama ve yönlendirme hakkında biraz bilgi sahibi olan hemen hemen tüm geliştiriciler kendi API’sini yazabilir.
Genel(Public) bir API oluşturmak için şunlara ihtiyacınız olacak:
- Uygulamanızın verilerini depolayabildiği bir veritabanı. Bu, MySQL veya Postgres gibi çalıştırdığınız bir veritabanı sunucusu veya Firebase gibi herhangi bir veritabanı olabilir.
- Bir de olmazsa olmaz bir sunucu, uygulamanızın çalıştırabileceği internet erişimine açık bir VPS (Sanal Sunucu). (Bunun için DigitalOcean, Amazon Web Services veya Microsoft Azure’a bakabilirsiniz Veya ücretsiz bir şekilde Herkoku kullanabilirsiniz)
Bazı Yararlanabileceğiniz API örnekleri!
Any API – 1400 den fazla açık kaynak ve ücretsiz Api
ProgrammableWeb – Kısaca Bir API sözlüğü diyebiliriz
Github – Her türlü açık kaynak uygulamanın ve API nin bulunduğu geliştirici facebooku
Bu yazımızın da sonuna geldik, sağlıcakla kalın…