كيفية البرمجة في Android Studio من أي جهاز باستخدام JetBrains Projector

click fraud protection

هل تبحث عن البرمجة عن بعد في Android Studio؟ تحقق من JetBrains Projector، أفضل طريقة لتشغيل JetBrains' IntelliJ IDE على أي جهاز.

JetBrains هي الشركة التي تقف وراء بعض بيئات التطوير المتكاملة الأكثر شهرة، بما في ذلك IntelliJ IDEA وPyCharm وPhpStorm. حتى Android Studio، وهو بيئة تطوير متكاملة من نوع Google لتطوير Android، يعتمد على IntelliJ.

في حين أن IDEs الخاصة بـ IntelliJ تحظى بشعبية لسبب ما (هم جيد)، يمكن أن تكون ثقيلة بعض الشيء في بعض الأحيان. يمكن لـ IntelliJ وAndroid Studio استهلاك الكثير من الموارد بمجرد فتحهما، على سبيل المثال. وإذا كنت تقوم بتجميع شيء ما، فسوف يستخدمون المزيد. لا يمكنك أيضًا (حتى الآن) تشغيل عناصر JetBrains على الأجهزة المحمولة، نظرًا لأن JetBrains لا يحتوي على تصميمات ARM يمكن الوصول إليها بسهولة.

فماذا يحدث إذا لم يكن لديك جهاز كمبيوتر قوي، أو ليس لديك جهاز كمبيوتر حتى؟ عادةً، سيكون هذا هو المكان الذي تبحث فيه عن بيئات تطوير متكاملة أخرى تعمل على ARM. لكن لدى JetBrains حلًا ما، وهو يسمى JetBrains Projector.

ما هو جهاز العرض؟

ربما سمعت عن سطح المكتب البعيد أو VNC من قبل. فهو يتيح لك التفاعل بيانيًا مع الكمبيوتر عبر شبكة محلية أو حتى عبر الإنترنت. يعمل جهاز JetBrains Projector بطريقة تشبه إلى حد ما سطح المكتب البعيد، ولكن بدون بعض العيوب.

لاستخدام JetBrains Projector، تحتاج إلى جهاز كمبيوتر في مكان ما على الإنترنت لاستضافته. يمكن أن يكون هذا مثيل AWS أو خادمًا منزليًا. ويمكنك بعد ذلك الاتصال به من أي متصفح مدعوم، بما في ذلك Chrome وFirefox على الأجهزة المحمولة.

ولكن بدلاً من عرض سطح المكتب بالكامل وإرسال بث فيديو له مرة أخرى إلى عميل متصل، يرسل JetBrains Projector المعلومات المطلوبة للعميل لعرض IDE كما لو كان يعرضه محليا. هذا يعني أنه لا يوجد أي ضغط أو مقياس للدقة، لذا يبدو IDE أصليًا تقريبًا.

كما أن JetBrains Projector لا يقتصر على بيئات التطوير المتكاملة الخاصة بـ JetBrains فقط. طالما أن لديك بيئة تطوير متكاملة (IDE) تعتمد بشكل وثيق على واحدة من JetBrains، فيمكنك استخدامه مع JetBrains Projector. يتضمن ذلك Android Studio.

لماذا جهاز العرض؟

السبب الأكبر الذي قد يجعلك ترغب في القيام بالتطوير عن بعد هو ما تحدثت عنه في المقدمة: ماذا لو لم يكن لديك جهاز كمبيوتر قوي يعمل بنظام x86؟ يمكنك شراء خادم شبه قوي خصيصًا لأعمال التطوير، أو يمكنك تشغيل خادم سحابي واستخدام JetBrains Projector.

يمكن أن يكون مفيدًا أيضًا إذا كنت تريد فقط إلغاء تحميل متطلبات الموارد. على سبيل المثال، لدي كمبيوتر محمول قوي جدًا للألعاب مزود بمعالج i7-9750H وذاكرة وصول عشوائي (RAM) سعة 32 جيجابايت. وهذا يكفي حتى للمشاريع الكبيرة التي أتعامل معها. ولكن إذا أردت أن أفعل شيئًا آخر بالإضافة إلى التطوير الذي يتطلب استخدامًا مكثفًا للموارد أيضًا، مثل أشاهد اليوتيوب، تلعب لعبة؟ ثم تبدأ الأمور في الانهيار.

لكن لدي خادم Ryzen 7 5800X به ذاكرة وصول عشوائي (RAM) تبلغ 32 جيجابايت. لذلك قمت بتثبيت جهاز عرض JetBrains على ذلك. يمكنني الآن فتح نافذة Chrome جديدة والاتصال بها من جهاز الكمبيوتر المحمول الخاص بي دون القلق بشأن استخدام الموارد. كما يتم إنشاء الخادم بشكل أسرع بكثير من الكمبيوتر المحمول الخاص بي، لذا فهو وضع مربح للجانبين.

