Bir API'nin anlamı tam olarak nedir? [kapalı]


164

Bir programlama dilinde bir API tanımını aradım ve hala anlamakta zorlanıyorum.

Herkes basit, layman'ın terimleriyle bana tavsiyede bulunabilir mi?

  1. API nedir?
  2. Nasıl kullanılır?
  3. Ne zaman ve nerede kullanılır?

7
Önce FOLDOC'u denedin mi? foldoc.org/API Tanımları bana oldukça "layman" gibi geldi.
Ray Toal

@pst OP'nin Wikipedia'ya zaten baktığı için Wikipedia'yı kimin kontrol etmediği için bunu kabul ederdim? Wikipedia'yı kontrol etmeden önce FOLDOC'un 1995 tanımını kullanma olasılığı üzerine yanlış alay. Yorumu silmeli miyim?
Ray Toal

Bir layman açıklaması arıyorsanız, şunu deneyin: welcometosoftware.com/what-is-an-api (feragat: Ben yazdım)
Sam Malayek

Yanıtlar:


129

Aramalar, Uygulama Programlama Arayüzü gibi bir dizi programlama kavramı / terimi için şaşırtıcı derecede iyi olan Wikipedia'yı içermelidir :

API nedir?

Uygulama programlama arabirimi (API), yazılım programlarının birbirleriyle iletişim kurmak için izleyebilecekleri belirli bir kurallar dizisi ('kodu') ve belirtimleridir . Farklı yazılım programları arasında bir arayüz görevi görür ve kullanıcı arayüzünün insanlar ve bilgisayarlar arasındaki etkileşimi kolaylaştırmasına benzer şekilde etkileşimlerini kolaylaştırır.

Nasıl kullanılır?

Aynı şekilde, herhangi bir kural kümesi kullanılır.

Ne zaman ve nerede kullanılır?

Doğal olarak bölgeye ve API'ye bağlıdır. Bunları düşünün:

  1. X86 (IA-32) Komut Seti (çok faydalı ;-)
  2. Bir BIOS kesme çağrısı
  3. Genellikle C kütüphanesi olarak açılan OpenGL
  4. Çekirdek Windows sistem çağrıları: WinAPI
  5. Ruby'nin temel kütüphanesindeki Sınıflar ve Yöntemler
  6. Belge Nesne Modeli JavaScript tarayıcılar tarafından maruz
  7. Facebook'un Grafik API'sı tarafından sağlananlar gibi web hizmetleri
  8. Java'da JNI gibi bir protokolün uygulanması

Mutlu kodlama.


4
"Şaşırtıcı derecede iyi" çağrısı +1. Bilgi işlem için Wikipedia en üstte. Bazıları Wikipedia'nın Britannica'nın Doğaya göre karşılaştırmasını hatırlayabilir: '' 'Wall Street Journal'a göre: “[Galler] Doğa'nın bilimle ilgili temaları karşılaştırmayı seçtiğine memnun olduğunu söylüyor çünkü tarih ve sosyal bilimler konusunda çok zayıf.' Bilgisayar bilimi ve 'Star Trek' tarihi de dahil olmak üzere diğer alanlarda - Wikipedia 'çok daha iyi' diyor. '' '' '( Dailybarometer.com/forum/… )
Ray Toal

2
@ user166390 api'deki wikipedia girişi artık oldukça kötü ... apis yazıyorum ve bu giriş beni gerçekten şaşırttı. iyi bir şey yaptığınızı alıntıladınız, çünkü görünüşe göre çok daha kötüye gitti.
eric

Ben sormak istiyorum bir API istek url koymak koymak php dosyası bir API? Veya belki de ajax isteği kendisi zaten bir API?
Brownman Revival

API'ler Nesnelerin İnterneti için de kullanılıyor mu? Ya da IoT cihazları nasıl veri gönderip alıyor?
Pathros

57

API, bir başkasının koduna eriştiğiniz veya başka birinin kodunun size ait olduğu arayüzdür. Aslında kamusal yöntemler ve özellikler.


4
Bu son cümle dikkat çekicidir ve genişletilebilir ...
tumultous_rooster

45

1) API nedir?

API bir sözleşmedir. Belirli yollarla sorulduğunda tarif edilen hizmetleri gerçekleştirme sözü.

2) Nasıl kullanılır?

Sözleşmede belirtilen kurallara göre. Bir API'nin amacı, nasıl kullanıldığını tanımlamaktır.

