Sebagai seseorang yang mempunyai background di web developer, saya biasanya buat website pakai aplikasi Notepad. Iya, notepad.exe, bukan aplikasi Notepad++ dan sebagainya. Saya waktu itu tidak peduli soal syntax highlighting, fitur autocomplete, fitur terminal/command prompt, dan fitur-fitur lainnya yang sebenarnya membuat orang lebih produktif.
Nah, habis itu saya mulai mencoba sebuah IDE yang cukup populer waktu itu bernama Adobe Dreamweaver. Di laboratorium sekolah saya waktu itu mereka pakai versi CS5.5, sedangkan saya sendiri punya versi CS6. Di Dreamweaver sendiri ada satu shortcut khusus yang saya sangat suka, yaitu fitur autocomplete untuk menutup tag HTML semudah mengetik karakter ‘<‘ dan ‘/’. Misalnya,
<title>Reinhart & Anak i++</title>
Yang dicetak tebal itu yang saya ketik, jadi fitur ini sangat berguna untuk nama tag HTML yang panjang (seperti <video> dan <aside>).
Lalu, pada tahun 2015 saya sempat bosan dengan Dreamweaver, khususnya masalah dukungan Dreamweaver CS5.5/CS6 (waktu itu sudah ada versi CC) terhadap HTML5 yang masih minim.
Setahun sebelumnya saya pernah mendengar bahwa GitHub merilis sebuah framework bernama Electron untuk membuat aplikasi/program desktop hanya menggunakan HTML5, dibandingkan dengan C/C++, C#, Java, dan sebagainya. Dan untungnya, tahun ini (2015) GitHub merilis versi stable/jahitan Atom untuk pertama kalinya.
Saya langsung tertarik sama editornya selama lebih dari 4 tahun, sebelum semua kejayaannya mulai diambil alih oleh Visual Studio Code.
Apakah itu Atom?
Oke, menurut situs webnya, Atom adalah sebuah “hackable text editor for the 21st century”, alias sebuah aplikasi pengolah teks (layaknya Notepad) namun bisa disesuaikan dengan kebutuhan sendiri. Dan hal tersebut benar karena Atom juga memiliki fitur plugin yang sangat fleksibel, namun waktu itu saya tidak memerlukan banyak sekali plugin karena hanya belajar soal HTML, CSS, dan JS.
IDE Atom ini juga didasari oleh Electron. Ya, framework yang dibuat perusahaan yang sama itu. Dan memang salah satu tujuan dibuatnya Atom ini adalah untuk memperlihatkan kehebatan dari si Electron, yang akhirnya juga dipilih untuk membuat aplikasi resmi untuk Discord, Slack, Spotify, dan bahkan Visual Studio Code!
Menurut saya, salah satu ciri khas dari IDE Atom ini adalah tema default-nya. Bahkan, saat saya pindah ke Visual Studio Code, tema default ini (cari aja “Atom One Light/Dark”) juga menjadi salah satu tema favorit saya sepanjang masa. Oh iya, saya juga mengganti tema dark di Android Studio dari Darcula (tema default Android Studio dan IDE milik JetBrains) ke Atom One Dark, meskipun warna background dari tema ini kurang sesuai dengan warna background aplikasinya yang didesain untuk tema Darcula.
Plot Twist: Visual Studio Code ngambil kodingan dari Atom!
Pada tahun yang sama (2015), Microsoft juga merilis IDE baru bernama Visual Studio Code. Oh iya, saya perlu kasih tahu bahwa pada waktu itu GitHub masih belum diakuisisi Microsoft. Dan salah satu jurnalis dari situs TheNextWeb melihat sebuah kejanggalan: Visual Studio Code ini juga berasal dari Atom!
Tapi karena saya waktu itu merasa bahwa Visual Studio (versi aslinya, bukan VS Code) terlalu berat buat dipasang, saya lebih suka IDE yang minimalis seperti Atom daripada VS Code meskipun dirilis pada waktu yang berdekatan.
Visual Studio Code yang bukan Visual Studio
Nah, pasti banyak yang nanya soal ini: vs vs vs code
Oke saya kasih konteksnya: v(isual) s(tudio) vs v(visual) s(studio) code
Secara singkat, VS Code ini ditujukan untuk hal yang berbeda dengan Visual Studio biasa, khususnya untuk dukungan bahasa pemrograman dan framework selain buatan Microsoft (Visual C++, Visual Basic, .NET, Xamarin) termasuk React, React Native, PlatformIO dan lain-lain. Dan benar, Visual Studio Code, bukan Visual Studio biasa, kini menjadi salah satu IDE favorit untuk bahasa pemrograman HTML/CSS/JS, Java, Python, dan sebagainya.
…dan akhirnya saya pindah ke VS Code karena Terminal
Nah mungkin ada yang nanya mengapa saya akhirnya juga pindah dari Atom ke VS Code. Alasannya cukup sepele sih, karena ada fitur integrated terminal di mana saya dapat membuka editor kode saya dan Command Prompt/Terminal di tempat yang sama! Sebenarnya sih ada juga beberapa plugin untuk Atom dengan fitur yang sama, tetapi saya baru tahu bahwa plugin tersebut ada saat tahun 2021 ini.
Nasib Atom pada tahun 2021
Semenjak Microsoft mengakuisisi GitHub, banyak sekali perubahan yang dilakukan di VS Code, namun sedikit untuk Atom. Bahkan, fitur-fitur baru di GitHub sendiri (seperti GitHub Codespaces) pakai Visual Studio Code, bukan Atom.
Menurut laman proyek GitHubnya, aplikasi Atom ini masih di-update setidaknya hampir setiap bulan. Dan saya sama sekali belum menemukan rencana bahwa upaya pengembangan Atom akan dihentikan dan dipindah ke Visual Studio Code.
Tapi, kini Atom mulai mempunyai banyak masalah karena pengembangan para pluginnya yang bersifat status quo. Berbicara soal plugin terminal tadi, kamu bisa menemukan banyak sekali plugin terminal di Atom, tapi hanya sedikit saja yang bisa jalan karena sebagian besar plugin hanya kompatibel untuk versi Electron lawas, sedangkan versi Electon di dalam Atom sering di-update secara berkala.
Catatan: Iya, saya coba debug plugin-plugin bermasalah itu di berbagai versi Node.js yang berbeda, dan intinya karena versi ABI (Application Binary Interface) alias NODE_MODULE_VERSION untuk pluginnya tidak sesuai dengan versi yang ada di dalam runtime/intepreter Node.js nya. Hal ini semakin diperparah karena NODE_MODULE_VERSION yang dipakai oleh Electron berbeda dengan NODE_MODULE_VERSION di dalam versi Node.js pada umumnya.
Hal ini yang sebenarnya membuat Atom semakin ditinggalkan oleh banyak penggunanya, bahkan jika kamu memasang salah satu plugin untuk Atom, plugin tersebut “merekomendasikan” untuk pindah ke Visual Studio Code!
Prediksi untuk Atom ke depannya
Saya merasa bahwa pengembangan Atom ini akan semakin dihentikan dalam 5 tahun kedepan, baik oleh GitHub/Microsoft maupun komunitasnya sendiri. Tak sedikit (mantan) pengguna Atom akhirnya hijrah ke Visual Studio Code, meskipun secara lahan-perlahan.
Saya menemukan beberapa argumen yang cukup menarik soal kenapa orang menyukai VS Code daripada Atom dan sebaliknya, kalian bisa cek di:
- https://dev.to/ben/which-editoride-do-you-use-and-why/
- https://dev.to/ben/why-i-switched-from-atom-to-visual-studio-code
- https://dev.to/diogenespolanco/which-do-you-prefer-vscode-or-atom-2j02
- https://hashnode.com/post/why-i-moved-away-from-atom-to-visual-studio-code-and-my-setup-cizpoc1hs001bqz53ob8bci9k
- https://medium.com/@ryanfarney/going-from-atom-to-vs-code-adf0d79ae1e1
- https://medium.com/@samuells/how-i-moved-from-atom-to-vs-code-7c2a1bb9d08c
Berdasarkan keenam artikel di atas, saya menemukan beberapa alasan mengapa banyak developer meninggalkan Atom untuk VS Code:
- Penggemar VS Code di luar semakin banyak (sepertinya aturan Markovnikov juga berlaku di dunia pemrograman),
- Performa IDE Atom semakin melambat untuk proyek-proyek besar,
- VS Code memiliki banyak fitur default (seperti Terminal tadi) daripada Atom,
- Karena kalian juga bisa pasang plugin tema, keymap (aturan shortcut pada keyboard), bahkan tata letak ala Atom di VS Code!
Tapi, dengan berkurangnya komunitas pengguna Atom saat ini belum tentu mengakibatkan pengembangan Atom sendiri terhentikan. Saya teringat dengan kasus Mozilla Thunderbird yang dulu sempat menjadi salah satu aplikasi surel/email terpopuler, namun kini semakin digantikan dengan aplikasi-aplikasi default email di sistem operasi masing-masing (macOS Mail, Mail for Windows 8/8.1/10/11, GNOME Geary, dsb.) Mozilla dan komunitas pengguna Thunderbird sendiri tetap tidak menyerah untuk tetap mengembangkan Thunderbird tersebut hingga saat ini.
Kesimpulan: Apakah saya masih akan tetap pakai Atom atau Visual Studio Code?
Meskipun kini saya seudah lebih sering menggunakan Visual Studio Code daripada Atom, Sekarang saya malah berupaya untuk keluar dari Visual Studio Code! Bukan karena masalah Microsoft, telemetry, bahkan strategi “embrace, extend, extinguish”, tapi karena framework Electron yang dipakai kedua IDE tersebut memiliki konotasi yang buruk terhadap performa komputer.
Electron menggunakan Chromium, salah satu web browser engine terkenal yang dipakai oleh Google Chrome, Opera, Microsoft Edge, Vivaldi, Brave, Falkon (QupZilla), dan seterusnya. Sedangkan, Google Chrome sendiri terkenal untuk memakan RAM yang cukup banyak.
Jadi, kalian bisa bayangkan gimana rasanya kalau buka Google Chrome bersamaan dengan Discord, Spotify, Microsoft Teams, Slack, Atom, dan Visual Studio Code, yang sama-sama menggunakan Electron. Itu sudah setara dengan membuka Google Chrome dan enam web browser lainnya. Kira-kira, berapa banyak RAM ya yang dipakai sama ketujuh aplikasi itu?
Spill dong, setelah Visual Studio Code kamu mau ke mana?
Saya saat ini lagi nyoba Kate, salah satu aplikasi text editor milik KDE yang juga mempunyai dukungan bahasa pemrograman yang cukup banyak. Anak-anak JetBrains juga pasti agak familiar dengan tampilannya (kecuali soal debugger dan lain-lain).
Berbeda dengan Atom dan Visual Studio Code, Kate ini dibuat menggunakan Qt bukan Electron, sehingga aplikasi ini “seharusnya” dapat bekerja lebih cepat daripada kedua IDE saya sebelumnya. Dan itulah salah satu alasan mengapa saya mulai menyukai IDE yang satu ini.
Meskipun demikian, ada beberapa kekurangan dari Kate yang saya harap dapat diperbaiki lagi:
- Dukungan Language Server Protocol yang masih minim (bisa dipake sih, tapi belum semua language server kompatibel dengan Kate)
- Sistem plugin yang cukup terbatas, ya karena mayoritas aplikasi Linux (GNOME, KDE) juga seperti itu…
Ya paling sekian dulu dari saya. Mungkin kapan-kapan saya bakal bahas soal Kate ini. Terima kasih.
Leave a Reply