როგორ ჩაწეროთ კოდი Android Studio-ში ნებისმიერი მოწყობილობიდან JetBrains პროექტორით

ეძებთ კოდირებას დისტანციურად Android Studio-ში? შეამოწმეთ JetBrains პროექტორი, საუკეთესო საშუალება JetBrains-ის IntelliJ IDE-ის გასაშვებად ნებისმიერ მოწყობილობაზე.

JetBrains არის კომპანია ზოგიერთი ყველაზე პოპულარული IDE-ის უკან, მათ შორის IntelliJ IDEA, PyCharm და PhpStorm. Android Studio-ც კი, Google-ის ერთგვარი შიდა IDE Android-ის განვითარებისთვის, დაფუძნებულია IntelliJ-ზე.

მიუხედავად იმისა, რომ IntelliJ-ის IDE-ები პოპულარულია მიზეზის გამო (ისინი კარგი), ისინი ზოგჯერ შეიძლება იყოს ცოტა მძიმე. IntelliJ-ს და Android Studio-ს შეუძლია დაიკავოს ბევრი რესურსი მხოლოდ ღიად, მაგალითად. და თუ რამეს აგროვებთ, ისინი კიდევ უფრო მეტს გამოიყენებენ. თქვენ ასევე (ჯერ) ნამდვილად არ შეგიძლიათ JetBrains-ის პერსონალის გაშვება მობილურ მოწყობილობებზე, რადგან JetBrains-ს არ აქვს ადვილად მისაწვდომი ARM-ის კონსტრუქციები.

რა მოხდება, თუ არ გაქვთ ძლიერი კომპიუტერი, ან არც კი გაქვთ კომპიუტერი? ჩვეულებრივ, ეს არის ადგილი, სადაც თქვენ ეძებთ სხვა IDE-ებს, რომლებიც მუშაობენ ARM-ზე. მაგრამ JetBrains-ს აქვს გამოსავალი და მას JetBrains პროექტორი ჰქვია.

რა არის პროექტორი?

თქვენ ალბათ გსმენიათ ადრე დისტანციური დესკტოპის ან VNC-ის შესახებ. ეს საშუალებას გაძლევთ გრაფიკულად დაუკავშირდეთ კომპიუტერს ლოკალურ ქსელში ან თუნდაც ინტერნეტში. JetBrains პროექტორი მუშაობს დისტანციური დესკტოპის მსგავსად, მაგრამ გარკვეული მინუსების გარეშე.

JetBrains პროექტორის გამოსაყენებლად, თქვენ გჭირდებათ კომპიუტერი სადმე ინტერნეტში მის განსათავსებლად. ეს შეიძლება იყოს AWS მაგალითი ან სახლის სერვერი. ამის შემდეგ შეგიძლიათ დაუკავშირდეთ მას ნებისმიერი მხარდაჭერილი ბრაუზერიდან, მათ შორის მობილური Chrome და Firefox.

მაგრამ იმის ნაცვლად, რომ აჩვენოთ მთელი დესკტოპი და გაუგზავნოთ ამის ვიდეო არხი დაკავშირებულ კლიენტს, JetBrains Projector აგზავნის კლიენტისთვის საჭირო ინფორმაციას, რომ აჩვენოს IDE, თითქოს ის აჩვენებს ადგილობრივად. ეს ნიშნავს, რომ არ არის შეკუმშვის ან გარჩევადობის სკალირება, ამიტომ IDE გამოიყურება თითქმის მშობლიური.

ასევე, JetBrains პროექტორი არ შემოიფარგლება მხოლოდ ოფიციალური JetBrains IDE-ებით. სანამ თქვენ გაქვთ IDE, რომელიც მჭიდროდ არის დაფუძნებული JetBrains-ის ერთ-ერთზე, შეგიძლიათ გამოიყენოთ იგი JetBrains პროექტორთან ერთად. ეს მოიცავს Android Studio-ს.

რატომ პროექტორი?

ყველაზე დიდი მიზეზი, რის გამოც შეიძლება გინდოდეთ დისტანციური განვითარების გაკეთება, არის ის, რაზეც მე ვისაუბრე შესავალში: რა მოხდება, თუ არ გაქვთ ძლიერი x86-ზე დაფუძნებული კომპიუტერი? თქვენ შეგიძლიათ შეიძინოთ ნახევრად ძლიერი, სპეციალურად განვითარების სამუშაოებისთვის, ან შეგიძლიათ დაატრიალოთ ღრუბლოვანი სერვერი და გამოიყენოთ JetBrains პროექტორი.

