SDK-യും API-യും തമ്മിലുള്ള ബന്ധം എന്താണ്?
സോഫ്റ്റ്വെയർ വികസനത്തിൽ, സിസ്റ്റത്തിന്റെ അളവ് വർദ്ധിക്കുന്നതിനനുസരിച്ച്, ഒരു വലിയ സിസ്റ്റത്തെ ചെറിയ ഘടകങ്ങളായി വിഘടിക്കുന്നത് വളരെ പ്രധാനമാണ്. ഈ പ്രക്രിയയിൽ, പ്രോഗ്രാമിംഗ് ഇന്റർഫേസുകൾ രൂപകൽപ്പന ചെയ്യുന്നത് വളരെ നിർണായകമാണ്. ഇന്റർഫേസ് രൂപകൽപ്പനയുടെ പ്രധാന ലക്ഷ്യം സോഫ്റ്റ്വെയർ സിസ്റ്റത്തിന്റെ ഉത്തരവാദിത്തങ്ങൾ ന്യായമായി വിന്യസിക്കുക എന്നതാണ്. നല്ല ഇന്റർഫേസ് രൂപകൽപ്പന സിസ്റ്റത്തിന്റെ ഭാഗങ്ങൾ തമ്മിലുള്ള ആശ്രിതത്വം കുറയ്ക്കുകയും, മൊഡ്യൂളുകളുടെ ഒത്തുചേരൽ വർദ്ധിപ്പിക്കുകയും, മൊഡ്യൂളുകൾ തമ്മിലുള്ള ബന്ധനം കുറയ്ക്കുകയും ചെയ്യും. ഇത് സിസ്റ്റത്തിന്റെ പരിപാലനക്ഷമതയും വിപുലീകരണക്ഷമതയും മെరుగుപ്പെടുത്തുന്നു. API, ഒരു ഇന്റർഫേസ് രൂപമായി, പ്രോഗ്രാമുകൾ തമ്മിൽ സംവദിക്കുന്നതിൽ പ്രധാന പങ്കുവഹിക്കുന്നു, കൂടാതെ SDK-ക്കും API-ക്കും തമ്മിൽ estreita ബന്ധമുണ്ട്.
01 API
(1) API-യുടെ ആശയം
API, പൂർണ്ണമായി "ആപ്ലിക്കേഷൻ പ്രോഗ്രാമിംഗ് ഇന്റർഫേസ്", രണ്ട് വ്യത്യസ്ത കാര്യങ്ങളെ "ഇന്റർഫേസ്" ആയി ബന്ധിപ്പിക്കുന്നതിന് ഉദ്ദേശിച്ചെടുത്ത മുൻകൂട്ടി നിർവചിച്ച ഫംഗ്ഷനുകളുടെ ഒരു കൂട്ടമാണ്. ഇത് ആപ്ലിക്കേഷനുകൾക്കും ഡെവലപ്പർമാർക്കും സോഫ്റ്റ്വെയർ അല്ലെങ്കിൽ ഹാർഡ്വെയറിന്റെ റൂട്ടീനുകൾ ആക്സസ് ചെയ്യാൻ ഒരു മാർഗ്ഗം നൽകുന്നു, അതേസമയം സോഴ്സ് കോഡിൽ ഇടപെടാതെ അല്ലെങ്കിൽ അതിന്റെ ആന്തരിക പ്രവർത്തന സംവിധാനത്തിന്റെ വിശദാംശങ്ങൾ മനസ്സിലാക്കാതെയും ഇത് സാധ്യമാക്കുന്നു.
API എന്നത് മറ്റുള്ളവർ മുൻകൂട്ടി എഴുതിയ ഒരു ഫംഗ്ഷനാണ്, അത് ഒരു പ്രത്യേക പ്രവർത്തനം നിറവേറ്റാൻ കഴിയും. നൽകിയിട്ടുള്ള ഇന്റർഫേസ് ഉപയോഗിച്ച് അതിന്റെ രീതികളെ വിളിക്കുകയും, വ്യക്തമാക്കിയ പാരാമീറ്ററുകൾ കൈമാറുകയും ചെയ്താൽ, ആ ഫംഗ്ഷൻ ഈ പ്രവർത്തനങ്ങൾを実現ിക്കാൻ സഹായിക്കും.

