همه آنچه باید درباره پروژه Mainline گوگل بدانید

نمایش خبر

فهرست اخبار
تاریخ : 1398/6/1        نویسنده: مسعود بهرامی شرق
برچسب‌ها : پروژه مین‌لاین Project Mainline ، پروژه تربل Project Treble ، اندروید Android ، گوگل Google

واحد خبر mobile.ir : اندروید یک نرم‌افزار فوق‌العاده است. ؛ این پلتفرم، ضمن ارائه ترکیبی از راحتی و امنیت برای همه کاربران، برخی کارکردهای پیشرفته را نیز به کاربران حرفه‌ای ارائه می‌کند که شاید تا چند سال قبل کسی تصور نمی‌کرد چنین قابلیت‌هایی در یک تلفن همراه قابل دسترسی باشند. می‌توان گفت اندروید گامی بلند به سمت داشتن یک کامپیوتر شخصی در جیب مردم است. یکی از رموز موفقیت اندروید، افراد باهوشی هستند که کد آن را می‌نویسند. گوگل کد اندروید را حفظ کرده، اما با توجه به متن‌باز بودن این سیستم‌عامل، شرکت‌های مختلف – از جمله سامسونگ، موتورولا، ال‌جی، هواوی و حتی مایکروسافت و اپل – می‌توانند کارکردهای موردنظر خود را به آن اضافه کنند.

Introducing Android Project Mainline

اما علی‌رغم تمام نکات مثبت اندروید، ماهیت متن‌باز بودن آن باعث ایجاد برخی مشکلات شده که شاید مهم‌ترین آنها fragmentation یا در اصطلاح چندپارگی و گسستگی این سیستم‌عامل است. به زبان ساده، "چندپارگی" اندروید به این موضوع اشاره می‌کند که با توجه به متعدد بودن کمپانی‌های سازنده گوشی‌های اندرویدی، در حال حاضر ورژن‌های مختلفی از اندروید روی این دیوایس‌ها در حال کار کردن است. این در حالی‌ست که در آیفون‌های اپل، چنین مشکلی مشاهده نمی‌شود؛ به عنوان مثال، تقریبا تمامی آیفون‌هایی که از iOS 12 پشتیبانی می‌کنند، در حال حاضر iOS 12 روی آنها اجرا شده و سیستم‌عامل آنهاست.

وقتی 100 کمپانی مختلف، یک کد منبع (source code) را می‌گیرند و 100 ورژن مختلف از اندروید (هرچند با تفاوت‌های جزئی) را تولید می‌کنند، به‌روزرسانی کردن تمام دیوایس‌های اندرویدی کار سنگین و دشواری خواهد بود. همچنین، به‌روزرسانی دیوایس تا حد زیادی به کمپانی سازنده آن هم بستگی دارد، زیرا عملا قالب نهایی سیستم‌عامل دستگاه توسط کمپانی سازنده آن تعیین می‌شود. می‌توان گفت، قابلیت‌های نرم‌افزاری که در قالب پوسته به سیستم‌عامل اندروید اضافه می‌شود، یک شمشیر دولبه است، زیرا از یک سو باعث بهبود اندروید می‌شود و از سوی دیگر، آپدیت کردن آن را سخت و پیچیده می‌کند.

Introducing Android Project Mainline

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

اتحاد به‌روزرسانی اندروید

گوگل در نخستین تلاش‌های خود برای مبارزه با معضل چندپارگی، در Google I/O 2011، تشکلی موسوم به "اتحاد به‌روزرسانی اندروید" را بنا نهاد. هدف از این اقدام، آن بود که در نتیجه همکاری با اپراتورها و کمپانی‌های سازنده، بتوان آپدیت‌های اندروید را به‌موقع‌تر به کاربران ارائه کرد. در آن مقطع از زمان تصور می‌شد که مشکل چندپارگی حل شده است، اما خبر بد آن بود که این اتحاد برای مقابله با روند کند به‌روزرسانی‌ها، عملا هیچ کاری نکرد.

پروژه Treble

شش سال پس از تشکیل "اتحاد به‌روزرسانی اندروید"، گوگل برنامه‌ای را با نام پروژه Treble راه‌اندازی کرد. این پروژه فقط یک وعده برای حل مشکلات به‌روزرسانی نبود، بلکه نحوه کار کردن آپدیت‌های اندروید با چارچوب واقعی (که برای کمک به پروسه آپدیت ساخته شده بودند) را بازسازی می‌کرد. به بیان دقیق‌تر، این پروژه به کمپانی‌های سازنده میکروپردازنده (مثل کوالکام و NVIDIA) کمک کرد تا بتوانند آن بخش از نرم‌افزار که به آنها مربوط می‌شود را به‌سرعت آپدیت کنند. استقبال از پروژه Treble در ابتدا آرام پیش می‌رفت، چرا که این پروژه آپدیتی اختیاری برای کمپانی‌های سازنده بود، اما از زمان عرضه اندروید Pie، پشتیبانی از پروژه Treble الزامی شده است.

