செயலி நிரலாக்க இடைமுகம்: திருத்தங்களுக்கு இடையிலான வேறுபாடு

உள்ளடக்கம் நீக்கப்பட்டது உள்ளடக்கம் சேர்க்கப்பட்டது
சி தானியங்கிமாற்றல்: uk:Прикладний програмний інтерфейс
சி தானியங்கி: விக்கி கவினுரை
வரிசை 2:
{{Redirect|API}}
{{Copyedit|date=December 2008}}
ஒரு '''பயன்பாட்டு நிரல்படுத்தல் இடைமுகம்''' (Application Programming Interface - '''API''' ) என்பது மனிதர்களுக்கும், கணினிகளுக்கும் இடையில் தொடர்புகொள்ள வசதியை ஏற்படுத்தி அளிக்கும் ஒரு [[பயனர் இடைமுகத்தைப்]] போலவே, பிற மென்பொருளுடன் தொடர்பை ஏற்படுத்த ஒரு [[மென்பொருள் நிரலால்]] நிறுவப்படும் ஓர் [[இடைமுகமாகும்]]. ஏபிஐ ஆனது [[நிரலாளர்]] அவர்களின் சேவைகளில் பயன்படுத்துவதற்காக நிறுவ வேண்டிய சொற்கள் மற்றும் [[அழைப்பு தொகுப்புகள்]] போன்றவற்றை வரையறுக்க [[பயன்பாடுகளாலும்]], [[நூலகங்களாலும்]] மற்றும் [[இயங்குதளங்களாலும்]] நிறுவப்படுகின்றன. இது வாடிக்கையாளருக்கும், ஏபிஐ-ன் நிறுவுனருக்கும் இடையில் தொடர்புகொள்வதற்கு பயன்படுத்தப்படும் [[வழக்கமான செயல்முறைகள்]], [[தரவு அமைப்புகள்]], [[ஆப்ஜெக்ட் பிரிவுகள்]] மற்றும் [[நெறிமுறை]]களுக்கான தொழிற்குறிப்புகளை உள்ளடக்கி இருக்கும்.<ref>{{cite web|
title=Application Program Interface|
url=http://foldoc.org/Application+Program+Interface|
publisher=[[Free On-line Dictionary of Computing]]|
date=1995-02-15|
accessdate=2009-06-28}}</ref><ref>{{cite web|
title=Definition of: API|
url=http://www.pcmag.com/encyclopedia_term/0,2542,t=application+programming+interface&i=37856,00.asp|
publisher=[[PC Magazine]]|
year=1996|
accessdate=2009-06-28}}</ref><ref>{{cite web|
வரிசை 17:
url=http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=43487|
title=QuickStudy: Application Programming Interface (API)|
publisher=[[Computerworld]]|
date=2000-01-10|
accessdate=2009-06-04}}</ref>
வரிசை 23:
== கொள்கை ==
 
ஒரு ஏபிஐ என்பது ஒரு [[கருத்துப்பொருள்]], இது ஒரு [[மென்பொருள் அமைப்பின்]] ஆக்ககூறுகளால் பயன்படுத்தப்படும் செயல்முறைகளின் ஒரு தொகுப்புடன் தொடர்புகொள்வதற்கான ஓர் [[இடைமுகத்தை]] வரையறுக்கிறது மற்றும் விளக்குகிறது. ஒரு ஏபிஐ-யினால் எழுதப்பட்டிருக்கும் செயல்பாடுகளை அளிக்கும் மென்பொருளை, ஏபிஐ-ன் ஒரு ''நிறுவுதல்'' என்று கூறப்படும்.
 
ஒரு ஏபிஐ இவ்வாறு இருக்கலாம்:
* பொதுவானதாக இருக்கக்கூடும், ஒரு நிரல்மொழியின் நூலகங்களில் தொகுக்கப்பட்ட ஏபிஐ-ன் முழு தொகுப்பாக இருக்கலாம் (எடுத்துக்காட்டு, C++ அல்லது [[Java ஏபிஐ]]-ல் இருக்கும் [[தரமுறைப்பட்ட வார்ப்புரு நூலகம்]])
 
* பிரத்யேகமானதாக இருக்கலாம், [[கூகுள் வரைப்பட சேவையின் ஏபிஐ]] அல்லது [[XML வலை சேவைகளுக்கான ஜாவா ஏபிஐ]] போன்ற ஒரு குறிப்பிட்ட பிரச்சினையைக் கவனிப்பதற்காக இருக்கலாம்.
 
