Tembakan Cloud IDE: AWS Cloud9 vs Eclipse Che vs Eclipse Theia

Membawa pemaju baru ke projek pengaturcaraan dengan banyak pergantungan kadang-kadang boleh menjadi mimpi buruk. Saya telah melihat kes yang melampau di mana syarikat akhirnya menyerah dan membeli pemaju komputer baru setelah sebulan masalah cuba mengkonfigurasi yang lama. Lebih biasa, menyiapkan persekitaran pembangunan baru untuk pembangun baru mungkin memerlukan waktu antara tiga hari dan dua minggu.

Masalah itu adalah salah satu motivasi untuk ruang kerja pembangun berasaskan web. Motivasi lain adalah bahawa mesin untuk pembangunan tempatan memerlukan sumber CPU dan RAM yang besar, yang meningkatkan kos perkakasan; sumber tersebut membolehkan pemaju membina projek dengan cepat. Komputer untuk mengakses ruang kerja berasaskan web dapat menghilangkan perkakasan kelas bawah daripada komputer untuk pembangunan tempatan.

Sebagai faedah tambahan, ruang kerja pemaju berasaskan web dapat memusatkan dan menyeragamkan konfigurasi. Berapa kali anda mendengar "Ia berfungsi pada mesin saya" sebagai tindak balas kepada laporan pepijat? Persekitaran yang standard dapat menghilangkan masalah tersebut.

Dalam artikel ini saya akan membincangkan tiga IDE awan yang menyediakan ruang kerja pembangun berasaskan web. Dua daripadanya - Eclipse Theia dan Eclipse Che - merupakan projek sumber terbuka yang baru-baru ini yang kini berada di bawah naungan Yayasan Eclipse. Yang ketiga —AWS Cloud9 — adalah produk lama yang kini dimiliki dan disatukan dengan Amazon Web Services.

Gerhana Theia

Eclipse Theia adalah projek sumber terbuka untuk memberikan pengalaman pengembangan Kod Visual Studio dalam penyemak imbas; ia juga boleh berjalan di desktop di cangkang elektron Theia bergantung pada Protokol Pelayan Bahasa Visual Studio Code untuk menyediakan penyelesaian kod khusus bahasa dan ciri lain yang kami harapkan dalam penyunting kod moden.

Kerana dapat memanfaatkan pelayan bahasa yang ditulis untuk Visual Studio Code, Theia memiliki akses ke lebih dari 60 pelayan bahasa yang tersedia termasuk JavaScript, Java, Python, dan TypeScript. Theia juga menyokong protokol penyesuai debug.

Theia sendiri ditulis dalam TypeScript dan menggunakan PhosphorJS sebagai asas untuk cengkerang dan susun atur dok yang boleh diseret. Ia mengintegrasikan terminal yang menyambung semula pada muat semula penyemak imbas untuk mengekalkan sejarah baris perintah. Anda boleh membuat sambungan anda sendiri ke Theia jika anda mahu.

Terdapat tiga cara utama untuk mencuba Theia. Salah satunya ialah menjalankannya di Docker:

docker run -it -p 3000: 3000 -v "$ (pwd): / rumah / projek: cache" theiaide / theia: seterusnya

Yang kedua adalah menjalankannya di Gitpod (lihat bar sisi dan tangkapan skrin di bawah). Yang ketiga adalah menjalankan Eclipse Che versi 7 atau lebih baru (lihat bahagian seterusnya), yang menggunakan Theia sebagai UInya dan bukan Java UI yang digunakan pada versi Che yang lebih lama.

Projek Eclipse Theia merangkumi sumbangan dari TypeFox, Ericsson, Red Hat, IBM, Google, dan ARM. Peta jalan projek merangkumi sistem pemalam untuk menyokong peluasan VS Code (di luar pelayan bahasa), penyatuan dengan kerangka ujian, dan penambahbaikan lain.

TypeFox Gitpod

Gitpod adalah persekitaran yang dihoskan secara komersial (lihat tangkapan skrin di atas) yang direka untuk membuka repositori GitHub di ruang kerja. Gitpod IDE adalah sumber terbuka dan berdasarkan Eclipse Theia. Pada masa ini dalam fasa ujian beta percuma, Gitpod akan selalu bebas untuk projek sumber terbuka, tetapi akhirnya memerlukan langganan untuk membuka repositori swasta dan digunakan selama lebih dari 100 jam sebulan.

Awan Gitpod.io kini berjalan di beberapa kelompok Kubernetes yang dihoskan di infrastruktur Google Cloud di tiga wilayah yang berlainan di seluruh dunia. Produk Gitpod juga tersedia untuk hosting peribadi.

Gerhana Che