ის ასევე შეიძლება სასარგებლო იყოს, თუ უბრალოდ გსურთ რესურსის მოთხოვნების გადმოტვირთვა. მაგალითად, მე მაქვს საკმაოდ ძლიერი სათამაშო ლეპტოპი i7-9750H და 32 GB ოპერატიული მეხსიერება. ეს საკმარისია იმ დიდი პროექტებისთვისაც კი, რომელთანაც მე მაქვს საქმე. მაგრამ თუ მე მსურს სხვა რამე გავაკეთო განვითარების გარდა, ეს ასევე რესურსზე ინტენსიურია, მაგალითად YouTube-ის ყურება, თამაშობ თამაშს? შემდეგ ყველაფერი იწყებს ნგრევას.

მაგრამ მე მაქვს Ryzen 7 5800X სერვერი 32 GB ოპერატიული მეხსიერებით. ასე რომ, მე დავაყენე JetBrains პროექტორი მასზე. ახლა შემიძლია უბრალოდ გავხსნა Chrome-ის ახალი ფანჯარა და დავუკავშირდე მას ჩემი ლეპტოპიდან რესურსების ჟონგლირების გარეშე ფიქრის გარეშე. სერვერი ასევე აშენებს ბევრად უფრო სწრაფად, ვიდრე ჩემი ლეპტოპი, ასე რომ, ეს არის მომგებიანი სიტუაცია.

როგორ ხდება პროექტორის გამოყენება?

JetBrains პროექტორი განკუთვნილია Linux-ის აპარატზე განსათავსებლად. ეს არ ნიშნავს იმას, რომ თქვენ არ შეგიძლიათ მისი გაშვება macOS-ზე ან Windows-ზე WSL-ით, მაგრამ ამის გამო შესაძლოა უცნაურ პრობლემებს წააწყდეთ.

მის დასაყენებლად, ყველაფერი რაც თქვენ უნდა გააკეთოთ არის გადახვიდეთ პროექტორის ინსტალერი GitHub რეპო და მიჰყევით იქ მითითებებს. ისინი გაგაცნობთ დამოკიდებულებების დაყენებას და IDE-ის დაყენებას. არსებობს WSL პრობლემების მოგვარების რამდენიმე ნაბიჯიც კი, თუ ეს გჭირდებათ.

ამის შემდეგ შეგიძლიათ უბრალოდ დაუკავშირდეთ სერვერის მისამართს სწორი პორტისა და ჟეტონის გამოყენებით (თუ თქვენ დააყენეთ ერთი), და ახლა თქვენ გაქვთ IDE გაშვებული თქვენს მოწყობილობაზე ყოველგვარი აურზაურის გარეშე.

ანდროიდის განვითარება

მე ვარ Android-ის დეველოპერი, ასე რომ, სანამ შემეძლო გამოვიყენო IntelliJ IDEA განვითარებისთვის, Android Studio უფრო კარგად მუშაობს. მიუხედავად იმისა, რომ JetBrains პროექტორი მხარს უჭერს მესამე მხარის IDE-ებს, ახლა ეს ისეთივე მარტივია, როგორც ჩაშენებული ბრძანების ხაზის ინტერფეისის გამოყენება მათი ჩამოტვირთვისა და ინსტალაციისთვის. თუმცა მაინც საკმაოდ მარტივია.

Android Studio JetBrains პროექტორთან ერთად გამოსაყენებლად, საკმარისია ჩამოტვირთოთ და ამოიღოთ Android Studio სადღაც გონივრულ ადგილას. შემდეგ თქვენ შეგიძლიათ ხელით დაამატოთ ის პროექტორში ბრძანების ხაზის მეშვეობით ბილიკის მითითებით.

ასევე არსებობს სხვა პრობლემა Android-ის განვითარებასა და პროექტორთან დაკავშირებით: აპლიკაციების გაშვება. ზედმეტი არაფრის გარეშე, შეგიძლიათ აპლიკაციების კოდირება და გადახედვის ნახვა პროექტორში, მაგრამ არ შეგიძლიათ გამოიყენოთ ემულატორი ან დაუკავშირდეთ რეალურ მოწყობილობას აპების რეალურად გასაშვებად და გამართვისთვის. ან შეგიძლია?

