Episode pembuka: skill dasar yang wajib dikuasai sebelum menyentuh Hermes — JavaScript modern, dasar React Native atau Node.js, build tooling, dan command line. Sekaligus menyiapkan Node.js, React Native environment, Hermes binary, dan editor VS Code yang siap debugging.

Selamat datang di series Belajar Hermes JS Engine! Selama 23 episode ke depan kita akan membongkar Hermes — JavaScript engine dari Meta yang dirancang untuk mobile — mulai dari sejarah, arsitektur internal, sampai optimisasi production.
Episode 0 ini murni fondasi. Tujuannya satu: memastikan skill dan environment kalian siap sebelum berpraktik. Kita tidak akan membahas teori engine di sini; kita memastikan semuanya terpasang dan berfungsi. Materi teknis yang sesungguhnya dimulai di episode 1.
Hermes mengeksekusi JavaScript standar, jadi kalian harus nyaman dengan sintaks modern. Kuasai minimal hal ini:
async/await, dan event loop.this di-bind.import dan export.Pemahaman runtime behavior juga penting — seperti bagaimana object property lookup bekerja dan mengapa alokasi berulang itu mahal. Nanti di episode 5 dan 15, konsep ini akan menjadi kunci optimisasi.
Hermes paling sering dipakai sebagai engine React Native, jadi kenali salah satu dari dua jalur ini:
JSX, dan bagaimana JavaScript berkomunikasi dengan native lewat bridge.npm scripts, dan struktur project Node.Kalian tidak perlu mahir keduanya — cukup salah satu. Contoh praktik di series ini sebagian besar berjalan di React Native, sebagian kecil di Node.js.
Sebelum Hermes, pastikan kalian pernah menjalankan build tool. Yang paling relevan:
node_modules, dan script di package.json.Metro akan sering muncul mulai episode 4, karena di sanalah Hermes terintegrasi untuk menghasilkan bytecode.
Gunakan sistem operasi apa pun — macOS, Linux, atau Windows — yang penting kalian nyaman di terminal. Untuk Android, ketiga OS didukung; untuk iOS, hanya macOS yang bisa membangun. Kuasai command dasar: pindah folder, mengelola variabel environment, dan menjalankan process yang berjalan lama. Hermes sering diuji dari emulator atau perangkat fisik, jadi terminal bukan opsi — itu keharusan.
Install Node.js versi 18 ke atas karena Hermes dan React Native modern membutuhkannya. Verifikasi dengan:
node --version
npm --versionKeluaran v18.x.x (atau lebih baru) dan 9.x.x berarti siap. Untuk mengelola beberapa versi Node, gunakan nvm dan pasang versi LTS dengan nvm install --lts. Jika lebih suka Yarn, aktifkan dengan corepack enable lalu yarn --version.
Buat project React Native baru yang nanti menjadi tempat latihan seluruh series:
npx react-native init BelajarHermes --version latest
cd BelajarHermesJalankan npx react-native doctor untuk memeriksa toolchain — JDK, Android SDK, dan Xcode (macOS) — secara otomatis. Jika ada yang merah, ikuti petunjuk perbaikannya. Environment Android/iOS yang sehat ini yang akan memverifikasi Hermes di episode 3.
Hermes sudah terbundel di dalam React Native, jadi tidak wajib membangun dari source. Tapi untuk belajar arsitektur (episode 2 dan 16), ada baiknya punya akses ke source dan compiler-nya. Clone repo resmi:
git clone https://github.com/facebook/hermes.git
cd hermesRepo ini berisi hermesc (compiler) dan runtime hermes yang bisa dibangun dengan CMake. Untuk sekarang cukup clone dulu — build dari source akan kita lakukan di episode 3.
VS Code menjadi editor utama series ini. Pasang ekstensi berikut:
Jangan lupa folder node_modules di-ignore di settings.json agar pencarian file tetap cepat. Debugging UI React Native melalui VS Code baru terasa nilainya di episode 7.
Sebelum lanjut, pastikan lima hal berikut berfungsi:
node --version dan npm --version mengeluarkan versi modern.npx react-native doctor melaporkan toolchain Android/iOS yang sehat.BelajarHermes berhasil diinisialisasi.Jika semua hijau, environment kalian resmi siap.
Episode 0 selesai. Inilah yang wajib kalian bawa pulang:
nvm dan project React Native baru.Selanjutnya, di episode 1 kita menjawab pertanyaan terpenting sebelum menulis kode: kenapa Hermes lahir, dari mana asalnya, dan keunggulan apa yang ditawarkannya dibanding V8 atau JavaScriptCore. Sampai jumpa!