ثبت بازخورد

لطفا میزان رضایت خود را از دیجیاتو انتخاب کنید.

واقعا راضی‌ام
اصلا راضی نیستم
چطور میتوانیم تجربه بهتری برای شما بسازیم؟

نظر شما با موفقیت ثبت شد.

از اینکه ما را در توسعه بهتر و هدفمند‌تر دیجیاتو همراهی می‌کنید
از شما سپاسگزاریم.

تکنولوژی

اشتباهات مهلک مایکروسافت با معماری ARM، چه درسی به اپل و مک‌های جدیدش می‌دهد؟

اگر تنها یک درس باشد که اپل باید در پشتیبانی از اپلیکیشن‌هایی که هم روی معماری ARM و هم X86 اجرا می‌شوند بیاموزد، آن درس این است: به کاربران بگو که کدام اپلیکیشن روی کدام ...

شایان ضیایی
نوشته شده توسط شایان ضیایی | ۷ تیر ۱۳۹۹ | ۲۲:۰۰

اگر تنها یک درس باشد که اپل باید در پشتیبانی از اپلیکیشن‌هایی که هم روی معماری ARM و هم X86 اجرا می‌شوند بیاموزد، آن درس این است: به کاربران بگو که کدام اپلیکیشن روی کدام پردازنده به اجرا در می‌آید و به شکلی فعالانه و موثر، آن‌ها را به سمت کسب بهترین تجربه ممکن سوق بده.

شاید به نظر بدیهی برسد. اما درحالی که اپل مشغول گذار از مک‌های مبتنی بر Intel X86 به سمت مک‌هاییست که همراه با چیپست سیلیکونی ARM خودش از راه می‌رسند، تنها چیزی که می‌توانیم به آن فکر کنیم، کارهاییست که ای کاش مایکروسافت و کوالکام برای بهبود تجربه کاربری ویندوز روی پردازنده‌های ARM انجام می‌دادند.

همه‌چیز با برقراری ارتباط سازنده با مشتریان آغاز می‌شود. وقتی ایسوس لپتاپ NovaGo را همراه با پردازنده کوالکام روانه بازار کرد، انبوهی از مقالات در وب‌سایت‌های تکنولوژی منتشر شدند که مزایا و معایب آن و همینطور کارهایی که می‌توانستید و نمی‌توانستید با آن انجام دهید را لیست می‌کردند. هنوز هم با گذشت دو سال از عرضه دستگاه، مطالعه این لیست‌ها ضروری به نظر می‌رسد.

در این مقاله به اشتباهات مایکروسافت می‌پردازیم و از این می‌گوییم اپل هم ممکن است کجای راه را اشتباه برود، مگر اینکه از کم‌کاری‌های ردموندی‌ها درس گرفته باشد.

صحبت با توسعه‌دهندگان اما نه مشتریان

هیچ مصرف‌کننده‌ای دلش نمی‌خواهد مجبور به مطالعه مستندات خطاب به توسعه‌دهندگان باشد تا درک کند باید چه محصولی بخرد یا نخرد. این دقیقا همان کاریست که مایکروسافت انتظار داشت مشتریان انجام دهند. اینکه ویندوز چطور دستورالعمل‌های کدنویسی شده برای پردازنده‌های X86 را روی چیپ‌های ARM شبیه‌سازی می‌کند، در مستندات پشتیبانی سایت مایکروسافت، با زبانی بسیار خشک قابل مطالعه است.

چنین کاری کافی نیست. مایکروسافت هیچ‌وقت دست به تلاشی واقعی برای توصیف محدویت‌های پلتفرم ARM به مشتریان خود نکرد و هیچ‌وقت هم نگفت که برای فائق آمدن بر این محدودیت‌ها می‌توان چه کرد.

و حواس‌مان باشد که این محدودیت‌ها بسیار بزرگ و جدی هستند. بیایید فرض کنیم می‌خواهید اپلیکیشن کنفرانس ویدیویی Zoom را روی سرفیس پرو ایکس مایکروسافت دانلود کنید. اما متوجه می‌شوید که خبری از این اپلیکیشن در مایکروسافت استور نیست و مجبورید به سراغ سایت رسمی Zoom بروید.