თითქმის ისეა, როგორც Google მოელოდა, რომ ასეთი სცენარი მოხდებოდა, რადგან ADB-ს შეუძლია დისტანციურ სერვერთან დაკავშირება ინტერნეტით. ყველაფერი რაც საჭიროა არის SSH გვირაბი კლიენტიდან პროექტორის სერვერამდე. მე დავაყენე Android Studio პროექტორზე, რომ არ ეცადოს ADB-ის მართვა და გამოიყენოს პორტი 5038. შემდეგ მე უბრალოდ ვიყენებ რაიმე სახის SSH კლიენტს (OpenSSH, plink და ა.შ.), რათა შევქმნა გვირაბი, რომელიც 5037 პორტზე ადგილობრივად გაშვებული ADB სერვერის გადამისამართებას 5038 პორტის სერვერზე გადასცემს. Ადვილი!

ყველაფერი რაც თქვენ გჭირდებათ არის SSH გვირაბი Android-ის სწორი განვითარებისთვის.

თუ გსურთ მეტი დეტალი იმის შესახებ, თუ როგორ უნდა ამუშავოთ Android Studio და SSH გვირაბი, შეამოწმეთ ეს GitHub დოკუმენტი ხოაკიმ ვერგესის მიერ.

ერთი შენიშვნა Android Studio-სა და სხვა მესამე მხარის JetBrains-ზე დაფუძნებული IDE-ების შესახებ: თქვენ არ შეგიძლიათ მათი განახლება პროექტორის ეკრანიდან. თქვენ მოგიწევთ უშუალოდ სერვერზე დისტანციურად გადატანა და მათი განახლება იქიდან. სანამ ამას გააკეთებთ, დარწმუნდით, რომ პროექტორის შესაბამისი ინსტანცია შეჩერებულია.

Android Android-ის განვითარება

იმის გამო, რომ JetBrains Projector მუშაობს ბრაუზერში და თქვენ შეგიძლიათ დაუკავშირდეთ Android ტელეფონს, როგორც სრულიად შემთხვევითი მაგალითი, მე მინდოდა რაღაცის ცდა.

Android 11-მა გააცნო შესაძლებლობა ჩართეთ უკაბელო ADB პირდაპირ მოწყობილობიდან. მიუხედავად იმისა, რომ ზოგიერთმა მწარმოებელმა მანამდე გამოავლინა ეს პარამეტრი, ის მიუწვდომელია Google-ის მიერ სერთიფიცირებული ყველა მოწყობილობისთვის, სანამ ისინი Android 11-ზე ან უფრო გვიან არის. მიუხედავად იმისა, რომ უკაბელო გამართვა განკუთვნილია კომპიუტერიდან გამოსაყენებლად, ეს არ არის აუცილებელი.

აპები მოსწონს შიზუკუ აჩვენეთ, რომ Android 11-ზე შესაძლებელია ADB-თან დაკავშირება თქვენს მოწყობილობასთან... თქვენი მოწყობილობიდან, კომპიუტერის გამოყენებაზე ფიქრის გარეშეც კი. მიუხედავად იმისა, რომ Shizuku იყენებს ამას, რათა აპლიკაციებმა განახორციელონ ამაღლებული ოპერაციები, ვფიქრობ, თქვენ ალბათ ხედავთ, სად მიდის ეს.

ასე რომ, მე გავაკეთე აპლიკაცია! არ ვიცი ოდესმე გავასაჯაროებ თუ არა, მაგრამ ეს საკმაოდ მარტივია. მე მაქვს მასში SSH ბიბლიოთეკა ARM64 ADB ბინართან ერთად. მე ვიყენებ ADB ბინარს იმ მოწყობილობასთან დასაკავშირებლად, რომელსაც ვიყენებ, შემდეგ ვიყენებ SSH ბიბლიოთეკას ჩემი მოწყობილობიდან პროექტორის სერვერზე გადამისამართების გვირაბის შესაქმნელად. და ბოლოს, მე ვიყენებ მას პროექტორის URL-ების შესანახად და გასაშვებად.

