Coderolog

Rest API Nedir ?

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.

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.

birçoğu kişi  ‘bir API’ den bahsettiklerinde, genelleme yaparlar ve aslında ‘muhtemelen JSON veya XML biçiminde veri döndüren, herkese açık web tabanlı bir API’ anlamına  geldiğini söylerler. Ancak API, veritabanı veya sunucu değildir, sunucunun erişim noktasını / noktalarını yöneten koddur.
API’ler sitelerimizin diğer uygulamalardaki verileri de değiştirmesine izin verir. Örneğin, çeşitli web sitelerinde muhtemelen ‘Facebook’ta Paylaş’ veya ‘Twitter’da Paylaş’ düğmelerini görmüşsünüzdür. Bu düğmelerden birine tıkladığınızda, ziyaret ettiğiniz site Facebook veya Twitter hesabınızla iletişim kurabilir ve yeni durum veya tweet ekleyerek verilerini değiştirebilir.

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:

  1. 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.
  2. 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…