Eclipse Che adalah pelayan ruang kerja pembangun sumber terbuka dan IDE awan yang direka untuk pasukan dan organisasi. Che versi 7, yang kini dalam versi beta, menggunakan Eclipse Theia sebagai asas IDE-nya. Versi Che yang lebih lama menggunakan IDE berasaskan GWT. Ruang kerja Che berjalan dalam bekas di Docker, OpenShift, atau Kubernetes.

Anda boleh menjalankan Che di cloud awam, awan peribadi, atau memasangnya di mana-mana sistem operasi. Che telah diuji pada Ubuntu, Linux, MacOS, dan Windows. Anda juga boleh menjalankan Che di ruang kerja layan diri yang dihoskan di //che.openshift.io/, yang mana anda perlu memiliki atau membuat log masuk OpenShift atau Red Hat percuma.

Di samping itu, Eclipse Che merangkumi teras Red Hat CodeReady Workspaces, persekitaran pembangunan baru untuk OpenShift. Selain disokong oleh Red Hat, CodeReady Workspaces mempunyai tumpukan pra-binaan dengan teknologi Red Hat yang disokong dan termasuk Red Hat SSO untuk menangani pengesahan dan keselamatan antara pasukan pembangun.

Projek Eclipse Che merangkumi sumbangan daripada lebih daripada 20 syarikat termasuk CodeEnvy (pemaju asal Che), Docker, IBM, Red Hat, dan TypeFox. Peta jalan Che merangkumi menyelesaikan integrasi Theia dan sistem pemalam untuk Theia dan Che.

AWS Cloud9

Cloud9 IDE, yang saya sebutkan sebagai Go IDE pada tahun 2017, kini menjadi milik Perkhidmatan Web Amazon. Selain mempunyai penyunting kod berbilang bahasa berasaskan penyemak imbas, debuger untuk beberapa bahasa, dan terminal yang dipra-kebenaran untuk perkhidmatan AWS, Cloud9 kini membenarkan pengekodan kolaboratif.

Anda boleh menjalankan persekitaran pengembangan Cloud9 pada instance Amazon EC2 yang diuruskan atau mana-mana pelayan Linux yang menyokong SSH. Cloud9 merangkumi perkakas untuk lebih dari 40 bahasa pengaturcaraan, walaupun hanya lima yang memiliki debug, tujuh mempunyai linting, dan 12 mempunyai kod penyelesaian.

Sekiranya anda menjalankan Cloud9 pada EC2, contoh EC2 akan berhenti secara automatik setelah anda menutup Cloud9, secara lalai setelah 30 minit, dan kod anda akan kekal dalam simpanan Amazon EBS. Sekiranya anda menjalankan Cloud9 pada pelayan Linux anda sendiri, kod tersebut akan kekal dalam simpanan tempatan. Sekiranya anda memulakan semula Cloud9 setelah instance yang mendasarinya berhenti, Cloud9 akan memulakan semula instance tersebut secara automatik dan memulihkan sesi edit anda di tempat yang anda tinggalkan.

Anda boleh mengisi instance Cloud9 dengan mudah dari repositori atau dari fail tempatan. Dalam tangkapan skrin di bawah, saya menggunakan Git dari baris arahan Cloud9 untuk memeriksa repositori GitHub untuk Keras. Sekiranya anda mengedit projek berdasarkan repositori yang anda mempunyai izin komit, anda boleh mengemas kini repo dan menarik perubahan yang diperlukan dari baris perintah. Cloud9 tidak mempunyai sokongan grafik untuk kawalan versi.

Perhatikan paparan garis besar di sebelah kanan tangkapan skrin di bawah, yang berfungsi dengan baik untuk navigasi kasar dalam fail. Menu Go yang ditunjukkan di kiri atas berfungsi dengan baik untuk navigasi yang lebih umum. Tidak ada fungsi refactoring di Cloud9, walaupun terdapat pemformatan semula kod yang mudah.

AWS Cloud9 disatukan dengan Amazon Lightsail, AWS CodeStar, fungsi AWS Lambda, dan AWS CodePipeline. Integrasi Lambda nampaknya sangat baik.

IDE awan mana?

Eclipse Theia, Eclipse Che, dan AWS Cloud9 semuanya membolehkan anda mengedit dan menyahpepijat kod dalam pelbagai bahasa pengaturcaraan dari penyemak imbas. Terdapat perbezaan dalam susun atur dan fungsi, tetapi tidak cukup penting melainkan anda ingin mencapai sesuatu yang cukup maju, seperti melakukan refactoring.

Cloud9 adalah pilihan yang sangat baik jika anda mengusahakan projek AWS, dan Che adalah pilihan yang sangat baik (sebagai CodeReady) jika anda mengusahakan kod untuk sistem Red Hat. Theia menyediakan persekitaran penyuntingan terbaik dari ketiga, tetapi setelah Che 7 keluar dari beta, ia akan memiliki Theia IDE juga.