* மொழி சார்ந்திருக்கலாம், அளிக்கப்பட்ட நிரல்மொழியில் மட்டும் இருக்கும். இது ஏபிஐ-ஐ இந்த விதத்தில் பயன்படுத்த வசதியாக மாற்றுவதற்காக அந்த மொழியின் தொடரமைப்பு மற்றும் ஆக்கக்கூறுகளைப் பயன்படுத்துவதால் மட்டுமே செயல்படும் வகையில் அமைக்கப்பட்டிருக்கும்.
 
* மொழி சார்ந்தில்லாமல் இருப்பது, பல்வேறு நிரல்மொழிகளின் மூலமாக அதை அழைக்க கூடிய வகையில் எழுதப்பட்டிருக்கும். இது ஒரு குறிப்பிட்ட செயல்முறை அல்லது அமைப்புமுறையைச் சார்ந்தில்லாமலும், [[தொலைதூர செயல்முறை அழைப்புகள்]] அல்லது [[வலை சேவைகளாக]] அளிக்கப்படக்கூடிய வகையிலும் இருக்கும் ஒரு [[சேவை-சார்ந்த]] ஏபிஐ-க்காக விரும்பப்படும் வசதியாகும்.
 
எடுத்துக்காட்டாக, பயனர்களுக்கு உள்ளூர் உணவகங்களைப் பார்வையிட அனுமதிக்கும் ஒரு வலைத்தளம், கூகுள் நிலவரைப்படங்களில் இருந்து எடுக்கப்பட்ட வரைபடங்கள் மீது அவற்றின் பக்கங்களை அடுக்க முடியும், ஏனென்றால் கூகுள் மேப்ஸ் கொண்டிருக்கும் ஒரு ஏபிஐ, அதை அனுமதிக்கிறது. மூன்றாவது நிறுவனத்தின் வலைத்தளம் என்ன தகவலைப் பெற முடியும் என்பதையும், அதைக் கொண்டு என்ன செய்ய முடியும் என்பதன் மீதும் கூகுள் MAPS ஏபிஐ கட்டுப்பாட்டைக் கொண்டிருக்கிறது.
வரிசை 40:
== விபரமான விளக்கம் ==
அதன் எளிய வடிவத்தில், ஒரு ஏபிஐ ஒரு குறிப்பிட்ட பிரச்சினைக்குத் தீர்வு கூறும் ஒரு நூலகத்தில் சேர்க்கப்பட்ட ஒரு செயல்பாடுகளின் ஒரு தொகுப்பின் விளக்கத்தைக் கொண்டிருக்கும் ஒரு பட்டியலைக் கொண்டிருக்கக்கூடும்.
எடுத்துக்காட்டாக, [[யூனிக்ஸ்]] சிஸ்டங்களில் [[C மொழி]]க்கானமொழிக்கான <code>math.h</code> என்ற [[இன்க்லூட் கோப்பு]] (include file), கணக்கியல் செயல்முறைக்கான C மொழி நூலகத்தில் (பொதுவாக இது <code>libm</code> என்று அழைக்கப்படுகிறது) இருக்கும் கணிதவியல் செயல்பாடுகளின் வரையறைகளைக் கொண்டிருக்கும்.<code></code>
<code><code>The [[man pages]] associated to it contain a textual description on how to use these functions and the expected result for the function invocation.</code></code>
<code><code>எடுத்துக்காட்டாக, ஒரு [[யூனிக்ஸ்]] சிஸ்டத்தில் கட்டளை <code>உதவி 3 வர்க்கம்</code> (man 3 sqrt) என்பது அந்த படிவத்தில் <code>வர்க்க</code> செயல்பாட்டிற்கான அங்கீகாரத்தை அளிக்கும்:</code></code>
<code><code><source lang="C"></code></code>
<code><code>SYNOPSIS</code></code>
வரிசை 59:
இருந்தபோதினும், C மொழியால் பயன்படுத்தப்பட்ட இன்க்லூட் கோப்புகளின் தொகுப்பாகவே இந்த விஷயத்தில் ஏபிஐ குறிப்பிடப்படுகிறது, மேலும் மனிதர்களால் வாசிக்கக்கூடிய அளவில் இருக்கும் அதன் விபரங்கள் உதவி (man) பக்கங்களால் அளிக்கப்பட்டன.
 