اما آنچه سایت رسمی Zoom هم به شما نمی‌گوید اینست که ویندوزهای مبتنی بر پردازنده‌های ARM هنوز نمی‌توانند اپلیکیشن‌های ۶۴ بیتی را در حالت شبیه‌ساز به اجرا درآورند. بنابراین اگر یک مصرف‌کننده سعی کند ورژن ۶۴ بیتی اپلیکیشن Zoom را روی سرفیس پرو ایکس دانلود کند، صرفا با اروری بزرگ روبه‌رو می‌شود که از نصب اپ ممانعت می‌کند. در واقع نوعی مانع میان مصرف‌کننده و یک تجربه کاربری لذتبخش وجود دارد و می‌توان شرط بست این یکی از اصلی‌ترین دلایل فروش ضعیف پی‌سی‌های ویندوزی مبتنی بر ARM است.

اپل هم ظاهرا مسیری مشابه را در پیش گرفته. درست مانند ویندوز روی ARM، اپل از کدهایی خاص برای ترجمه دستورالعمل‌های نوشته شده برای پردازنده‌های X86 به چیزی که برای چیپ‌های ARM قابل درک باشد استفاده می‌کند.

در مک، این کد تحت عنوان «روزتا» شناخته می‌شود، همان نرم‌افزار ترجمه‌ای که اپل پیشتر هنگام گذار از PowerPC به X86 استفاده کرد. حالا Rosetta2 (یا به اختصار همان Rosetta) طراحی شده تا کدهای نوشته شده برای X86 را برداشته و باعث شود روی سیلیکون جدید مک‌ها «صرفا اجرا شوند».

بخشی از روند «صرفا اجرا شدن»، شامل «صرفا صبر کردن» هم می‌شود. همانطور که اپل در مستندات توسعه‌دهندگانی که اخیرا در وب‌سایتش منتشر کرده می‌گوید: «پروسه ترجمه زمان می‌برد، بنابراین کاربران ممکن است متوجه شوند که اپلیکیشن‌های ترجمه شده، گاهی کندتر به اجرا در می‌آیند».

معماری ARM

کاربران ضمنا باید به مک خود در کدنویسی صحیح کمک کنند: «اگر یک باینری شامل هر دو دستورالعمل arm64 و x86_64 باشد، کاربر می‌تواند به سیستم بگوید که اپلیکیشن را با ترجمه روزتا اجرا کند. این کار از طریق پنجره Get Info در Finder انجام می‌شود. برای مثال، یک کاربر ممکن است ترجمه روزتا را فعال کند تا اپلیکیشن قادر به اجرای پلاگین‌هایی باشد که هنوز از آن‌ها در معماری arm64 از آن‌ها پشتیبانی نمی‌شود.»

با این همه، روزتا قادر به ترجمه افزونه‌های کرنل و اپلیکیشن‌های ماشین مجازی که پلتفرم‌های X86_64 را مجازی‌سازی می‌کنند نیست. روزتا ضمنا از پس ترجمه دستورالعمل‌های AVX هم برنمی‌آید که برای نخستین بار در چیپ‌های Sandy Bridge سال ۲۰۱۱ اینتل تعبیه شدند.

پس با یک مرور ساده متوجه می‌شویم که اپل به توسعه‌دهندگان (و نه کاربران!) می‌گوید که اپلیکیشن‌ها به شکلی کندتر به اجرا در خواهند آمد، کاربر ممکن است نیازمند دستکاری اپلیکیشن باشد تا در حالت شبیه‌سازی شده سازگاری کامل با سیستم یابد و اینکه نرم‌افزار ترجمه قادر به پردازش دستورالعمل‌هایی نیست که ۹ سال پیش از راه رسیده‌اند. قرار نیست تمام تغییرات به شکلی روان پیاده‌سازی شوند و مصرف‌کنندگان از این موضوع باخبر نشده‌اند.

