خبر

  • تک بورد - توضیح دهنده: API چیست؟

    توضیح دهنده: API چیست؟
    16 روز و 2 ساعت قبل

    Direct3D OpenAL وینسوک احتمالاً این موارد را شنیده اید ، حتی ممکن است قبلاً از آنها استفاده کرده باشید ، اما یک چیز مسلم است: هرکسی که از رایانه استفاده کرده باشد ، یک نرم افزار را اجرا کرده است که از آنها به خوبی استفاده کرده است.

    ما در مورد API صحبت می کنیم - پشم گوسفند طلایی برای برنامه نویسان در سراسر جهان. به ما بپیوندید و توضیح دهید که API چیست و سریعاً به مکان و نحوه استفاده از آنها نگاهی بیندازید.

    چه نامی وجود دارد؟

    اصطلاح API مخفف "Application Programming Interface " است ، اما همانطور که به زودی خواهیم دید ، فقط برای ساخت برنامه ها (یا دادن نام کامل آنها به آنها ، برنامه های کاربردی - برنامه ها ، برای کوتاه). در دنیای محاسبات ، رابط چیزی است که به عنوان پلی بین دو یا چند جنبه از یک سیستم محاسباتی عمل می کند.

    این پل می تواند به صورت سخت افزاری (مثلاً USB) یا نرم افزار باشد ، در این حالت وجود دارد.

    اساساً ، رابط اجازه می دهد تا عناصر محاسباتی اطلاعات را برای یکدیگر ارسال کنند. بعضی اوقات این یک پل یک طرفه است (به عنوان مثال ماوس با استفاده از سوکت USB سیگنال های ورودی را به لپ تاپ ارسال می کند) ، اما احتمالاً دو طرفه هستند.

    https://techbord.com توضیح دهنده: API چیست؟

    در مورد یک API ، خیلی بیشتر از انتقال اطلاعات در مورد پشت صحنه است. آنها قوانینی را در مورد درخواست های داده تعیین می کنند ، نحوه ایجاد این درخواست ها را تعریف می کنند ، قالبی را که داده ها باید داشته باشند اعلام کنند و غیره. این ممکن است کاملا محدود کننده به نظر برسد ، اما API ها به ساده سازی برنامه نویسی کمک می کنند.

    این بدان دلیل است که به طور م allثر تمام جزئیات پس زمینه و عملکردهای داخلی سیستم رایانه را از فقط به آنها اجازه می دهد تا به ابزار مورد نیاز دسترسی داشته باشند. این بدان معنی است که API های مختلف زیادی وجود دارد ، برخی از آنها دارای دامنه و ماهیت بسیار گسترده ای هستند ، و برخی دیگر با نقش بسیار خاص.

    مواردی که احتمالاً از آنها شنیده اید

    اگر شما یک گیمر رایانه شخصی هستید ، مطمئناً برخی از API های مورد استفاده برای ایجاد گرافیک های سه بعدی را می شناسید - مشهورترین آنها OpenGL ، Direct3D و Vulkan هستند. اینها به عنوان داربست اساسی هر کد رندر عمل می کنند و به برنامه نویسان اجازه می دهند تا با سهولت نسبی تصاویر بصری پیچیده ای ایجاد کنند.

    API های گرافیکی قوانین خاصی را در مورد چگونگی قالب بندی و ساختار همه چیز وضع می کنند و دستورالعمل های ساده ای را برای اداره امور معمول ارائه می دهند الگوریتم های ریاضی. همه آنها به طور قابل توجهی در طول سالها به روز شده اند و می توان از آنها برای انجام کارهایی بیشتر از ساخت تصاویر زیبا استفاده کرد ، همه اینها به لطف shader های محاسبه است.

     https://techbord.com توضیح دهنده: API چیست؟

    Red Dead Redemption 2 با استفاده از Direct3D یا Vulkan عکسهای خیره کننده ارائه می دهد

    سیستم عامل های بازی به غیر از رایانه های شخصی از API نیز استفاده می کنند - مایکروسافت از نسخه اصلاح شده Direct3D برای Xbox استفاده می کند ، اما نینتندو و سونی از خود برای Switch و PlayStation استفاده می کنند ، اگرچه هر دو ریشه در OpenGL دارند.

    اگر بازی با تلفن مورد علاقه شماست ، API های گرافیکی نیز برای آنها وجود دارد ، مانند Metal که مختص محصولات اپل است.

    خوانندگان ممکن است در دهه 1990 یادآوری کنند ، برخی از فروشندگان کارت گرافیک API های خاص خود را دارند - 3dfx دارای Glide و S3 Graphics دارای S3D است. این امر به این دلیل بود که موارد مشابه OpenGL نسبتاً جدید بود و فاقد مجموعه ویژگی ها و عملکرد مورد نیاز تولیدکنندگان بود.

     https://techbord.com توضیح دهنده: API چیست؟

    کارت گرافیک قدرتمند Voodoo 2 با Glide قدرتمندتر بود

    برای مدتی ، Glide پادشاه API های گرافیکی بود ، زیرا برنامه ریزی آن آسان بود و Voodoo از 3dfx را در بهترین حالت ممکن نشان می داد. Glide و S3D عمر بسیار کوتاهی داشتند ، زیرا بسیار اختصاصی بودند - Direct3D منبع باز نیست ، اما به غیر از محدود بودن به ویندوز ، هر فروشنده GPU می تواند رانندگان را برای پشتیبانی از آن در محصولات خود ایجاد کند.

    گفته شد ، API های گرافیکی اختصاصی امروزه نیز استفاده می شوند. CUDA API انویدیا منحصر به پردازنده های گرافیکی آنهاست ، اگرچه بیشتر به منظور ارائه کارهای سه بعدی محاسبه می شود.

    در سال 2013 ، AMD کار خود را با همکاری توسعه دهندگان بازی های Battlefield آغاز کرد. ، برای ایجاد یک API "سطح پایین ".

    https://techbord .com توضیح دهنده: API چیست؟

    حتی ابررایانه ها نیز تحت درمان API قرار می گیرند

    اصطلاح " سطح پایین "به انتزاع سخت افزاری در API اشاره دارد - روال های نرم افزاری که به طور موثر جزئیات خاص معماری اصلی تراشه را از توسعه دهنده پنهان می کند ، نوشتن برنامه ای که در طیف وسیعی از سیستم عامل ها کار می کند را آسان می کند. هرچه API در این زمینه کار بیشتری انجام دهد ، میزان پردازنده بیشتر برای پردازش آن مورد نیاز است.

    هدف AMD از Mantle این بود که کمتر از Direct3D به پردازنده وابسته باشد. و OpenGL و همچنین قابلیت برنامه ریزی بیشتر را ارائه می دهند. توسعه این پروژه در سال 2015 متوقف شد و تا سال 2019 کاملاً متوقف شد ، زیرا AMD کار خود را به طور رایگان به Khronos Group - سازمان مسئول Vulkan - تحویل داده بود.

    API ها فقط برای تصاویر زیبا نیستند

    بازی ها چیزی فراتر از چیزهای تصویری هستند: سیستم صوتی ، شبکه ای و مدیریت ورودی برای همه کدگذاری شده است. Direct3D در واقع بخشی از یک مجموعه بزرگ به نام DirectX است که شامل API ها و کتابخانه های نرم افزاری برای همه عناصر بازی فوق الذکر است.

    به عنوان مثال ، DirectInput دستورات مربوط به گیم پدها ، جوی استیک ها و فرمان ها را کنترل می کند. به طور طبیعی ، معادل های OpenGL برای این موارد نیز وجود دارد (به عنوان مثال OpenAL برای صدا) ، اگرچه برخی از آنها می توانند توسط سیستم عامل پوشانده شوند ، که ما یک لحظه آنها را کشف خواهیم کرد.

     https://techbord.com توضیح دهنده: API چیست؟

    دوربین ها ، میکروفون ها ، سنسورهای IR ، بازخورد لمسی ، صفحه های لمسی - API برای همه آنها

    و صحبت از برقراری ارتباط با سخت افزار ، یک میزبان واقعی API وجود دارد که به برنامه نویسان اجازه می دهد از بسیاری از قابلیت های تلفن ها معمولاً دسترسی داشته و استفاده کنند. به عنوان مثال ، تقریباً در هر تلفن مدرن یک شتاب سنج وجود دارد - یک تراشه کوچک که حرکت را به صورت سه بعدی تشخیص می دهد.

    بنابراین اگر برنامه ای می خواهد بداند تلفن به کدام سمت نشان می دهد ، برنامه نویسان می توانند از API برای بدست آوردن این اطلاعات به راحتی.

    https://techbord.com توضیح دهنده: چه آیا یک API است؟

    API ایجاد برنامه ها برای stargazing را آسان می کند. تصویر: Tyurin Alexandr

    برنامه های واقعیت افزوده ، مانند برنامه Stargazing ، نمونه خوبی از نرم افزاری است که از چنین API ها استفاده می کند. و اگر یکی از مواردی است که هنگام تماشای تلفن به سمت آسمان شب ، به صورت فلکی به دنبال شما می آید ، از API برای دوربین ، شتاب سنج ، سیستم GPS ، صفحه لمسی و غیره استفاده می کند.

    اگر برنامه ای قرار است با هر پلت فرم رسانه های اجتماعی مانند توییتر یا فیس بوک ادغام شود ، دوباره دوباره - API هایی نیز برای آن وجود دارد! حتی اگر ندانید که آنها چه چیزی را فراخوانی می کنند ، مطمئناً از برنامه ای استفاده کرده اید که از طریق این API ها ایجاد شده است.

    در جایی که رایانه وجود دارد ، API وجود دارد

    دو کلاس مهم ، اما کاملاً خاص از API ها ، Remote و Web هستند که دسته دوم زیر مجموعه اولی است. این برنامه ها برای برنامه هایی طراحی شده اند که روی یک سیستم اجرا می شوند ، اما به داده های موجود در سیستم دیگری دسترسی پیدا کرده و آنها را دستکاری می کنند - مرورگری که برای خواندن این وب سایت از آن استفاده می کنید ، نمونه ای از برنامه با استفاده از هر دو API است.

    برخی این API ها هرگز در معرض عموم قرار نمی گیرند (معروف به API خصوصی) و فقط سازمانی که آنها را ساخته است می تواند برای برنامه های داخلی خود مورد استفاده قرار گیرد.

    سایر موارد نیمه خصوصی هستند و به عنوان Partner API شناخته می شوند ، که به کاربران تایید شده اجاره داده می شود. ایده این است که مالک API دقیقاً اطلاعاتی را که برنامه درخواست می کند کنترل می کند. تاکنون از برنامه ای برای رزرو اشتراک سواری استفاده کرده اید؟ این از API از راه دور خصوصی استفاده می شود.

    https://techbord. com توضیح دهنده: API چیست؟

    تماشای جریانهای جالب فیلم شامل طیف وسیعی از API از راه دور و وب است

    اما بیشتر برنامه هایی که ما در رایانه استفاده می کنیم ، بوده است ساخته شده با استفاده از موارد عمومی رایانه های شخصی مبتنی بر ویندوز برای استفاده از Windows API (معمولاً فقط با نام WinAPI) و macOS ، iOS ، Linux ، Android و دیگران نوشته شده اند. همه آنها یک آتنوم واقعی از رابط های برنامه نویسی در دسترس عموم را ارائه می دهند.

    درست مثل DirectX ، اینها مجموعه ای از کتابخانه ها هستند که مجموعه ای عظیم از میانبرها را برای مدیریت همه چیز ، از ذخیره داده ها ، خدمات سیستم و امنیت و همچنین فراهم می کنند. به عنوان ایجاد عناصر مشترک GUI ، شبکه و مدیریت برنامه.

    https://techbord .com توضیح دهنده: API چیست؟

    API های macOS UI برنامه ها را کنترل می کنند ، اطمینان حاصل کنند که ظاهر مشترکی دارند

    اکنون ، در حالی که تعداد زیادی از خوانندگان می دانند در مورد محصولاتی مانند WinAPI و Cocoa ، شاید تعداد کمی از آنها از POSIX مطلع شوند. اگرچه این یک API به خودی خود نیست ، اما مجموعه ای از استانداردها است که توسط انجمن رایانه ای IEEE برای ایجاد برنامه های بین پلتفرمی ایجاد شده و توسط پروکسی ، این شامل API ها نیز می باشد.

    این سیستم در ابتدا برای سیستم های یونیکس در نظر گرفته شده بود و هم اکنون توسط تعداد زیادی سیستم عامل مختلف پیاده سازی شده است. با این وجود ویندوز تا حدودی روی حصار قرار دارد و فقط تعداد کمی از API ها از استانداردها پیروی می کنند. همانطور که گفته شد ، اکثر API ها امروزه کاربر پسند ، قوی و کاملاً کارآمد در کارهایی هستند که انجام می دهند - ممکن است به طور رسمی با POSIX سازگار نباشند ، اما طبق قوانین شکل گرفته اند.

    API

    به طور خلاصه واسط برنامه نویسی برنامه اگر به کدنویسی می پردازید ، خواه به عنوان یک حرفه ای فصلی یا اولین قدم های خود را به ورطه نامقدسی که Stack Overflow است بردارید ، مطمئناً در مورد API ها اطلاعاتی خواهید داشت و از وجود آنها بسیار سپاسگزار خواهید بود.

    اما حتی اگر فقط یک کاربر رایانه باشید - یک گیمر رایانه شخصی ، یک کارمند اداری یا یک فروشگاه محبوب برنامه فروشگاه - آنگاه دانستن کمی در مورد API چیز بدی نیست. اولین مثالی را که آوردیم بگیرید: Red Dead Redemption 2. اگر این بازی را انجام می دهید ، مطمئناً ارزش شما را دارد که با استفاده از Direct3D و Vulkan عملکرد خوبی را تجربه کنید.

    بسته به تنظیمات ، ممکن است یک API در مقایسه با دیگری نرخ فریم بهتر یا ثبات سازگار تری به شما بدهد. شرم آور است که بیشتر توسعه دهندگان بازی این را ارائه نمی دهند ، اما به طور واضح کار بیشتری برای مدیریت انجام می شود ، و این مطمئناً در هر پلتفرم نرم افزاری صادق است.

    دفعه بعدی در حال مرور TechSpot در تلفن خود ، مدیریت دفترچه خرید در صفحه گسترده یا حتی راه اندازی یک رایانه لوحی جدید برای استفاده کودکان هستید ، از سازندگان API بی صدا سپاسگزارید. بدون آنها ، نرم افزار به مراتب کمتری وجود خواهد داشت و کسانی که استفاده می کنند قطعاً اشکالات و ناسازگاریهای بسیار بیشتری دارند!

    Masthead توسط Andrey Suslov

    .subDriveRevBot {margin: 30px 0 25px؛ شعاع مرز: 3px؛ ارتفاع خط: 1.5؛ اندازه قلم: 0.9em؛ رنگ: #fff؛ background-color: # 1d4d84؛ مکان نما: اشاره گر؛ background-repeat: بدون تکرار ؛ background-size: حاوی؛ background-position: right؛ } .subDriveRevBot: شناور {background-color: # 245996؛ انتقال: 0.4 ثانیه خطی ؛ } .subDriveRevBot a {color: #fff؛ نمایش: بلوک؛ عرض: 100٪ قد: 100٪ } .subDriveRevBot a: hover {color: #fff؛ } .subDriveRevBot .titlerr {پس زمینه: rgba (30 ، 41 ، 51 ، 0.63)؛ بالشتک: 10px 20px 7px؛ رنگ: #fff؛ فاصله نامه: -0.1px؛ نمایش: بلوک؛ شعاع مرز: 3px؛ اندازه قلم: 0.9em؛ } .subDriveRevBot .remark {font-weight: 500؛ رنگ: # f29f26؛ font-family: Roboto؛ } .subDriveRevBot .remarknew {font-weight: 500؛ رنگ: #ea؛ font-family: Roboto؛ } .subDriveRevBot .bulll {margin-bottom: 5px! important؛ padding: 15px 5px} اگر از مطالب ما لذت می برید ، لطفاً مشترک شوید ... تجربه TechSpot بدون آگهی در حالی که از کار ما پشتیبانی می کنید قول ما: همه مشارکت خوانندگان در جهت تأمین بودجه محتوای بیشتر خواهد بود ، این بدان معناست: ویژگی های فنی بیشتر ، معیارها و تحلیل بیشتر





خبرهای دیگر از امکانات