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

ARC Welder کروم اپ جدیدی برای پورت کردن APKها (اپ اندروید) برای اجرا توسط ARC است.

آشنایی با ARC ؛ ابزاری برای اجرای اپ‌های اندروید در مرورگر کروم

گوگل ARC ران‌تایم (محیط زمان اجرا) برای اجرای اپلیکیشن‌های اندروید در Chrome است که چند ماه پیش معرفی شده، پروژه‌ای که ChromeOS را به اپلیکیشن‌های بسیار زیاد و متنوع اندرویدی تجهیز می‌کند. جالب اینجاست که فقط چند روز پس از معرفی ARC توسط گوگل، هکرها کاری کردند که ARC در مرورگر کروم برای دستاپ هم فعال شود. بدین ترتیب می‌توان اپلیکیشن‌های اندرویدی را روی هر دستاپ ویندوزی، مک و لینوکس اجرا کرد. iOS را از این جمع فاکتور بگیرید!

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

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

گوگل محیطی به اسم Native Client به معنی ایستگاه اصلی یا به اختصار NaCL به مرورگر کروم اضافه کرده که از تکنولوژی سطل شن (Sandbox یا سطل شن محیط ایمنی برای اجرای نرم‎افزارهای خطرناک است، آلوده شدن سندباکس به معنی آلوده شدن سیستم عامل اصلی نیست) کروم استفاده می‌کند تا اپ‌ها و پلاگین‌ها با سرعتی بسیار بالا و نزدیک به سرعت اجرا روی سیستم عامل اصلی اجرا شوند. اپلیکیشنی که در NaCL اجرا می‌شود، می‌تواند از پردازنده‌ی اصلی و گرافیکی سیستم به طور کامل استفاده کند. مزیت ایستگاه اجرایی که Native است، سرعت بالای آن است حال آنکه ایستگاه اجرایی که با واسطه به سخت‌‎افزار دسترسی دارد، سرعتی به مراتب کمتر خواهد داشت.

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

اپلیکیشن ARC Welder یک ماشین مجازی اندرویدی می‌سازد

گوگل در ابتدا دستورالعملی برای پورت کردن اپلیکیشن‌های اندرویدی به ARC ارایه نکرده بود اما حالا اپلیکیشنی برای کروم به اسم ARC Welder ارایه کرده که هر اپ اندرویدی را به کروم اپ مبتنی بر ARC تبدیل می‌کند. البته این اپ بیشتر برای توسعه‌دهندگان مفید است ولیکن هر کسی می‌توان آن را امتحان کند.

اپلیکیشن ARC Welder مثل سایر اپ‌های کروم است.

به مراحل پورت کردن و سپس اجرای اپ جیمیل توجه کنید:

صفحه‌ی شروع اپ ARC Welder

صفحه‌ی اضافه کردن اپ اندرویدی به ARC Welder

انتخاب تنظیماتی برای پورت کردن اپ برای اجرا توسط ARC

اجرای اپ جیمیل اندرویدی توسط ARC در مرورگر کروم.

جیمیل به سرویس OAuth2 گوگل پلی نیاز دارد.

خطا حین اجرای اپ توییتر

ARC مبتنی بر اندروید 4.4 است و در حقیقت یک ماشین مجازی Dalvik به حساب می‌آید. اگر در مورد ART یا اندروید ران‌تایم خوانده باشید، مطمئناً با برخی علل کندتر بودن Dalvik نسبت به ART آشنایی دارید. ببینیم  CPUZ در مورد ماشین ARC چه می‌گوید:

CPUZ می‌گوید که ARC یک ماشین مجازی Dalvik 1.6.0 است.

نگاهی به مشکلات فعلی ARC

اپ‌های زیادی به درستی اجرا می‌شوند ولیکن اپ‌های متعددی هم به درستی اجرا نمی‌شوند. موضوع این است که ARC Welder واقعاً یک ابزار اندرویدی در کالبد مرورگر کروم نیست، چیزهایی کم دارد و طبیعی است که مثل یک اندرویدی واقعی، تمام اپ‌ها را به درستی اجرا نکند.

سرویس‌های کامل گوگل برای اجرای صحیح اپ لازم است.

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

در نسخه‌ی جدید ARC، برخی سرویس‌های مهم گوگل پلی هم اضافه شده تا سازگاری اپ‌های اندرویدی با ARC بیشتر شود. سرویس‌ها و APIهای مهمی مثل Google Cloud Messaging، Google+ Sign-in، Maps و Location و در نهایت Ads هم برای اجرای صحیح اپ‌ها نیاز است که خوشبختانه به ARC جدید اضافه شده و البته هنوز هم موارد دیگری در ARC غایب است.

لیستی از سرویس‌های گوگل پلی را با AOSP که دارایی سیستم عامل اندروید است، مقایسه کنید:

لیستی از سرویس‌ها و APIهای گوگل پلی و AOSP

سرویس بسیار مهمی به اسم Play Store's in-app purchasing که به معنی خرید درون اپی اپلیکیشن است هنوز به ARC اضافه نشده است. Chrome Web Store از خرید درون اپی پشتیبانی می‌کند ولیکن سازنده‌ی اپ باید کد خاصی برای آن تهیه کند.

آینده‌ی ARC

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

مزیت ARC برای توسعه‌دهندگان اندرویدی هم روشن است، آنها اپلیکیشنی را برای وسایل همراه و در عین حال پی‌سی و مک تهیه می‌کنند، تنها چند مرحله‌ی نسبتاً ساده برای پورت کردن اپ لازم است و این یعنی یک بار کد بنویسیم و در چند پلتفرم بزرگ از آن استفاده کنیم.