3) Ne zaman ve nerede kullanılır?

Yalnız yapamayacakları bir şey elde etmek için 2 veya daha fazla ayrı sistemin birlikte çalışması gerektiğinde kullanılır.


44

Tüm cevaplara ek olarak, sadece bir örnek ekliyorum.

Başkalarının dediği gibi API stands for Application Programming Interfacegeçtiği softwares can interact with each other. Not, insan etkileşimi değil.

Nerede kullanılır?

Örnek: Kredi kartınız üzerinden çevrimiçi bir ürün satın alıyorsunuz. Kredi kartı bilgilerini vereceksiniz ve 'devam' düğmesine basacaksınız. Bilgilerinizin doğru olup olmadığını söyleyecektir. Bu sonuçları sağlamak için, arka planda çok şey var.

Uygulama, kredi kartı bilgilerinizi bilgilerinizi doğrulayacak ve sonucu tekrar uygulamanıza gönderecek uzak bir uygulamaya gönderecektir. Bu senaryoda API kullanılır.

Umarım API'nın ne olduğunu gerçekten anlamayan yeni başlayanlar için yardımcı olur.

BAŞKA BİR ÖRNEK

Hava durumu uygulaması

API olmadan - Weather uygulaması weather.com sitesini açmalı ve detayları bir insanın yaptığı gibi okumalıdır.

API ile - Weather uygulaması weather.com'a bir mesaj gönderir ve sonucu alır ve sonra görüntüler.

SOURCE - Çeşitli çevrimiçi kaynaklar


2
Günlük örnek Thanku ile açıkça açıkladı benim gibi tazeler için çok yararlı olacak
sai

yani bu durumda API benim istekleri üzerine veri gönderir weather.com? veya API, istekleri gönderen, verileri alan ve bir şekilde görüntüleyen uygulamam mı? veya API, weather.com ve uygulamamın ilişkisi mü?
Paweł

1
@ Paweł API veri isteyen uygulama olacak
Gibbs

@ Paweł Bu şekilde düşünün: Bir uygulama için iki arayüz vardır. İlk olarak, bir kullanıcı için kullanıcı arayüzü (arayüz). İkincisi, başka bir uygulama programının API'sidir (arabirim). Böylece, weather uygulaması ve weather.com arasındaki API weather.com'dur.
vpibano

15
  1. bir API (Uygulama Programlama Arayüzü), temeldeki işletim sistemiyle veya bilgisayarda çalışan başka bir program veya hizmetle arabirim oluşturmak için tanımlanmış bir dizi işlev ve yöntemdir.

  2. Genellikle yazılımınızdaki bir kütüphaneye bir referans oluşturarak veya bir dll'den bir fonksiyonu içe aktararak kullanılır.

  3. Hemen hemen tüm yazılımlarda, programınızda açıkça veya derleyici tarafından dolaylı olarak çağrılarak bir biçimde veya başka bir şekilde kullanılır.


10

API, Uygulama Programlama Arayüzü anlamına gelir; yani API, bir uygulamanın belirli sistem / uygulama / kütüphane / vb.

Örneğin, işletim sistemi için API'ler (WinAPI), diğer uygulamalar (veritabanları gibi) ve belirli kütüphaneler için API'ler (örneğin görüntü işleme) vb. Vardır.

API'ler genellikle bir istemci uygulaması tarafından tüketilebilir bir biçimde geliştirilir. C / C ++ uygulamaları için bir başlık dosyaları seti ve dinamik / statik kütüphaneler. Java için - kavanoz seti. Ve bunun gibi.


API'ler Nesnelerin İnterneti için de kullanılıyor mu? IoT cihazları nasıl veri gönderip alıyor?
Pathros

7

Birbirleriyle etkileşime giren bir yazılım bileşenleri kümesidir. Bir uygulamanın, işletim sisteminin veya başka bir şeyin oluşturulması için bir dizi işlev, değişken ve nesne sınıfı sağlar.


6

Layman'ın terimleriyle, her zaman bir API'nın farklı dilleri konuşan iki kişi arasında bir çevirmen gibi olduğunu söylemiştim. Yazılımda, veriler iki farklı tür yazılımın iletişim kurabilmesi için bir API (veya çevirmen) kullanılarak tüketilebilir veya dağıtılabilir. İyi bir yazılım, güvenlik ve veri temizliği için kuralları ve protokolleri izleyen güçlü bir çevirmene (API) sahiptir.