Android Project Treble

به گفته گوگل، به لطف پروژه Treble و همکاری پیوسته با سازندگان تراشه و سخت‌فزار، کیفیت کلی اکوسیستم اندروید بالا رفته و تا به اینجا، سرعت استقبال از اندروید Pie تا 2.5 برابر بیشتر از اندروید اوریو بوده است. به‌علاوه، آپدیت‌های امنیتی اندروید به کاربران بیشتری می‌رسد. طبق ادعای گوگل، تعداد دیوایس‌هایی که به‌روزرسانی‌های امنیتی را در سه‌ماهه چهارم 2018 دریافت کردند، نسبت به مدت مشابه سال گذشته 84 درصد افزایش داشته است.

روی کاغذ این بدان معناست که طراحی و ارائه به‌روزرسانی‌ برای گوشی‌های اندرویدی برای سازندگان آسان‌تر شده است. به این ترتیب، این شرکت‌ها باید توانایی ارائه به‌موقع آپدیت‌ها (به‌ویژه به‌روزرسانی‌های سیستم‌عامل کامل) را داشته باشند. تا به اینجا پروژه Treble نتایج مثبتی به همراه داشته است. گوگل سازندگان گوشی‌های اندرویدی را ملزم کرده که حداقل تا 2 سال به ارائه آپدیت‌های امنیتی متعهد باشند. این امر در مورد گوشی‌های پیکسل رعایت می‌شود، اما علی‌رغم تأکید گوگل روی این مسأله، شاهد آن هستیم که بیشتر دیوایس‌های اندرویدی، آپدیت‌های امنیتی ماهانه را دریافت نمی‌کنند. این آپدیت‌ها عمدتا هر 3 ماه یکبار ارائه می‌شوند و این بدان معناست که این دیوایس‌ها ممکن است در برابر خطرات موجود، آسیب‌پذیر باشند.

پروژه Mainline

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

Introducing Android Project Mainline

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

- شما آپدیت‌های امنیتی، رفع باگ و بهبودهای عملکرد اندروید را خیلی سریع‌تر دریافت می‌کنید.

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

این همان چیزی‌ست که گوگل از آن با عنوان پروژه Mainline یاد می‌کند. گوگل چندی پیش در جریان Google I/O 2019 از پروژه‌ای با نام Mainline پرده برداشت. این پروژه به گوگل این اختیار را می‌دهد تا با دور زدن کمپانی‌های سازنده، بتواند به‌روزرسانی‌های امنیتی را مستقیما از پلی استور در اختیار کاربران قرار دهد (درست شبیه آپدیت کردن اپلیکیشن‌ها). با این رویکرد، گوگل می‌تواند اجزای منتخبِ "پروژه متن‌باز اندروید" (AOSP) را با سرعت بیشتر و برای مدت طولانی‌تر ارائه کند (بدون نیاز به آپدیت کامل OTA از سوی سازنده گوشی). به گفته گوگل، فواید پروژه Mainline بیش از هر چیز دیگر در سه حوزه امنیت، حریم شخصی و انسجام خود را نشان می‌دهد:

• امنیت: با پروژه Mainline، گوگل می‌تواند وصله‌های امنیتی برای باگ‌های امنیتی بحرانی را با سرعت بیشتری ارائه کند. به عنوان مثال، پروژه Mainline با ماژولار کردن اجزای رسانه‌ای (که حدود 40 درصد از آسیب‌پذیری‌های وصله شده اخیر را تشکیل می‌داد) و با صدور مجوز برای به‌روزرسانی کردن Conscrypt (تأمین‌کننده امنیت جاوا)، دیوایس شما را امن‌تر خواهد کرد.

• حریم شخصی: به گفته گوگل، حریم شخصی یکی از مهم‌ترین حوزه‌های فعالیت این شرکت بوده و برای محافظت بهتر از داده‌های کاربران و افزایش استانداردهای حریم شخصی آنها، تلاش‌های زیادی شده است. گوگل مدعی‌ست که پروژه Mainline می‌تواند با ارتقاء سیستم‌های اجازه‌دهی خود، از داده‌های کاربران حفاظت کند.