دشواری در یافتن اپلیکیشن‌های سازگار

معماری ARM

استورها جایی هستند که مشتریان نخستین تعامل را با اپلیکیشن‌ها می‌کنند و مایکروسافت استور هنوز افتضاح است.

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

مایکروسافت تمایلی به گفتن اینکه اپلیکیشن از کدام معماری پشتیبانی می‌کند نیز ندارد. اگر در حال حاضر یک پی‌سی ویندوزی مبتنی بر معماری ARM دارید، مایکروسافت اپلیکیشن‌های ناسازگار را از استورتان حذف می‌کند. اما اگر پیش از خرید چنین کامپیوتری بخواهید بدانید دستگاه‌تان با چه نرم‌افزارهایی سازگاری خواهد داشت، باید دانه به دانه به سراغ اپلیکیشن‌ها بروید و خودتان ماجرا را بررسی کنید.

تا چند سال دیگر، این سوال که کدام اپلیکیشن مک برای ARM یا X86 کدنویسی شده، دیگر چندان بحث‌برانگیز نخواهد بود، چون تا آن موقع اپل تمام اکوسیستم مک را به ARM منتقل کرده. اما در بازه کنونی، مشتریان پلتفرم‌های ویندوز و مک می‌توانند میان دو معماری پردازنده یکی از را انتخاب کنند.

معماری ARM

اگر انصاف به خرج دهیم، هنوز زود است که از اپل انتظار تعبیه چنین اطلاعاتی را در اپ استور داشته باشیم. می‌دانیم که برخی از کلیدی‌ترین شرکای شخص ثالث اپل -مانند ادوبی و مایکروسافت- از تلاش‌های این شرکت در گذار به ARM پشتیبانی خواهند کرد. اما سوال اینجاست که چند درصد از توسعه‌دهندگان بازی اپل به خود زحمت کدنویسی دوباره برای ARM را می‌دهند و توسعه‌دهندگان اپلیکیشن‌های تولید محتوا هم چقدر زود دست به کار می‌شوند.

دانستن اینکه کدام اپلیکیشن‌ها برای کدام پردازنده کدنویسی شده‌اند ضروری است. اپلیکیشن‌های «فراگیر - Universal» اپل روی هر دو پلتفرم به اجرا در می‌آیند. اما واقعا نمی‌دانیم پردازنده‌های ARM اپل چه عملکردی از خود به نمایش خواهند گذاشت و نمی‌دانیم هر اپ روی هر پلتفرم چقدر خوب اجرا می‌شود.

بنابراین مهم است که هم مشتریان پی‌سی و هم مشتریان اپل بدانند کدام اپ‌ها به صورت خاص برای پردازنده کدنویسی شده‌اند، پرفورمنس چطور بهینه می‌شود، کدام اپ‌ها به حالت شبیه‌سازی شده می‌روند و چقدر افت پرفورمنس می‌یابند. اپ استور -چه روی مک و چه روی ویندوز- باید نقطه آغاز تمام این مباحثات باشد.

عدم ارائه ویترینی از اپلیکیشن‌ها

معماری ARM

تا به اینجای کار دغدغه‌هایمان شامل پرفورمنس، سازگاری و برقراری ارتباط با مشتریان بود. یک ضعف دیگر کوالکام و مایکروسافت این بوده که هنوز نتوانسته‌اند یک پی‌سی «ویترین» به دست مشتریان برسانند - نه‌ صرفا از نقطه نظر سخت‌افزاری، بلکه همینطور از نقطه نظر نرم‌افزاری.

بسیاری از ما از لپ‌تاپ‌هایی که همراه با انبوهی از اپلیکیشن‌های شخص ثالث و غیر ضروری از راه می‌رسند متنفریم. لپ‌تاپ‌های شرکت ایسر برای مثال همراه با اپلیکیشن‌هایی از راه می‌رسند که اپلیکیشن‌هایی دیگر نظیر Collection S را به شما پیشنهاد می‌کنند. اما این همان چیزیست که ویندوز روی ARM (و همینطور مک‌های جدید) به آن نیاز دارند: ویترینی از اپلیکیشن‌ها که به صورت خاص برای ARM کدنویسی شده‌اند و مزایای این پلتفرم را به تصویر می‌کشند.