كيف يتم استخدام جهاز العرض؟

من المفترض أن يتم استضافة جهاز JetBrains Projector على جهاز Linux. هذا لا يعني أنه لا يمكنك تشغيله على نظام التشغيل macOS أو على Windows باستخدام WSL، ولكن قد تواجه بعض المشكلات الغريبة بسبب ذلك.

لإعداده، كل ما عليك فعله هو التوجه إلى جهاز العرض المثبت جيثب الريبو واتبع التعليمات هناك. سيرشدونك خلال تثبيت التبعيات وإعداد IDE. هناك أيضًا بعض خطوات استكشاف أخطاء WSL وإصلاحها إذا كنت في حاجة إليها.

بعد ذلك، يمكنك فقط الاتصال بعنوان الخادم الخاص بك باستخدام المنفذ والرمز الصحيحين (إذا قمت بتعيين واحد)، والآن لديك IDE يعمل على جهازك دون أي تضخم.

تطوير الروبوت

أنا مطور Android، لذلك بينما يمكنني استخدام IntelliJ IDEA للتطوير، يميل Android Studio إلى العمل بشكل أفضل. على الرغم من أن JetBrains Projector يدعم بيئة تطوير متكاملة (IDEs) تابعة لجهات خارجية، إلا أن الأمر أصبح الآن بسيطًا مثل استخدام واجهة سطر الأوامر المضمنة لتنزيلها وتثبيتها. ومع ذلك، لا يزال الأمر بسيطًا جدًا.

لاستخدام Android Studio مع JetBrains Projector، كل ما عليك فعله هو تنزيل Android Studio واستخراجه من مكان ما. ثم يمكنك إضافته يدويًا إلى جهاز العرض من خلال سطر الأوامر عن طريق تحديد المسار.

هناك أيضًا مشكلة أخرى تتعلق بتطوير Android وجهاز العرض: وهي تشغيل التطبيقات. بدون أي شيء إضافي، يمكنك برمجة التطبيقات وعرض المعاينات في جهاز العرض، ولكن لا يمكنك استخدام محاكي أو الاتصال بجهاز حقيقي لتشغيل التطبيقات وتصحيح أخطائها. أو هل تستطيع؟

يبدو الأمر كما لو أن Google توقعت حدوث هذا النوع من السيناريو لأن ADB يمكنه الاتصال بخادم بعيد عبر الإنترنت. كل ما هو مطلوب هو نفق SSH من العميل إلى خادم جهاز العرض. لقد قمت بتعيين Android Studio على جهاز العرض لعدم محاولة إدارة ADB واستخدام المنفذ 5038. ثم أستخدم نوعًا ما من عملاء SSH (OpenSSH، plink، إلخ) لإنشاء نفق يعيد توجيه خادم ADB الذي يعمل محليًا على المنفذ 5037 إلى الخادم على المنفذ 5038. سهل!

كل ما تحتاجه هو نفق SSH لتطوير Android بشكل مناسب.

إذا كنت تريد المزيد من التفاصيل حول كيفية تشغيل أنفاق Android Studio وSSH، فراجع هذا وثيقة جيثب بواسطة يواكيم فيرجيز.

ملاحظة واحدة حول Android Studio وIDEs الأخرى المستندة إلى JetBrains: لا يمكنك تحديثها من شاشة جهاز العرض. ستحتاج إلى الاتصال بالخادم عن بعد مباشرةً وتحديثه من هناك. تأكد من إيقاف مثيل جهاز العرض المقابل قبل القيام بذلك.

تطوير أندرويد أندرويد

نظرًا لأن JetBrains Projector يعمل في المتصفح، ويمكنك الاتصال من شيء مثل هاتف Android، كمثال عشوائي تمامًا، أردت تجربة شيء ما.

قدم Android 11 القدرة على تمكين ADB اللاسلكي مباشرة من الجهاز. على الرغم من أن بعض الشركات المصنعة كشفت عن هذا الإعداد قبل ذلك الوقت، إلا أنه غير متاح لجميع الأجهزة المعتمدة من Google طالما أنها تعمل بنظام Android 11 أو الإصدارات الأحدث. على الرغم من أن المقصود من تصحيح الأخطاء اللاسلكية هو استخدامه من جهاز كمبيوتر، إلا أنه ليس من الضروري أن يكون كذلك.

تطبيقات مثل شيزوكو أثبت أنه من الممكن على Android 11 الاتصال بـ ADB بجهازك...من جهازك، حتى دون التفكير في استخدام جهاز كمبيوتر. بينما يستخدم Shizuku هذا للسماح للتطبيقات بتشغيل عمليات مرتفعة، أعتقد أنك ربما تستطيع رؤية أين يتجه هذا.