Bam, ვითარდება Android-ისთვის... Android-დან! ნებისმიერ დროს, როცა სახლში არ ვარ, მაგრამ მსურს ანდროიდის დეველოპერული სამუშაოები ჩავატარო, შემიძლია უბრალოდ ამოვიღო ჩემი Samsung Galaxy Tab S7. მე მაქვს Bluetooth კლავიატურა და Bluetooth მაუსი (შენიშვნა: თუ პროექტორს იყენებთ, ნამდვილად გსურთ გამოიყენოთ მაუსი ან ტრეკპადი. ის კარგად არ მუშაობს შეხებით შეყვანით), ასე რომ, მე შემიძლია განვავითარო და გავმართო მოწყობილობების გადართვის საჭიროების გარეშე და გაცილებით მძიმე ლეპტოპის გარშემო დგომის გარეშე.

პრობლემები

JetBrains პროექტორი ჯერ კიდევ საკმაოდ ადრეულ განვითარებაშია, ამიტომ არ არის სრულყოფილი.

  1. ხანდახან ცოტა დაგვიანებულია ისეთ საკითხებზე, როგორიცაა გადახვევა და გადაწევა, და კონტროლი შეიძლება გაფუჭდეს.
  2. შემთხვევით, ბიბლიოთეკის კოდის ნახვისას (ან დეკომპილირებული ან წყაროს ხედვაში), შრიფტის წონა მართლაც მძიმე ხდება და ყველაფერი ჩამორჩება. თუმცა, ეს შეიძლება დაფიქსირდა ამის დაწერისთანავე.
  3. ზოგიერთი დანამატი არ იმუშავებს გამართულად. ვინაიდან ეს არ არის პირდაპირი ვიდეო ნაკადი, დანამატები, როგორიცაა ჩაშენებული ბრაუზერები, უბრალოდ არაფერს აჩვენებს.
  4. X სერვერის მხარდაჭერა არ არის და ალბათ არც იქნება. ამან შეიძლება გაართულოს დესკტოპის და ბრაუზერის აპლიკაციების შემუშავება, მაგრამ თქვენ ყოველთვის შეგიძლიათ გამოიყენოთ SSH გვირაბი X გადამისამართებით და ადგილობრივი X სერვერი, თუ ეს ნამდვილად გჭირდებათ.
  5. ზოგჯერ ინტერფეისი იკეტება და თქვენ გჭირდებათ გვერდის განახლება ან თუნდაც სერვერის სერვისის გადატვირთვა, რომ ის კვლავ იმუშაოს.

და კიდევ არის.

მაგრამ არის ეს ყველაფერი გარიგება? რა თქმა უნდა, არა ჩემთვის. მე კარგად ვარ ოდნავ ნაკლებად გაპრიალებული გამოცდილებით (ვიყენებ Android Studio Canary-ს, ბოლოს და ბოლოს), განსაკუთრებით თუ ეს ნიშნავს, რომ მე შემიძლია გადავტვირთო ყველა კომპილაციის სამუშაო სხვა კომპიუტერზე და ჩემი ტაბლეტისთვისაც კი განვავითარო ჩემი ტაბლეტი.

Android Studio მუშაობს Samsung Galaxy Tab S7-ზე JetBrains პროექტორის საშუალებით

მიუხედავად მისი პრობლემებისა, მე მაინც ძალიან მომწონს JetBrains პროექტორი. ის შესაძლებელს ხდის მობილურიდან განვითარებას, გადააქვს რესურსის დატვირთვა ლოკალური კომპიუტერიდან დისტანციურზე და ასევე ძალიან მაგარია.

მე ვიცი სხვა IDE-ები, როგორიცაა Visual Studio, გაძლევთ საშუალებას გადმოწეროთ კომპილაცია დისტანციურ კომპიუტერზე, მაგრამ ეს მაინც მოითხოვს, რომ IDE დაინსტალიროთ და გაუშვათ ადგილობრივად.

მე პირადად ძალიან აღფრთოვანებული ვარ იმის ნახვით, სად მიდის JetBrains პროექტორი, რადგან ის უკვე საკმაოდ წარმოუდგენელია. იმედია, ისინი შეძლებენ გამოასწორონ ზოგიერთი პრობლემა, რომელიც ზემოთ აღვწერე, მაგრამ ახლაც, პროექტორი უსაფრთხოდ უნდა გამოიყენებოდეს წარმოებისთვის მზა პროექტებისთვის.

თუ გსურთ სცადოთ JetBrains პროექტორი თქვენთვის, აი ისევ ბმული ინსტალერს და თავდაპირველ დაყენების სახელმძღვანელოს. თუ გსურთ დააყენოთ Android Studio პროექტორში, აი ისევ ის ლინკი, როგორც.