[[ஆப்ஜெக்ட் சார்ந்த]] மொழிகளில் ஒரு ஏபிஐ பொதுவாக, பிரிவுகளோடு தொடர்புடைய ''நடவடிக்கைகளின்'' ஒரு தொகுதியோடு [[வகுப்பு]] விபரங்களின் ஒரு தொகுதியின் ஒரு விபரத்தைக் கொண்டிருக்கும்.
ஒரு ''நடவடிக்கை'' என்பது அந்த பிரிவில் இருந்து பெறப்பட்ட ஒரு ஆப்ஜெக்ட் அளிக்கப்பட்ட சுழலில் எவ்வாறு நடந்து கொள்கிறது என்பதன் ஒரு விபரமாகும். இந்த மறைந்திருக்கும் கருத்து, உண்மையான [[வகுப்பு முறைகளின்ப]]டிமுறைகளின்படி நிறுவப்பட்டிருக்கும் பிரிவுகளால் எடுத்துக்காட்டப்படும் நிஜமான செயல்பாடுகளோடு தொடர்புபட்டிருக்கும்.
 
வகுப்புகளால் வெளிப்படையாக வெளியிடப்பட்ட அனைத்து முறைகளின் ''கூட்டுத்தொகையாக'' , இந்த விஷயத்தில் ஏபிஐ கருதப்படுகிறது (பொதுவாக வகுப்பு ''இடைமுகம்'' என்றழைக்கப்படுகிறது). ஏபிஐ இந்த முறைகளை முன்னுரைக்கிறது என்பதையே இது குறிக்கிறது, இதன் ''மூலம்'' இது வகுப்பு வரையறைகளில் இருந்து பெறப்பட்ட ஆப்ஜெக்ட்களைக் ''கையாள்கிறது'' .
வரிசை 67:
இந்த ''பயன்'' மீண்டும் பொது முறைகளால் மத்தியஸ்தம் செய்யப்படுகின்றன, ஆனால் இந்த மாற்றத்தில், நடவடிக்கை எவ்வாறு நிறுவப்படுகிறது என்ற தொழில்நுட்ப விபரமாகவே முறைகள் பார்க்கப்படுகின்றன.
 
எடுத்துக்காட்டாக: ஓர் <code>[[அடுக்கைக்]]</code> (stack) குறிக்கும் ஒரு பிரிவு பொதுப்படையாகவே இரண்டு முறைகளை, அதவாது <code>push</code> (அடுக்கால் புதிய பொருளைச் சேர்ப்பதற்கானது) மற்றும் <code>pop</code> (அடுக்கின் முதலிடத்தில் வெறுமனே இருக்கும் கடைசி பொருளை பிரித்தெடுப்பதற்கானது) ஆகியவற்றை வெளிப்படுத்தும்.
 
இந்த விஷயத்தில் ஏபிஐ இரண்டு முறைகளால், அதாவது <code>pop()</code> மற்றும் <code>push()</code> ஆகியவற்றால் குறிப்பிடப்படுகின்றன, அல்லது மிக பொதுவாக ஒரு <code>அடுக்கின்</code> (ஆக்கக்கூறுகளை சேர்ப்பதற்கு/நீக்குவதற்கு அதன் தலைப்பகுதியில் ''வெளிப்படுத்தும்'' ஒரு குவியல்) நடவடிக்கையை நிறுவும் அடுக்கு வகையின் ஒரு பொருளை ஒருவர் பயன்படுத்தலாம் என்ற யோசனையாக இது குறிப்பிடப்படும்.
 
எவ்வித முறைகளையும் கொண்டிருக்காமல், ஆனால் நடவடிக்கைகளோடு மட்டும் தொடர்புடைய ஒரு ஏபிஐ-ல் இருக்கும் ஒரு பிரிவு இடைமுகம் வரைக்கும் இந்த முறையைத் தள்ளிக் கொண்டு செல்லலாம்.
எடுத்துக்காட்டாக, [[ஜாவா மொழி]] ஏபிஐ ஆனது <code>சீரியலைசபிள்</code> (Serializable) என்ற [[இடைமுகத்தைக்]] கொண்டிருக்கிறது, இது எப்போதும் [[சீரியலைசபிளாக]] இருக்கக்கூடிய வகையில் நிறுவுதல்களைக் கொண்டிருக்கும் பிரிவை எதிர்பார்க்கும் ஓர் இடைமுகமாகும்.
இதற்கு எவ்வித பொதுவான முறையும் தேவைப்படுவதில்லை, மாறாக எந்த நேரத்திலும் சேமிக்கப்படக்கூடிய ஒரு குறியீட்டைக் கொண்டிருக்க வகுப்பு அனுமதிகள் தேவைப்படுகிறது (ஒரு கோப்பிற்கான ஒரு (திறந்த) ''இணைப்பு'' , ஒரு தொலைதூர அமைப்புமுறை அல்லது ஒரு புறச்சாதனம் போன்ற புற ஆதாரங்களோடு ''தொடர்பு'' இல்லாத மற்றும் எளிய தரவுகளைக் கொண்டிருக்கும் எவ்வித பிரிவுக்கும் இது குறிப்பிடத்தக்களவில் நிஜமாகும்).
 