• انسجام: پروژه Mainline به گوگل کمک می‌کند تا بتواند با مواردی که پایداریِ دیوایس، سازگاری و انسجام توسعه‌دهنده را تحت تأثیر قرار می‌دهند، به سرعت برخورد کند. از جمله اقدامات گوگل در این زمینه، استانداردسازی داده‌های منطقه زمانی (time-zone data) در سراسر دیوایس‌هاست. همچنین، گوگل در حال کار کردن روی یک درایور جدید OpenGL – با نام ANGLE – است. این درایور به منظور کاهش مشکلاتی‌ست که توسعه‌دهندگان بازی در رابطه با دیوایس به آن برمی‌خورند.

Introducing Android Project Mainline

گوگل می‌تواند 12 ماژول مختلف – که در واقع، قسمت‌های کوچک‌تر اندروید هستند – را با استفاده از پروژه Mainline آپدیت کند. گوگل اجزای یادشده را در سه حوزه مورد بحث فوق، به این شکل فهرست کرده است:

• امنیت: کُدک‌های رسانه، اجزای چارچوب رسانه، DNS Resolver و Conscrypt

• حریم شخصی: رابط کاربری اسناد، کنترل‌کننده مجوز، ExtServices (سرویس‌های افزونه)

• انسجام: داده‌های منطقه زمانی، ANGLE (اختیاریِ توسعه‌دهندگان)، فراداده ماژول، اجزای شبکه،Captive Portal Login و Network Permission Configuration

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

سازوکار پروژه Mainline

اجزای Mainline در قالب فایل‌های APK یا فایل‌های APEX ارائه می‌شوند. APEX (مخفف Android Pony Express) فرمت جدیدی‌ست که به‌تازگی توسط گوگل توسعه یافته است. این فرمت شبیه APK است، با این تفاوت اساسی که APEX در پروسه بوت شدن، خیلی زودتر لود می‌شود. در نتیجه، بهبودهای مهم امنیتی و عملکردی، که قبلا جزئی از آپدیت کامل سیستم‌عامل بودند، می‌توانند به‌آسانی دانلود و نصب شوند (همانطور که اپلیکیشن‌ها به‌روزرسانی می‌شوند). جهت اطمینان از اینکه آپدیت‌ها به شکل امن تحویل داده می‌شوند، گوگل مکانیسم‌های جدیدی از نوع fail-safe تدارک دیده و پروسه‌های آزمایش را نیز ارتقاء داده است. ناگفته نماند، منظور از fail-safe آن است که در صورت بروز اشکال یا خرابی، هیچ آسیبی متوجه سیستم نخواهد بود.

Introducing Android Project Mainline

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

درست کردن سیستمی مثل این آسان نبوده و زمان زیادی برده است، زیرا گوگل با ابداع این سیستم به‌روزرسانی، اندروید را به شکل ماژولار (قطعه قطعه) طراحی کرده، در حالی که اندروید در ابتدا ماژولار نبود. نکته مهمی که باید به آن توجه شود آن است که پروژه Mainline شامل همه به‌روزرسانی‌ها نیست. به عنوان مثال، گوگل نمی‌تواند از طریق پلی استور، اندروید شما را به یک ورژن بالاتر آپدیت کند و این کار باید از سوی شرکت سازنده انجام شود.

مسأله مهم دیگر آنکه پروژه Mainline، بخشی از نسخه بعدی اندروید (که اینک، اندروید 10 نامیده می‌شود) است. و این یعنی برای بهره‌مندی از این قابلیت، شما باید منتظر باشید تا گوشی هوشمندتان به نسخه بعدی اندروید (که هنوز عرضه نشده) مجهز شود. اینکه چه زمانی می‌توانید اندروید 10 را روی گوشی خود داشته باشید، بحث دیگری‌ست.

اما خبر خوب آنکه،، نسخه بتای اندروید 10 از 7 می (17 اردیبهشت) علاوه بر دیوایس‌های پیکسل، پیکسل 2 و پیکسل 3a/3، برای 15 گوشی هوشمند جدید دیگر نیز در دسترس قرار گرفت. این گوشی‌ها عبارتند از: هواوی میت 20 پرو، ال‌جی جی8، سونی اکسپریا XZ3، اوپو Reno، ویوو X27، ویوو NEX S، ویوو NEX، وان‌پلاس 6T، شیائومی می میکس 3 5G، شیائومی می9، ریل می 3 Pro، ایسوس زنفون 5z، نوکیا 8.1، تکنو Spark 3 Pro و Essential PH-1.

منبع : Google Blog