لذلك قمت بإنشاء تطبيق! لا أعرف إذا كنت سأعلن ذلك يومًا ما، لكن الأمر بسيط جدًا. لدي مكتبة SSH بها بالإضافة إلى ملف ثنائي ARM64 ADB. أستخدم ثنائي ADB للاتصال بالجهاز الذي أستخدمه، ثم أستخدم مكتبة SSH لإنشاء نفق إعادة توجيه من جهازي إلى خادم جهاز العرض. وأخيرًا، أستخدمه لتخزين وتشغيل عناوين URL لجهاز العرض.

بام، تطوير لنظام Android...من Android! في أي وقت لا أكون فيه بالمنزل ولكني أرغب في الحصول على بعض أعمال تطوير Android، يمكنني فقط أن أخرج سامسونج جالاكسي تاب S7. لقد حصلت على لوحة مفاتيح بلوتوث وماوس بلوتوث (ملاحظة جانبية: إذا كنت تستخدم جهاز العرض، فسوف حقًا تريد استخدام الماوس أو لوحة التتبع. إنه لا يعمل بشكل جيد مع الإدخال باللمس)، لذلك يمكنني التطوير وتصحيح الأخطاء دون الحاجة إلى تبديل الأجهزة ودون الاضطرار إلى حمل جهاز كمبيوتر محمول أثقل بكثير.

مشاكل

لا يزال جهاز العرض JetBrains في مرحلة مبكرة جدًا من التطوير، لذا فهو ليس مثاليًا.

  1. في بعض الأحيان يكون الأمر بطيئًا بعض الشيء عند الاستجابة لأشياء مثل التمرير والسحب، وقد تصبح عناصر التحكم غير فعالة.
  2. بشكل عشوائي، عند عرض كود المكتبة (سواء تم فك ترجمته أو في عرض المصدر)، يصبح وزن الخط ثقيلًا للغاية ويتأخر كل شيء. ربما تم إصلاح هذا حتى كتابة هذا المقال.
  3. لن تعمل بعض المكونات الإضافية بشكل صحيح. نظرًا لأن هذا ليس دفق فيديو مباشرًا، فلن تعرض المكونات الإضافية مثل المتصفحات المضمنة أي شيء.
  4. لا يوجد دعم لخادم X، وربما لن يكون هناك أي دعم. يمكن أن يجعل هذا تطوير تطبيقات سطح المكتب والمتصفح أمرًا صعبًا، ولكن يمكنك دائمًا استخدام نفق SSH مع إعادة توجيه X وخادم X محلي إذا كنت في حاجة إليه حقًا.
  5. في بعض الأحيان يتم قفل الواجهة وتحتاج إلى تحديث الصفحة أو حتى إعادة تشغيل خدمة الخادم حتى تتمكن من العمل مرة أخرى.

وهناك المزيد.

ولكن هل كل هذا يعد بمثابة كسر للصفقات؟ بالتأكيد ليس بالنسبة لي. أنا بخير تمامًا مع تجربة أقل مصقولًا (أنا أستخدم Android Studio Canary، بعد كل شيء)، على وجه الخصوص إذا كان ذلك يعني أنه يمكنني تفريغ جميع أعمال التجميع إلى كمبيوتر آخر وحتى تطوير جهازي اللوحي من جهازي لوح.

يعمل Android Studio على جهاز Samsung Galaxy Tab S7 عبر جهاز العرض JetBrains

حتى مع مشاكله، ما زلت أحب جهاز العرض JetBrains حقًا. فهو يجعل التطوير من الهاتف المحمول ممكنًا، وينقل تحميل الموارد من كمبيوتر محلي إلى كمبيوتر بعيد، كما أنه رائع حقًا.

أعلم أن بيئات التطوير المتكاملة (IDEs) الأخرى، مثل Visual Studio، تتيح لك إلغاء تحميل الترجمة إلى كمبيوتر بعيد، ولكن هذا لا يزال يتطلب منك تثبيت IDE وتشغيله محليًا.

أنا شخصيًا متحمس جدًا لرؤية أين سينتقل جهاز JetBrains Projector من هنا لأنه أمر لا يصدق بالفعل في الوقت الحالي. نأمل أن يتمكنوا من إصلاح بعض المشكلات التي ذكرتها أعلاه، ولكن حتى الآن، يجب أن يكون جهاز العرض آمنًا للاستخدام في المشروعات الجاهزة للإنتاج.

إذا كنت ترغب في تجربة جهاز عرض JetBrains بنفسك، وهنا الرابط مرة أخرى إلى المثبت ودليل الإعداد الأولي. إذا كنت تريد إعداد Android Studio في جهاز العرض، وهنا هذا الرابط مرة أخرى، أيضًا.