இந்த வகையில், [[ஆப்ஜெக்ட் சார்ந்த]] மொழிகளில், ஒரு நடக்கைத் தொகுப்போடு ஏபிஐ ''முரண்படுகிறது'' , சாத்தியப்படும் வகையில் இது வகுப்பு முறைகளின் ஒரு தொகுதியால் மத்தியஸ்தம் செய்யப்பட்டதாக இருக்கும்.
 
[[ஆப்ஜெக்ட் சார்ந்த]] மொழிகளில், ஏபிஐ தொடர்ந்து நூலகங்களின் வடிவத்தில் வினியோகிக்கப்படுகிறது. மாறாக, ஆவணமுறை பொதுவாக சில எளிய உதவி பக்கங்களின் வடிவத்தில் அளிக்கப்படுவதில்லை, ஆனால் பெரும்பாலும் ஆவணங்கள் ஓர் உயர்தர மற்றும் சிக்கலான தொகுப்பாகவே வழங்கப்படுகின்றன.
எடுத்துக்காட்டாக, ஜாவா மொழி நூலகங்கள் ஒரு ஏபிஐ தொகுப்பை உள்ளடக்கி இருக்கும், இந்த தொகுப்பு புதிய ஜாவா நிரல்களை உருவாக்க அபிவிருத்தியாளர்களால் பயன்படுத்தப்பட்ட [[JDK]] வடிவத்தில் அளிக்கப்பட்டிருக்கும். இந்த JDK ஆனது, [[Javadoc]] குறிப்புரையில் ஏபிஐ-ன் ஆவணமுறையை உள்ளடக்கி இருக்கும்.
ஒரு ஏபிஐ-யோடு தொடர்புபட்டிருக்கும் ஆவணமுறையின் தரம், பெரும்பாலும் அதன் வெற்றியை தீர்மானிக்கும் ஒரு காரணியான ''எளிய பயன்பாட்டைச்'' சார்ந்திருக்கும்.
 
