Projector是一款由JetBrains出品的遠(yuǎn)程訪(fǎng)問(wèn)IDE工具,Projector 是用于在網(wǎng)絡(luò)上遠(yuǎn)程運(yùn)行 JetBrains IDE 和 Swing 應(yīng)用程序的工具和框架,支持在服務(wù)器上運(yùn)行基于IntelliJ的IDE和基于Swing的應(yīng)用,讓開(kāi)發(fā)者可以在任何地方使用瀏覽器和本地應(yīng)用來(lái)訪(fǎng)問(wèn)它們。
適用場(chǎng)景
瘦客戶(hù)端
需要遠(yuǎn)程訪(fǎng)問(wèn)的配置
真正的大型項(xiàng)目
禁止在本地復(fù)制源代碼
用戶(hù)硬件被限制使用
高安全性企業(yè)環(huán)境
在runtime或數(shù)據(jù)庫(kù)附近運(yùn)行代碼以降低往返通信頻率
當(dāng)應(yīng)用程序繼續(xù)在服務(wù)器上運(yùn)行時(shí),需要關(guān)閉計(jì)算機(jī)
遠(yuǎn)程調(diào)試服務(wù)端(devtest,devprod)
具有調(diào)試源和預(yù)配置IDE的VM或Docker鏡像
需要在Windows設(shè)備甚至是非傳統(tǒng)的操作系統(tǒng)(例如ChromeOS)上的 GNU/Linux 環(huán)境中運(yùn)行IDE
目前有兩種方式使用Projector,分別是Web客戶(hù)端和原生應(yīng)用。
Web客戶(hù)端使用HTML5 Canvas API實(shí)現(xiàn)(原理是將JVM的Swing繪制層替換掉,改成向?yàn)g覽器發(fā)送渲染指令),使用者只需在瀏覽器輸入U(xiǎn)RL即可完成訪(fǎng)問(wèn)。當(dāng)然,前提是配置好Projector要訪(fǎng)問(wèn)的主機(jī)。
原生應(yīng)用支持macOS、Windows 和 Linux平臺(tái),除了可集成到Dock或任務(wù)欄這些好處外,原生應(yīng)用還支持Ctrl+W/Cmd+W等鍵盤(pán)快捷鍵,這些快捷鍵在Web客戶(hù)端中通常無(wú)法使用。