
آشنایی با باینری یونیورسال در مک
برای سهولت انتقال به مکهای سیلیکونی اپل، اپل به توسعهدهندگان اجازه میدهد تا یک باینری یونیورسال ایجاد کنند. این یک فایل برنامه است که میتواند بر روی مکهای قدیمیتر اینتل و مدرن اپل سیلیکون اجرا شود. ما توضیح خواهیم داد که باینری یونیورسال چیست و چگونه کار می کنند.
این برنامه ای است که روی مک های سیلیکون اینتل و اپل اجرا می شود
در سال 2020، اپل نوع جدیدی از مک را معرفی کرد که بر روی Apple Silicon (با تراشههای M1 و M2) اجرا میشود، که نشاندهنده نوع متفاوتی از معماری کامپیوتر نسبت به مکهای اینتل است که قبل از آن عرضه شده بودند. این بدان معناست که مک های اپل سیلیکون نمی توانند برنامه های نوشته شده برای مک های اینتل را بدون کمک اجرا کنند.
اپل دو راه حل برای پل زدن بین مک های قدیمی مبتنی بر اینتل و مک های جدید مبتنی بر سیلیکون اپل ایجاد کرد که با تراشه M1 آغاز شد. اولین مورد، Rosetta 2 است، که یک لایه ترجمه است که به اپلیکیشن های اینتل اجازه می دهد تا با سرعت تقریباً اصلی در مک های مبتنی بر سیلیکون اپل اجرا شوند. دومی Universal Binary است. باینری یونیورسال برنامه هایی هستند که برای کار با پردازنده های Intel و ARM کامپایل شده اند. این به این معنی است که میتوانید یک فایل برنامه را هم در اپل سیلیکون مک و هم اینتل مک اجرا کنید.
باینری یونیورسال ها به صورت بومی روی مک های اپل سیلیکون با تراشه های سری M اپل اجرا می شوند، به این معنی که آنها سریعتر و کارآمدتر از برنامه های اینتل که باید از طریق Rosetta 2 اجرا شده، اجرا می شوند. اگر از انتقال معماری قبلی اپل بین PowerPC و Intel به عنوان مثال استفاده کنیم، در چند سال اول انتقال، احتمالاً بسیاری از برنامهها یونیورسال خواهند بود. اما از آنجایی که پذیرش سیلیکون اپل در طول زمان افزایش مییابد، در نهایت توسعهدهندگان احتمالاً فقط به تولید برنامههای بومی اپل سیلیکون روی خواهند آورد.
مزایا برای توسعه دهندگان
برای توسعه دهندگان نرم افزار، باینری یونیورسال یک مزیت بزرگ ارائه می دهد: آنها می توانند یک فایل .APP را منتشر کنند که می تواند در هر دو نوع مک استفاده شود. این بدان معنی است که نیازی به توزیع دو نسخه جداگانه از یک برنامه نرم افزاری نیست. توسعه دهندگان معمولاً با کامپایل کردن کد منبع یک برنامه نرم افزاری دو بار، یک بار برای هر نوع پردازنده، باینری یونیورسال ایجاد می کنند. سپس فایل های اجرایی به دست آمده را در یک فایل باینری یونیورسال (یا “Universal 2”) ترکیب می کنند.
در حالی که باینری یونیورسال مزایای زیادی دارند، یک نقطه ضعف کوچک آن این است که حجم باینری یونیورسال معمولاً از فایل های اجرایی استاندارد بزرگتر است. با این حال، در طول یک دوره گذار معماری، باینری یونیورسال ها به کاربران اجازه می دهند تا برنامه های نرم افزاری را بر روی هر نوع مک بدون نگرانی در مورد سازگاری اجرا کنند.
نکات باینری یونیورسال
اکنون که می دانید باینری یونیورسال چیست، ممکن است از خود بپرسید: آیا در حال حاضر می توان از هر کدام استفاده کرد؟ میتوانید با کلیک راست روی نماد برنامه در Finder و انتخاب Get Info در منوی ظاهر شده، بررسی کنید که آیا یک برنامه یک باینری یونیورسال است یا خیر. اگر برنامه یک باینری یونیورسال باشد، “Application (Universal)” را در قسمت “Kind” فهرست شده مشاهده خواهید کرد.
همچنین، در پنجره «Get Info»، میتوانید انتخاب کنید که آیا میخواهید نسخه اینتل برنامه را به جای نسخه سیلیکون اصلی اپل در Rosetta اجرا کنید یا خیر. برای انجام این کار، کادر با عنوان “Open in Rosetta” را علامت بزنید.
دفعه بعد که برنامه را باز می کنید، نسخه اینتل برنامه اجرا می شود. اگر میخواهید بعداً به اجرای برنامه Apple Silicon-native برگردید، روی نماد برنامه کلیک راست کرده، «Get Info» را انتخاب کنید، سپس تیک «Open Using Rosetta» را بردارید.