== இணைய ஏபிஐ-கள் ==
{{Main|web service}}
[[இணைய அபிவிருத்தி]]யின்அபிவிருத்தியின் நோக்கில் பயன்படுத்தப்பட்டால், ஒரு ஏபிஐ என்பது பதில் சேதிகளின் கட்டமைப்பு பற்றிய ஒரு வரையறைகளுடன் சேர்ந்து, மீயுரை பரிமாற்ற நெறிமுறை ([[HTTP]]) கோரிக்கை சேதியின் ஒரு தொகுப்பாக வரையறுக்கப்படும், பொதுவாக இந்த பதில் சேதிகள் விரிவார்ந்த மார்க்அப் மொழி ([[XML]]) அல்லது ஜாவாஸ்க்ரிப்ட் ஆப்ஜெக்ட் குறிப்பு ([[JSON]]) வடிவத்தில் குறிப்பிடப்பட்டிருக்கும். "வலைத்தள ஏபிஐ" மெய்நிகரளவில் [[வலைச்சேவை]]க்கானவலைச்சேவைக்கான ஓர் இணைபொருட்சொல்லாகும், சமீபத்திய போக்கு ([[வலை 2.0]] என்றழைக்கப்படுவது) எளிய ஆப்ஜெக்ட் அணுகும் நெறிமுறை ([[SOAP]]) அடிப்படையிலான சேவைகளில் இருந்து மிக நேர்த்தியாக [[பிரதிநிதித்துவப்படும் நிலை மாற்றம்]] (Representational State Transfer - REST) பாணி தொடர்புகளை<ref>
{{cite web
|first = Djamal
வரிசை 108:
|quote =
}}
</ref> நோக்கி நகர்ந்து கொண்டிருக்கிறது. வலைத்தள ஏபிஐ-கள், பல்வேறு சேவைகளின் கலவையை [[மாஸ்அப்கள்]]<ref>
{{cite web
|first =
வரிசை 171:
 
== நிறுவுதல்கள் ==
[[POSIX]] தரமுறை ஒரு ஏபிஐ-ஐ வரையறுக்கிறது, பல்வேறு வெவ்வேறான அமைப்புமுறைகளில் ([[மேக் இயங்குத்தளம் X]] மற்றும் பல்வேறு [[பெர்க்லே மென்பொருள் வினியோகங்கள்]] (BSD-கள்) இந்த இடைமுகத்தை நிறுவுகின்றன) செயல்படுவதற்கேற்ற வகையில் பொதுவான கணினியியல் செயல்பாடுகளின் பல வகைகளை எழுத இது அனுமதிக்கிறது; எவ்வாறிருப்பினும், இதை பயன்படுத்த ஒவ்வொரு பணித்தளத்திற்கும் ஏற்ற வகையில் [[மறு-தொகுப்பாக்கம்]] செய்ய வேண்டியதிருக்கும். மற்றொருபுறம் ஒரு பொருத்தமான ஏபிஐ, எந்த அமைப்புமுறையிலும் அந்த API-ஐ நிறுவுவதன் மூலமாக எவ்வித மாற்றங்களும் இல்லாமல் செயல்படுத்த தொகுக்கப்பட்ட [[ஆப்ஜெக்ட் குறியீட்டை]] அனுமதிக்கிறது. தேவையான ஏபிஐ-களை நிறுவியதுடன் இதற்கு பல்வேறு மென்பொருள் நூலகங்கள் தேவைப்பட்டாலும் கூட, இது மென்பொருள் வழங்குனர்களுக்கும் சரி (இங்கே இவர்கள் மேற்பதிப்புகளை உருவாக்க/வினியோகிக்க வேண்டிய அவசியமில்லாமல் புதிய அமைப்புகளுக்காக இருக்கும் மென்பொருளையே வினியோகிக்க முடிகிறது) , பயனர்களுக்கும் சரி (இங்கே இவர்கள் மேற்பதிப்புகளை வாங்காமலேயே தங்களின் புதிய அமைப்புகளில் பழைய மென்பொருளையே நிறுவ முடிகிறது.) ஆதாயமளிக்கிறது.
 
"பொருத்தமான நிலை"<ref>
வரிசை 197:
|accessdate =
|quote =
}}</ref> (Compatibility Mode) என்றழைக்கப்படும் ஒரு குறிப்பிட்ட-செயல்பாட்டு அமைப்புகளைப் பயன்படுத்தி பழைய பயன்பாடுகள் விண்டோஸின் புதிய பதிப்புகளில் செயல்படும் வகையில் பழையவற்றிற்கு பொருத்தமான ஒரு ஏபிஐ-க்கு, குறிப்பாக தங்களின் [[விண்டோஸ் API]] (Win32) நூலகத்திற்கு பொருத்தமான ஒரு API-க்கு, பொறுப்பேற்க [[மைக்ரோஃசாப்ட்]] ஆர்வம் காட்டியுள்ளது. இந்த விஷயத்தில் [[ஆப்பிள் இன்க்.]] குறைந்தளவே அதன் நிலைச்சார்பைக் காட்டியுள்ளது, அதாவது பொருந்தும்தன்மையை முற்றிலுமாக உடைப்பது அல்லது ஒரு ஏபிஐ-ஐ ஒரு மெதுவான "முன்மாதிரி நிலையால்" (emulation mode) நிறுவுவது; இது பழைய மென்பொருளைப் புறக்கணிக்கும் நிலையை ஏற்படுத்தி, அபிவிருத்தியில் வேகமான சுதந்திரத்தை அனுமதிக்கிறது. {{Citation needed|date=January 2010}}
 