Ben bir pazarlamacıyım, bir kodlayıcı değil. Bu tamamen doğru olmayabilir, ama yaklaşık 10 yıldır ifade etmeye çalıştığım şey ...


5

API, programcıların belirli bir işletim sistemi veya başka bir yazılım için yazılım oluştururken kullanabileceği bir dizi komut, işlev ve protokoldür. API, programcıların işletim sistemiyle etkileşimde bulunmak için önceden tanımlanmış işlevleri sıfırdan yazmak yerine kullanmalarını sağlar. Windows, Unix ve Mac OS gibi tüm bilgisayar işletim sistemleri ve Java gibi dil, programcılar için bir uygulama programı arabirimi sağlar.

Kaynak


5

Bu durumu kabul edin:

Mark ve Lisa gizlice bir çifttir ve yaş farkı nedeniyle birlikte olmalarına izin verilmez. Mark ve Lisa her gece kimsenin izlemediği zamanlarda buluşurlar. Zamanı geldiğinde nasıl iletişim kuracaklarını kendi kurallarını belirlediler. Bahçesinde duruyor ve küçük kayayı penceresine atıyor. Lisa zamanın geldiğini biliyor ve pencereden sallayıp daha sonra onu açarak yanıt veriyor, böylece Mark tırmanabiliyor. Kaya, başka bir son için ilk istektir. Başka bir uç dalga, temelde "Hoş Geldiniz!" Anlamına gelen pencereyi açar.

API neredeyse insan dili gibidir, ancak bilgisayarlar içindir.


3

Bir API, bir yazılım parçasının kaynak seviyesinde başka bir yazılımla iletişim kurduğu arayüzleri tanımlar. Bir yazılım parçasının (genellikle daha üst seviye bir parça) başka bir yazılım parçasından (genellikle daha alt seviye bir parça) çağırabileceği standart bir arabirim seti (genellikle işlevler) sağlayarak soyutlama sağlar.

Örneğin, bir API, metni çizmek için gereken her şeyi sağlayan bir işlevler ailesi aracılığıyla ekranda metin çizme kavramını soyutlayabilir. API yalnızca arayüzü tanımlar; gerçekte API sağlayan yazılım parçası API'nın uygulanması olarak bilinir.

Bir API'yı "sözleşme" olarak adlandırmak yaygındır. Bir API iki yönlü bir anlaşma olmadığı için bu, en azından terimin yasal anlamında doğru değildir. API kullanıcısı (genellikle, daha üst düzey yazılım) API ve uygulamasına sıfır girdi içerir. API'yı olduğu gibi kullanabilir veya hiç kullanmayabilir: al veya bırak!

Bir API'nin gerçek dünyadaki örneği, C standardı tarafından tanımlanan ve standart C kütüphanesi tarafından uygulanan arayüzlerdir. Bu API, bellek yönetimi ve dize düzenleme yordamları gibi temel ve temel işlevlerin bir ailesini tanımlar.


0

Diyelim ki bir oyun geliştiriyorsunuz ve oyun kullanıcısının oynatmadan önce facebook profiline (profil bilgilerinizi almak için) giriş yapmasını istediğinizi varsayalım, oyununuz facebook'a nasıl erişecek? Şimdi API geliyor. Facebook bunu yapmanız için zaten programı (API) yazdı, sadece oyun uygulamanızda bu programları kullanmanız gerekiyor. Facebook-API kullanarak hizmetlerini uygulamanızda kullanabilirsiniz. ve API ile ilgili ayrıntılı görünüm ... http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm


3
Ve aslında NE olduğunu söylemediniz ...:} Ve daha çok bir program gibi değil, sadece bir arayüz. Bazı programlarla başa çıkma yolu.
Kamiccolo

-1

Uygulama programı arayüzü (API) , yazılım uygulamaları oluşturmak için kullanılan bir dizi rutin, protokol ve araçtır. Bir API, grafik kullanıcı arabirimi (GUI) bileşenlerini programlarken yazılım bileşenlerinin nasıl etkileşime girmesi gerektiğini ve API'lerin nasıl kullanılacağını belirtir. İyi bir API, tüm yapı taşlarını sağlayarak bir program geliştirmeyi kolaylaştırır. Daha sonra bir programcı blokları bir araya getirir.

kaynak: http://www.webopedia.com/TERM/A/API.html

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.