Vai vēlaties kodēt attālināti lietotnē Android Studio? Iepazīstieties ar JetBrains projektoru, kas ir labākais veids, kā palaist JetBrains IntelliJ IDE jebkurā ierīcē.
JetBrains ir uzņēmums, kas nodrošina dažus no populārākajiem IDE, tostarp IntelliJ IDEA, PyCharm un PhpStorm. Pat Android Studio, Google sava veida iekšējā IDE Android izstrādei, ir balstīta uz IntelliJ.
Lai gan IntelliJ IDE ir populāri kāda iemesla dēļ (tie ir labi), tie dažkārt var būt nedaudz smagi. IntelliJ un Android Studio var aizņemt daudz resursu, piemēram, ja ir atvērti. Un, ja jūs kaut ko apkopojat, viņi izmantos vēl vairāk. Jūs arī (pagaidām) nevarat palaist JetBrains saturu mobilajās ierīcēs, jo JetBrains nav viegli pieejamu ARM būvējumu.
Tātad, kas notiek, ja jums nav jaudīga datora vai jums pat nav datora? Parasti šeit jūs varētu meklēt citus IDE, kas darbojas ar ARM. Bet JetBrains ir risinājums, un to sauc par JetBrains projektoru.
Kas ir projektors?
Jūs, iespējams, jau esat dzirdējuši par attālo darbvirsmu vai VNC. Tas ļauj grafiski mijiedarboties ar datoru, izmantojot lokālo tīklu vai pat internetu. JetBrains projektors darbojas nedaudz kā attālā darbvirsma, taču bez dažiem trūkumiem.
Lai izmantotu JetBrains projektoru, jums ir nepieciešams dators kaut kur internetā, lai to mitinātu. Tas varētu būt AWS gadījums vai mājas serveris. Pēc tam varat izveidot savienojumu ar to, izmantojot jebkuru atbalstītu pārlūkprogrammu, tostarp mobilo Chrome un Firefox.
Taču tā vietā, lai parādītu visu darbvirsmu un nosūtītu tās video plūsmu atpakaļ pievienotajam klientam, JetBrains projektors nosūta informāciju, kas klientam nepieciešama, lai parādītu IDE tā, it kā tas parādītu lokāli. Tas nozīmē, ka nav nekādas saspiešanas vai izšķirtspējas mērogošanas, tāpēc IDE izskatās gandrīz vietējais.
Turklāt JetBrains projektors neaprobežojas tikai ar oficiālajiem JetBrains IDE. Kamēr jums ir IDE, kas ir cieši balstīts uz JetBrains, varat to izmantot kopā ar JetBrains projektoru. Tas ietver Android Studio.
Kāpēc projektors?
Lielākais iemesls, kāpēc jūs varētu vēlēties veikt attālo attīstību, ir tas, par ko es runāju ievadā: Ko darīt, ja jums nav jaudīga x86 datora? Jūs varētu iegādāties pusjaudīgu, kas paredzēts īpaši izstrādes darbam, vai arī izveidot mākoņserveri un izmantot JetBrains projektoru.
Tas var būt noderīgi arī tad, ja vēlaties vienkārši atslogot resursu prasības. Piemēram, man ir diezgan jaudīgs spēļu klēpjdators ar i7-9750H un 32 GB RAM. Tas ir pietiekami pat lielajiem projektiem, ar kuriem es nodarbojos. Bet, ja es vēlos darīt kaut ko citu papildus attīstībai, tas ir arī resursietilpīgs, piemēram skatoties YouTube, spēlējot spēli? Tad lietas sāk jukt.
Bet man ir Ryzen 7 5800X serveris ar 32 GB RAM. Tāpēc es tajā instalēju JetBrains projektoru. Tagad es varu vienkārši atvērt jaunu Chrome logu un izveidot savienojumu ar to no sava klēpjdatora, neuztraucoties par resursiem. Serveris arī tiek veidots daudz ātrāk nekā mans klēpjdators, tāpēc tā ir abpusēji izdevīga situācija.
Kā notiek projektora lietošana?
JetBrains projektors ir paredzēts mitināšanai Linux datorā. Tas nenozīmē, ka nevarat to palaist operētājsistēmā macOS vai operētājsistēmā Windows ar WSL, taču tādēļ var rasties dažas dīvainas problēmas.
Lai to iestatītu, viss, kas jums jādara, ir doties uz Projektora instalētāja GitHub repo un izpildiet tur sniegtos norādījumus. Viņi palīdzēs jums instalēt atkarības un iestatīt IDE. Ir pat dažas WSL problēmu novēršanas darbības, ja jums tās ir nepieciešamas.
Pēc tam varat vienkārši izveidot savienojumu ar sava servera adresi, izmantojot pareizo portu un marķieri (ja tādu esat iestatījis), un tagad jūsu ierīcē bez problēmām darbojas IDE.
Android izstrāde
Esmu Android izstrādātājs, tāpēc, lai gan izstrādei varētu izmantot IntelliJ IDEA, Android Studio parasti darbojas labāk. Lai gan JetBrains Projector atbalsta trešo pušu IDE, tagad to lejupielādēšanai un instalēšanai var izmantot tikai iebūvēto komandrindas interfeisu. Tomēr tas joprojām ir diezgan vienkārši.
Lai izmantotu Android Studio ar JetBrains Projector, viss, kas jums jādara, ir lejupielādēt un izņemt Android Studio kaut kur saprātīgā vietā. Pēc tam varat to manuāli pievienot Projector, izmantojot komandrindu, norādot ceļu.
Ir arī cita problēma ar Android izstrādi un projektoru: lietotņu palaišana. Bez nekā papildu, jūs varat kodēt programmas un skatīt priekšskatījumus programmā Projector, taču jūs nevarat izmantot emulatoru vai izveidot savienojumu ar reālu ierīci, lai faktiski palaistu un atkļūdotu programmas. Vai arī jūs varat?
Tas ir gandrīz tāpat kā Google gaidīja šāda veida scenāriju, jo ADB var izveidot savienojumu ar attālo serveri, izmantojot internetu. Viss, kas nepieciešams, ir SSH tunelis no klienta uz Projector serveri. Es projektorā iestatīju Android Studio, lai nemēģinātu pārvaldīt ADB un izmantotu portu 5038. Tad es vienkārši izmantoju kaut kādu SSH klientu (OpenSSH, plink utt.), lai izveidotu tuneli, kas pārsūta ADB serveri, kas lokāli darbojas 5037. portā, uz serveri 5038. portā. Viegli!
Ja vēlaties iegūt plašāku informāciju par Android Studio un SSH tunelēšanas darbību, skatiet šo GitHub dokuments autors Hoakims Vergess.
Viena piezīme par Android Studio un citām trešās puses JetBrains IDE: tos nevar atjaunināt projektora ekrānā. Jums būs tieši jāpieslēdzas serverim un jāatjaunina tie no turienes. Pirms to darāt, pārliecinieties, vai atbilstošā projektora instance ir apturēta.
Android Android izstrāde
Tā kā JetBrains Projector darbojas pārlūkprogrammā un jūs varat izveidot savienojumu no kaut kā Android tālruņa, kā pilnīgi nejaušs piemērs, es gribēju kaut ko izmēģināt.
Android 11 ieviesa iespēju iespējot bezvadu ADB tieši no ierīces. Lai gan daži ražotāji šo iestatījumu atklāja pirms tam, tas nav pieejams visām Google sertificētajām ierīcēm, ja vien tajās darbojas operētājsistēma Android 11 vai jaunāka versija. Lai gan bezvadu atkļūdošana ir paredzēta izmantošanai no datora, tai nav jābūt.
Lietotnes, piemēram Šizuku parādiet, ka operētājsistēmā Android 11 ir iespējams izveidot savienojumu ar ADB ar ierīci... no savas ierīces, pat nedomājot par datora lietošanu. Lai gan Shizuku to izmanto, lai ļautu lietotnēm veikt paaugstinātas darbības, es domāju, ka jūs droši vien varat redzēt, kur tas notiek.
Tāpēc es izveidoju lietotni! Es nezinu, vai es to kādreiz publiskošu, bet tas ir diezgan vienkārši. Man tajā ir SSH bibliotēka kopā ar ARM64 ADB bināro failu. Es izmantoju ADB bināro failu, lai izveidotu savienojumu ar ierīci, kuru izmantoju, pēc tam izmantoju SSH bibliotēku, lai izveidotu pārsūtīšanas tuneli no savas ierīces uz projektora serveri. Visbeidzot, es to izmantoju, lai saglabātu un palaistu projektora vietrāžus URL.
Bam, izstrāde Android ierīcēm...no Android! Ikreiz, kad neesmu mājās, bet vēlos veikt Android izstrādes darbu, es varu izņemt savu Samsung Galaxy Tab S7. Man ir Bluetooth tastatūra un Bluetooth pele (piezīme: ja izmantojat projektoru, jūs tiešām vēlaties izmantot peli vai skārienpaliktni. Tas nedarbojas labi ar pieskāriena ievadi), tāpēc varu izstrādāt un atkļūdot, nepārslēdzot ierīces un nevazājot daudz smagāku klēpjdatoru.
Problēmas
JetBrains projektors joprojām ir diezgan agrīnā izstrādes stadijā, tāpēc tas nav ideāls.
- Reizēm tas nedaudz kavējas, reaģējot uz tādām lietām kā ritināšana un vilkšana, un vadīklas var darboties neveiksmīgi.
- Nejauši, skatot bibliotēkas kodu (dekompilētu vai avota skatā), fonta svars kļūst ļoti smags un viss kavējas. Tomēr tas, iespējams, ir labots šī raksta rakstīšanas brīdī.
- Daži spraudņi nedarbosies pareizi. Tā kā šī nav tieša video straume, spraudņi, piemēram, iegultās pārlūkprogrammas, vienkārši neko nerādīs.
- X servera atbalsta nav un, iespējams, arī nebūs. Tas var padarīt darbvirsmas un pārlūkprogrammu lietotņu izstrādi sarežģītu, taču vienmēr varat izmantot SSH tuneli ar X pārsūtīšanu un vietējo X serveri, ja tas patiešām ir nepieciešams.
- Dažreiz saskarne tiek bloķēta, un jums ir jāatsvaidzina lapa vai pat jārestartē servera pakalpojums, lai tas atkal darbotos.
Un ir vēl vairāk.
Bet vai tas viss ir darījuma lauzējs? Noteikti ne man. Man ir pilnīgi labi ar nedaudz mazāk noslīpētu pieredzi (galu galā es izmantoju Android Studio Canary), jo īpaši ja tas nozīmē, ka varu pārlādēt visu kompilācijas darbu citā datorā un pat izstrādāt planšetdatoram no sava planšetdators.
Pat ar tā problēmām man joprojām ļoti patīk JetBrains projektors. Tas padara iespējamu izstrādi no mobilās ierīces, pārvieto resursu slodzi no lokālā datora uz attālo, un tas ir arī vienkārši lieliski.
Es zinu, ka citi IDE, piemēram, Visual Studio, ļauj izlādēt kompilāciju uz attālo datoru, taču tam joprojām ir nepieciešams IDE instalēt un darboties lokāli.
Es personīgi ļoti priecājos redzēt, kur JetBrains Projector virzās no šejienes, jo tas jau šobrīd ir diezgan neticami. Cerams, ka viņi spēs novērst dažas no iepriekš aprakstītajām problēmām, taču pat tagad Projector vajadzētu būt droši lietojamam ražošanai gataviem projektiem.
Ja vēlaties pats izmēģināt JetBrains projektoru, te atkal saite uzstādītājam un sākotnējās iestatīšanas rokasgrāmatai. Ja vēlaties iestatīt Android Studio programmā Projector, te atkal tā saite, arī.