[[யூனிக்ஸ் போன்ற]] இயங்குதளங்கள் மத்தியில், இதைச் சார்ந்த பல உள்ளன, ஆனால் ஒரு பொதுவான வன்பொருள் பணித்தளத்தில் ((குறிப்பாக, [[இன்டெல் 80386]] பொருந்திய அமைப்புகளில்) இயங்கும் இயங்குத்தளங்களுக்கு பொருந்தாமல் இருக்கின்றன. மென்பொருள் வழங்குனர்கள் அனைத்து அமைப்புகளுக்கும் ஒரே பைனரி பயன்பாட்டை வினியோகிக்கும் வகையில் ஏபிஐ-ஐ தரமுறைப்படுத்த பல்வேறு முயற்சிகள் நடந்து வருகின்றன; இருப்பினும் இன்று வரை, இதில் எதுவுமே வெற்றியடையவில்லை. [[லினக்ஸ் தரமுறை அடித்தளம்]] இதை [[லினக்ஸ்]] பணித்தளத்திற்கு ஒத்தவகையில் செய்ய முயற்சித்து வருகிறது, இதற்கிடையில் பல்வேறு யூனிக்ஸ் போன்ற BSD-கள் ([[FreeBSD]], [[NetBSD]], [[OpenBSD]]), பழையதற்கு பொருத்தமாகவும் (அமைப்புகளின் புதிய வினியோகங்களில் செயல்படும் வகையில் பழைய பதிப்புகளுக்காக எழுதப்பட்ட நிரல்களை அனுமதிக்கிறது), பல்வேறு-பணித்தளத்திற்கு பொருத்தமாகவும் (மறு-தொகுப்பிடுதல் இல்லாமல் வெளிநாட்டு குறியீட்டிற்கான செயல்பாட்டை அனுமதிக்கிறது) அமையும் வகையில் ஏபிஐ பொருந்தும்தன்மையின் பல்வேறு நிலைகளை நிறுவுகின்றன.
 
== வெளியீட்டு கொள்கைகள் ==
வரிசை 205:
 
* நிறுவனங்கள் நிறுவனத்திற்கு வெளியில் இருக்கும் யாருக்கும் ஏபிஐ தகவல்களை வெளியிடாது.
* நிறுவனங்கள் அவற்றின் ஏபிஐ-கள் பற்றிய தகவல்களைப் பொதுமக்களிடம் இருந்து பாதுகாக்கும். எடுத்துக்காட்டாக, [[சோனி]] அதன் உரிமம் பெற்ற பிளேஸ்டேஷன் அபிவிருத்தியாளர்களுக்கு மட்டும் கிடைக்கும் வகையில் அதன் உத்தியோகப்பூர்வமான [[பிளேஸ்டேஷன் 2]] ஏபிஐ-ஐ பயன்படுத்தியது. இது யார் பிளேஸ்டேஷன் 2 [[விளையாட்டு]]க்களை எழுதினார்கள் என்பதைக் கட்டுப்பாட்டில் வைத்திருக்க சோனி நிறுவனத்திற்கு உதவியது. இதுபோன்ற கட்டுப்பாடுகள் தர கட்டுப்பாட்டு ஆதாயங்களையும், முக்கியமான உரிம வருவாய்களையும் கொண்டிருக்கக்கூடும்.
* நிறுவனங்கள் தங்களின் ஏபிஐ-கள் இலவசமாக கிடைக்கும்படி செய்யும். எடுத்துக்காட்டாக, [[மைக்ரோஃசாப்ட்]] நிறுவனம் அதன் [[மைக்ரோஃசாப்ட் விண்டோஸ்]] ஏபிஐ-ஐ பொதுப்படையாக வெளியிட்டது மற்றும் [[ஆப்பிள்]] அதன் API-களான [[கார்பன்]] மற்றும் [[கோக்கோ]] ஆகியவற்றை வெளியிடுகிறது, இதன் மூலமாக அவர்களின் [[பணித்தளங்களுக்கான]] மென்பொருட்களை எழுத முடியும்.
 
== ABI-கள் ==
[[பயன்பாட்டு பைனரி இடைமுகம்]] (Application Binary Interface - ABI) என்ற வார்த்தை, [[அசெம்பிளி மொழி]] மட்டத்தில் விபரங்களைக் கொண்டிருக்கும் ஒரு குறைந்த மட்டத்திலான வரையறையாகும். எடுத்துக்காட்டாக, [[லினக்ஸ் தரமுறை அடித்தளம்]] என்பது ஒரு ABI ஆகும், ஆனால் [[POSIX]] ஓர் ஏபிஐ ஆகும்.<ref>{{cite web|
first=Nick|
last=Stoughton|
url=https://db.usenix.org/publications/login/2005-04/openpdfs/standards2004.pdf|
title=Update on Standards|
publisher=[[USENIX]]|
format=PDF|
year=2005|
வரிசை 222:
== ஏபிஐ எடுத்துக்காட்டுகள் ==
<div>
* [[SCSI]] சாதன இடைமுகத்திற்கான [[ASPI]]
* [[மேக்கின்டோஷிற்கான]] [[கார்பன்]] மற்றும் [[கோக்கோ]]
* [[மைக்ரோஃசாப்ட் விண்டோஸிற்கான]] [[DirectX]]
* [[ஜாவா ஏபிஐ-கள்]]
* [[OpenGL]] பன்முக-பணித்தள கிராபிக்ஸ் ஏபிஐ
 
* [[OpenAL]] பன்முக-பணித்தள ஒலி ஏபிஐ
* CPUs &amp; GPU-களுக்கான பொதுப்பயன்பாட்டு கணினியியலுக்கான [[OpenCL]] பன்முக-பணித்தள ஏபிஐ
* [[சிம்பிள் டைரக்டுமீடியா லேயர்]] (SDL)
* [[விண்டோஸ் ஏபிஐ]]
</div>
 
== மொழி இணைப்புகளும், இடைமுக பிறப்பிகளும் ==
ஒன்றுக்கு மேற்பட்ட [[உயர்-மட்ட நிரல்படுத்தல் மொழி]]யால்மொழியால் பயன்படுத்தப்படும் வகையில் அமைக்கப்பட்டிருக்கும் ஏபிஐ-கள், பெரும்பாலும் தானாகவே API-களின் வசதிகளைப் பொருத்தி வைக்கும் வசதிகளை அளிக்கும், அல்லது வளர்ச்சியுடன் தொடர்புபட்டிருக்கும், இந்த வசதிகள் அவற்றின் மொழியில் மிகவும் இயல்பாக இருக்கும். இதுவே [[மொழி இணைப்புகள்]] எனப்படுகின்றன, இதுவே ஒரு ஏபிஐ-ம் ஆகும். தேவைப்படும் பெரும்பாலான API-ன் வசதிகளை [[உள்ளடக்கி வைப்பதே]] இதன் நோக்கமாகும், இது ஒவ்வொரு மொழிக்கும் பொருத்தமான ஒரு "மெல்லிய" அடுக்கை விட்டு வைக்கிறது.
 
[[தொகுக்கும் நேரத்தில்]] ஏபிஐ-களுடன் மொழிகளை இணைக்கும் இடைமுக உருவாக்கி கருவிகள் சிலவை கீழ கொடுக்கப்பட்டுள்ளன.
 
* [[SWIG]] என்பது பல மொழிகளில் இருந்து பல மொழிகளுக்காக இடைமுகங்களை உருவாக்குகிறது (குறிப்பிடத்தக்களவில் தொகுக்கப்பட்டவை->ஸ்கிரிப்ட் ஆக்கப்பட்டவை)
* [http://www.f2py.org/ F2PY]: [[ஃபோர்ட்டானில்]] (Forton) இருந்து [[பைத்தான்]] இடைமுகத்திற்கான உருவாக்கி.
* [[XPCOM]] (பன்முக பணித்தள உட்கூறு ஆப்ஜெக்ட் மாதிரி), இது [[மொஜில்லா]]வில்மொஜில்லாவில் இருந்து வந்த ஒரு பன்முக பணித்தள ஆக்கக்கூறு மாதிரியாகும்.
 
== மேலும் பார்க்க ==
* [[ஏபிஐ எழுதி]]
* [[பயன்பாட்டு பைனரி இடைமுகம்]] (ABI)
* [[ஆவண ஆப்ஜெக்ட் மாதிரி]] (DOM)
* [[இரு-வாய்ப்பு செயல்பாடு]]
* [[3D கிராபிக்ஸ் ஏபிஐ-களின் பட்டியல்]]
* [[மேஷ்அப் (வலை பயன்பாட்டு கலப்பு)]]
* [[கட்டற்ற இடைமுக சேவை வரையறைகள்]] (OSID)
* [[பணித்தளம் சார்ந்த வலைத்தளம்]]
* [[பிளக்இன்]]
* [[மென்பொருள் அபிவிருத்தி தொகுப்பு]] (SDK)
* [[வலைச்சேவை]]
 
== குறிப்புதவிகள் ==
"https://ta.wikipedia.org/wiki/செயலி_நிரலாக்க_இடைமுகம்" இலிருந்து மீள்விக்கப்பட்டது