روی ویندوز، نه مایکروسافت و نه کوالکام دست به چنین کاری نزده‌اند. به‌جای کالکشن‌هایی که توسط کاربران جمع‌آوری می‌شوند، باید لیستی رسمی از از اپلیکیشن‌هایی داشته باشیم که برای ARM بهینه‌سازی شده‌اند. پی‌سی‌های ARM باید به صورت پیش‌فرض با اپلیکیشن‌های بهینه‌شده برای این معماری از راه برسند. مثلا توانایی دانلود اپلیکیشن‌های بهینه برای ARM، می‌تواند قابلیت جدید مایکروسافت در پکیج منیجر WinGet باشد.

می‌توان تصور کرد که اپل از همین حالا به چنین درکی رسیده و به این ترتیب ظهور دسته‌بندی‌های تازه‌ای نظیر «بهترین عملکرد روی اپل» در اپ استور، آنقدرها غافلگیرمان نخواهد کرد. نمایش کالکشنی از اپلیکیشن‌ها که کاربران به صورت مداوم استفاده می‌کنند، اطمینان خاطر دادن به آن‌ها از بابت عملکرد بهینه‌سازی شده و به‌روزرسانی مداوم اپلیکیشن‌ها باعث می‌شود مشتریان احساس کنند کمپانی منتخب‌شان، هوایشان را دارد.

در حال حاضر، مصرف‌کنندگان هنوز درک نکرده‌اند که چرا باید از X86 فاصله گرفته و به سراغ چیزی جدید و غریبه مانند ARM بروند. اگر هم به چنین کاری تن دهند، دلایل‌شان کاملا سخت‌افزاری خواهد بود. اینکه مشتریان چرا و چطور باید گذار نرم‌افزاری کنند، بحثی است که در حال حاضر فراموش شده و در نهایت صرفا باعث می‌شود همگی گیج شویم. بیایید امیدوار باشیم اپل نگاهی به آشفته‌بازار مایکروسافت انداخته و بهتر عمل کند.

دیدگاه‌ها و نظرات خود را بنویسید
مجموع نظرات ثبت شده (6 مورد)
  • keep quiet
    keep quiet | ۸ تیر ۱۳۹۹

    اپل یک دزد و راهزن عصر جدیده که از قضا محصولات خوب و کم نقصی رو ارائه میده ولی باز هم این واقعیت رو از بین نمیبره که دزده چون با پول بیشتری رو در ازای خدماتش میگیره و با انحصار پیروزی های کاذب بدست میاره حالا چرا کاذب چون رقابتی نمیکنه....?

    • Reza12022
      Reza12022 | ۸ تیر ۱۳۹۹

      دقیقاًاااااااااااا

  • Meysam_Mahmoudi
    Meysam_Mahmoudi | ۷ تیر ۱۳۹۹

    شک ندارم ک اپل تو این کار موفق میشه. چون اشتباهی ک مایکرو کرد این بود دو نسخه از ویندوز زد و هیچ دولوپری نیومد سمت آرم اما وقتی اپل به طور کلی مهاجرت کنه به آرم قطعا تعداد زیادی توسعه دهنده میرن سمت توسعه اپ و اینطوری موفقیتش تضمین میشه

    • Reza12022
      Reza12022 | ۸ تیر ۱۳۹۹

      کاملاً درسته،،، خودم هم همین نظر رو دارم

      • Reza12022
        Reza12022 | ۸ تیر ۱۳۹۹

        حتی کمتر در حد ۶ ۷ ماه برای اپل کار آسونییه

    • Reza12022
      Reza12022 | ۸ تیر ۱۳۹۹

      اپل کاملا توانایی اینو داره که از اینتلx86 به آرم مهاجرت کنه براحتی و بعد از یکی دوسال هم این مسئله جا میفته

مطالب پیشنهادی