“ഇന്റർഫേസ്” എന്ന ആശയം അനുസരിച്ച്, കമ്പ്യൂട്ടർ മേഖലയിൽ, ഇത് രണ്ട് വ്യത്യസ്ത സ്ഥാപനങ്ങൾ തമ്മിലുള്ള ഇടപെടലിന്റെ സ്ഥലം หมายถึง, അത് രണ്ട് പൂർണ്ണമായും വ്യത്യസ്ത സിസ്റ്റങ്ങളോ അല്ലെങ്കിൽ രണ്ട് പ്രോഗ്രാമുകളോ ആകാം. അതിനാൽ, ഇന്റർഫേസിന്റെ “I” ഇങ്ങനെ മനസ്സിലാക്കാം. ഇതിന്റെ അടിസ്ഥാനത്തിൽ, മനുഷ്യനും പ്രോഗ്രാമും തമ്മിലുള്ള ഇടപെടലിനെ UI (ഉപയോക്തൃ ഇന്റർഫേസ്) എന്ന് വിളിക്കുന്നു, இதில் എല്ലാവരും നൽകുന്ന ഫോമുകൾ ഉൾപ്പെടെ, മൗസ്, കീബോർഡ്, ടച്ച് സ്ക്രീൻ, ശബ്ദ ഇൻപുട്ട് തുടങ്ങിയവ ഉൾപ്പെടുന്നു. പ്രോഗ്രാമുകൾ തമ്മിലുള്ള ഇടപെടലിനെ API എന്ന് വിളിക്കുന്നു, മനുഷ്യരല്ലാത്തവ തമ്മിലുള്ള എല്ലാ ഇടപെടലുകളും API വഴി നടത്തുന്നു. ഈ ഇടപെടലിന്റെ സാരം ഡാറ്റാ ട്രാൻസ്മിഷനും ഫംഗ്ഷൻ ട്രിഗറുമാണ്.
(2) API-യുടെ വർഗ്ഗീകരണം
API-കൾ സിസ്റ്റം-ലെവൽ API-കളായി (ഉദാഹരണത്തിന് Windows, Linux, Unix മുതലായവ) കൂടാതെ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഇതരമായ കസ്റ്റം API-കളായും തിരിച്ചിരിക്കുന്നു. ഒരു കാര്യക്ഷമമായ കോഡ് എൻകാപ്സുലേഷൻ മോഡലായി, മൈക്രോസോഫ്റ്റ് വിൻഡോസിന്റെ API വികസന മോഡൽ നിരവധി വാണിജ്യ ആപ്ലിക്കേഷൻ വികസന കമ്പനികൾ സ്വീകരിച്ചു, കൂടാതെ മൂന്നാമത്തെ കക്ഷിക്ക് പ്രവർത്തനങ്ങൾ విస్తరించുന്നതിനായി ചില വാണിജ്യ ആപ്ലിക്കേഷൻ സിസ്റ്റങ്ങളുടെ API ഫംഗ്ഷനുകൾ പ്രസിദ്ധീകരിച്ചു. ഉദാഹരണത്തിന്, Google, Apple, Nokia തുടങ്ങിയ മൊബൈൽ ഫോൺ കമ്പനികൾ വികസിപ്പിച്ച API-കൾ.
API-കൾ തുറന്ന API-കളും സ്വകാര്യ API-കളും ആയി തിരിച്ചിരിക്കുന്നു. പേര് സൂചിപ്പിക്കുന്നത് പോലെ, തുറന്ന API എല്ലാവർക്കും തുറന്ന ഇന്റർഫേസ് ആണ്, ഇത് ఎవరికైనా വിളിക്കാനും അതിന്റെ പിന്നിലെ ഡാറ്റാ നേടാനും അനുവദിക്കുന്നു. ചില കമ്പനികൾ API-യെ പൊതു തുറന്ന സിസ്റ്റമായി മാറ്റുന്നു, അതായത് കമ്പനി സ്വന്തമായി സിസ്റ്റം ഇന്റർഫേസ് മാനദണ്ഡങ്ങൾ സ്ഥാപിക്കുന്നു, സിസ്റ്റം ஒருங்கிணைப்பு, అనుకూలీకరణ, പ്രോഗ്രാം ആപ്ലിക്കേഷനുകൾ എന്നിവ പോലുള്ള പ്രവർത്തനങ്ങൾ ആവശ്യമുള്ളപ്പോൾ, കമ്പനിയിലെ എല്ലാ അംഗങ്ങളും ഈ ഇന്റർഫേസ് മാനദണ്ഡങ്ങൾ വഴി സോഴ്സ് കോഡ് വിളിക്കാവുന്നതാണ്. ഈ ഇന്റർഫേസ് മാനദണ്ഡത്തെ തുറന്ന API എന്ന് വിളിക്കുന്നു. സ്വകാര്യ API പൊതുജനങ്ങൾക്ക് തുറന്ന ഇന്റർഫേസ് അല്ല.
02 SDK
(1) SDK-യുടെ ആശയം
SDK, പൂർണ്ണമായി "സോഫ്റ്റ്വെയർ ഡെവലപ്മെന്റ് കിറ്റ്", സോഫ്റ്റ്വെയർ എഞ്ചിനീയർമാർ ഒരു പ്രത്യേക പാക്കേജ്, സോഫ്റ്റ്വെയർ ഫ്രെയിംവർക്ക്, ഹാർഡ്വെയർ പ്ലാറ്റ്ഫോം, ഓപ്പറേറ്റിംഗ് സിസ്റ്റം മുതലായവയ്ക്കായി ആപ്ലിക്കേഷൻ സോഫ്റ്റ്വെയർ നിർമ്മിക്കാൻ ഉപയോഗിക്കുന്ന ഡെവലപ്മെന്റ് ടൂളുകളുടെ ഒരു ശേഖരമാണ്. ലളിതമായി പറഞ്ഞാൽ, SDK എന്നത് മൂന്നാമത്തെ സേവന ദാതാവ് നൽകുന്ന സോഫ്റ്റ്വെയർ ഉൽപ്പന്നത്തിന്റെ ഒരു പ്രവർത്തനംを実現ിക്കാൻ ഉപയോഗിക്കുന്ന ടൂൾകിറ്റ് ആണ്.
SDK സാധാരണയായി പ്രൊഫഷണൽ കമ്പനികൾ നൽകുന്ന പ്രൊഫഷണൽ സേവനങ്ങളുടെ ശേഖരമാണ്, ഉദാഹരണത്തിന് Android ഡെവലപ്മെന്റ് ടൂളുകൾ അല്ലെങ്കിൽ ഹാർഡ്വെയർ അടിസ്ഥാനമാക്കിയുള്ള ഡെവലപ്മെന്റ് സേവനങ്ങൾ തുടങ്ങിയവ. ഒരു പ്രത്യേക സോഫ്റ്റ്വെയർ പ്രവർത്തനത്തിനായുള്ള SDK-കളും ഉണ്ട്, જેમ कि പുഷ് ടെക്നോളജി, ഇമേജ് റെക്കഗ്നിഷൻ ടെക്നോളജി, മൊബൈൽ പേയ്മെന്റ് ടെക്നോളജി, വോയ്സ് റെക്കഗ്നിഷൻ അനാലിസിസ് ടെക്നോളജി തുടങ്ങിയവ. ഇൻ്റർനെറ്റ് തുറക്കുന്നതിന്റെ പൊതു ధోరణியில், ചില പ്രവർത്തന SDK-കൾ ഒരു ഉൽപ്പന്നമായി പ്രവർത്തിക്കുന്നു.
ഡെവലപ്പർമാർ ఇకపై ഉൽപ്പന്നത്തിന്റെ ഓരോ പ്രവർത്തനത്തിനും అభివృద్ధి ചെയ്യേണ്ടതില്ല, അനുയോജ്യമായ സ്ഥിരമായ SDK സേവനം തിരഞ്ഞെടുക്കുക മതി, ഉൽപ്പന്നത്തിൽ ഒരു പ്രവർത്തനം ஒருங்கிணைക്കാൻ കുറഞ്ഞ സമയം മതി.
(2) SDK-യും API-യും തമ്മിലുള്ള വ്യത്യാസം
SDK എന്നത് ഡെവലപ്മെന്റ് ఇంటిగ్రేషన్ ടൂൾ പരിసరമാണ്, API എന്നത് ഡാറ്റാ ഇന്റർഫേസ് ആണ്. SDK പരിసరത്തിൽ API ഡാറ്റാ വിളിക്കുന്നു.
వాస్తవానికి, SDK API-യുടെ నిర్వచనాన్ని కలిగి ఉంది, API ఒక సామర్థ్యాన్ని నిర్వచిస్తుంది, ఒక ఇంటర్ఫేస్ స్పెసిఫికేషన్, మరియు SDK ఈ సామర్థ్యాన్ని, ఈ స్పెసిఫికేషన్ను కలిగి ఉంటుంది. కానీ SDK API మరియు దాని అమలును మాత్రమే కలిగి ఉండదు, ఇది ఒక సాఫ్ట్వేర్ టూల్కిట్, കൂടാതെ മറ്റ് సహాయక പ്രവർത്തനങ്ങളും അടങ്ങിയിരിക്കുന്നു.
API ഉപയോഗിക്കാൻ ആവശ്യമായ വിവരങ്ങൾ SDK-യിൽ അടങ്ങിയിരിക്കുന്നു, അതിനാൽ API ഉപയോഗിച്ച് Windows ആപ്ലിക്കേഷനുകൾ എഴുതുന്ന വികസന രീതിയെ "SDK ప్రోగ్రామింగ్" అని కూడా ആളുകൾ വിളിക്കുന്നു.





