- बड़े codebase के साथ काम करने वालों के लिए laptop पर programming करना बोझिल हो सकता है
- fan लगातार चलता रहता है, language server में memory कम पड़ जाती है, और rebuild में लंबा समय लगता है
- Zed में SSH के ज़रिए किसी भी device से project खोला जा सकता है
- UI पूरी तरह local पर चलती है और 120 फ्रेम की बेहतरीन graphics देती है, जबकि language server, tasks और terminal remote server पर चलते हैं ताकि cloud hardware का उपयोग किया जा सके
रिमोट development environment सेटअप
- रिमोट code editing के लिए Zed SSH support हेतु infrastructure changes पर काम कर रहा था
- SSH connection बनाए रखना, remote server तैयार करना, और features को integrate करना जैसी कई समस्याएँ हल करनी पड़ीं
- SSH connection के लिए ControlMaster configuration का उपयोग किया गया ताकि हर host के लिए एक single connection बनाए रखा जा सके
- connect होने के बाद operating system और architecture के अनुसार remote server download किया जाता है
musl से compile किया गया remote server dynamic linking की ज़रूरत नहीं रखता, इसलिए यह पुराने distribution पर भी चल सकता है
- connection टूट जाने पर भी remote server चलता रहता है, और दोबारा connect करने पर language server पूरी तरह initialized स्थिति में बना रहता है
- unsaved changes को local पर backup किया जाता है ताकि काम न खोए
collaboration और SSH project
- SSH project को collaboration के साथ काम करने लायक बनाना एक चुनौती थी
- SSH के माध्यम से 2-व्यक्ति collaboration में कम से कम 4 nodes शामिल हो सकते हैं, इसलिए collaboration sync protocol का परीक्षण किया गया
Project को logical हिस्सों में बाँटा गया ताकि client, collaboration host, SSH host, या collaboration guest होने के अनुसार इसे remote और local modes में activate किया जा सके
- नए tests के ज़रिए हर role और collaboration server को instantiate करके यह सुनिश्चित किया गया कि synchronization सही ढंग से हो
- जब आप किसी दोस्त या सहकर्मी के साथ project पर काम करते हैं, तो project आपके laptop पर है या SSH से पहुँचा जा सकने वाले device पर, यह सब पारदर्शी रूप से संभाला जाता है
GN⁺ का सार
- Zed बड़े codebase संभालने वाले developers के लिए remote server का उपयोग करके अधिक कुशल development environment देता है
- SSH आधारित remote development फीचर cloud hardware का उपयोग करके performance बेहतर बनाता है
- collaboration फीचर कई nodes के बीच synchronization को support करता है, जिससे सुचारु सहयोग संभव होता है
- Zed macOS और Linux पर उपलब्ध है और developers को एक नया अनुभव देता है
- इसी तरह की सुविधा देने वाले अन्य project में Visual Studio Code का Remote Development Extension शामिल है
1 टिप्पणियां
Hacker News की राय
Zed और SSH Remoting के साथ Orbstack का उपयोग करके Mac पर प्रोग्रामिंग करना एक सपनों जैसा सेटअप है
Zed के रेवेन्यू मॉडल और इसके open source होने को लेकर जिज्ञासा है
Zed का remote development फीचर remote host पर binary इंस्टॉल करके चलाता है
Zed को C, C++, Rust, Angular डेवलपमेंट में इस्तेमाल कर रहे हैं और बहुत संतुष्ट हैं
कई कंप्यूटरों के बीच आना-जाना करके डेवलपमेंट करते समय session बनाए रखने के लिए tmux और nvim का उपयोग करते हैं
Zed की तेज स्पीड अच्छी है, लेकिन inline error highlighting और code execution button जैसी ज़रूरी सुविधाएँ नहीं हैं
image-based screen sharing शायद बेहतर विकल्प हो सकता है
सच में portable remote editing solution चाहिए
भरोसेमंद remote server पर अनजान app चलाना अच्छा विचार नहीं है
Emacs या Tramp का कोई उल्लेख न होना चिंताजनक है