Soal 1Kode layar aplikasi Web (index.html dan app.js) dijalankan di mana?
Di Mana Kode Berjalan — Browser, Server, dan Aplikasi Ponsel
Artikel ini adalah bagian dari kursus Dasar-Dasar Teknologi Informasi, yang membangun dari nol pengetahuan TI praktis yang minimal kamu butuhkan untuk memprogram dan melakukan vibe coding.
Kode yang sama berperilaku berbeda di dalam browser, di dalam server, dan di atas OS ponsel. Diagram menelusuri cara memilih antara aplikasi Web dan aplikasi native.
Artikel ini membahas di mana kode yang kamu tulis berjalan.
Tempatnya ada tiga: di dalam browser, di dalam server, dan di dalam aplikasi yang dipasang di ponsel.
Kode aplikasi Web berjalan di dua tempat: browser dan server
Software yang membaca HTML di perangkat pengguna lalu menggambar layar adalah browser, sedangkan komputer yang disiapkan supaya bisa menerima request kapan saja adalah server.
Browser yang umum dipakai adalah Chrome, Safari, Edge, dan Firefox.
Bahasa yang bisa dibaca dan dijalankan browser secara langsung adalah JavaScript.
my-app terdiri dari 4 file: 2 file untuk layar adalah frontend, dan server.js yang menerima reservasi adalah backend.
Saat pengguna membuka URL-nya, hanya 2 file layar itu yang sampai ke perangkatnya.
- index.html — bentuk layar reservasi
- app.js — perilaku saat tombol ditekan
- Pengguna bisa membuka dan membaca isi keduanya
- Menjalankan proses yang menerima reservasi
- Tidak sampai ke perangkat, jadi tidak terbaca
- File tempat data reservasi ditulis
Meski sama-sama file my-app, tempat berjalannya terbagi ke dalam 2 bingkai.
Yang sampai ke perangkat hanya index.html dan app.js, dan setelah itu yang lewat di antara kedua bingkai hanyalah data.
Dari 3 baris berikut, baris tengah hanya ada di dalam browser, dan baris terakhir hanya ada di dalam runtime server.
console.log("Reservasi");
console.log(navigator.language);
console.log(process.version);
Kalau 3 baris ini dijalankan di dalam browser, hasilnya terbagi seperti berikut.
Kode aplikasi Web terbagi ke dua tempat
index.html dan app.js yang membentuk layar sampai ke perangkat pengguna dan berjalan di dalam browser.
server.js yang menerima reservasi tidak keluar dari server publik, jadi teks yang tidak diperlihatkan kepada orang lain ditulis di sisi ini.
Cara membuatnya bisa dipakai di ponsel: tetap sebagai aplikasi Web, atau jadi aplikasi native
Ponsel pun punya browser.
my-app langsung berjalan apa adanya kalau URL-nya dibuka di browser ponsel.
Inilah cara pertama, dan kodenya tidak perlu dibuat ulang.
Software yang mengelola peluncuran aplikasi, layar, komunikasi, dan file di dalam perangkat adalah OS (Operating System), yang pada ponsel berupa iOS atau Android.
Cara kedua adalah aplikasi native (native app; aplikasi yang ditaruh langsung di atas OS lalu dijalankan di sana), yang dibuat terpisah untuk iPhone dan untuk Android lalu disampaikan lewat App Store dan Google Play.
Menaruh aplikasi di perangkat sehingga bisa dijalankan dari OS disebut instalasi (install).
- File yang dipasang dari App Store
- Dijalankan lewat ikon di layar utama
- Membuka URL-nya menjalankan aplikasi Web
- index.html dan app.js tiba di sini
Seperti pada gambar, aplikasi native berada di atas OS, sedangkan aplikasi Web berjalan di atas browser yang ada di OS itu.
Program atau perangkat yang mengirim request ke server disebut klien (client), dan sisi yang berjalan di perangkat disebut juga sisi klien, sedangkan sisi yang berjalan di server disebut sisi server.
Pilihan di antara keduanya ditentukan dengan menjajarkan kelebihan dan kekurangannya.
| Yang dilihat | Aplikasi Web | Aplikasi native |
|---|---|---|
| Fungsi perangkat yang bisa dipakai | Hanya fungsi yang disediakan browser | Fungsi OS bisa dipakai secara luas |
| Tempat orang menemukannya | Mesin pencari dan URL yang dibagikan | Pencarian di App Store atau Google Play |
| Usaha untuk menyampaikannya ke pengguna | Cukup minta mereka membuka URL | Lolos peninjauan toko, lalu minta mereka memasangnya |
| Waktu sampai perbaikan tiba di pengguna | Saat mereka membuka URL berikutnya | Menunggu sampai pengguna memperbaruinya |
| Jumlah kode yang dibuat | 1 kode berjalan di iPhone maupun Android | Dibuat terpisah untuk iPhone dan Android |
Dari browser kamu hanya bisa memakai sebatas fungsi yang disediakan browser, dan saat kamu ingin memakai fungsi perangkat yang lebih luas dari itu, pilihannya aplikasi native.
Hal yang sama berlaku saat kamu ingin ditemukan lewat pencarian di toko aplikasi, dan kalau keduanya tidak berlaku, biarkan tetap sebagai aplikasi Web.
Ada pula cara membuat aplikasi untuk beberapa OS dari satu source code, dan namanya dibahas di artikel berikutnya.
Cara penyampaiannya berubah, server.js tetap sama
Kalau dibiarkan tetap sebagai aplikasi Web, ia berjalan cukup dengan membuka URL-nya di browser ponsel.
Aplikasi native dibuat terpisah untuk iPhone dan Android lalu dipasang pengguna dari toko aplikasi, tetapi mana pun yang kamu pilih, server.js dan reserve.db tetap berada di server publik.
Apa bedanya berjalan di komputer sendiri dengan berjalan setelah dipublikasikan
my-app yang sudah kamu buat masih hanya bisa dibuka dari komputermu sendiri.
Bagian dalam komputermu sendiri sebagai tempat menjalankan kode disebut lokal (local).
Angka di ujung http://localhost:3000 yang kamu buka secara lokal berfungsi membedakan tujuan di dalam komputer yang sama, dan hal itu dibahas di artikel "Apa yang Terjadi Saat Kamu Memasukkan URL" di kursus ini.
Di dalam bingkai adalah satu komputer kamu sendiri, dan browser, server.js, maupun reserve.db semuanya ada di dalamnya.
Setelah dipublikasikan, isi satu mesin ini terbagi ke 2 tempat, tetapi pengisi tiap peran tidak berubah.
| Peran yang sama | Lokal | Setelah dipublikasikan |
|---|---|---|
| Menjalankan layar | Browser di komputer kamu | Browser pengguna |
| Menerima reservasi | node server.js di komputer kamu | node server.js di server publik |
| Menyimpan data | reserve.db di komputer kamu | reserve.db di server publik |
| URL yang dibuka pengguna | http://localhost:3000 | URL server publik |
Nama file yang berjalan sama saja, baik secara lokal maupun setelah dipublikasikan.
Memindahkan keempat file itu sekaligus ke server publik di luar komputermu sendiri itulah deploy.
Keempat file pindah ke server publik, dan yang tersisa di komputermu hanyalah browser.
Dari perangkat mana pun, membuka example.com yang sama akan memunculkan layar yang sama.
Selama masih lokal, request dari luar tidak diterima, jadi orang lain tidak bisa memakainya dari perangkat mereka.
localhost:3000 menunjuk perangkat tempat kamu mengetiknya, jadi mengetiknya dari ponsel rekan kerja tidak akan sampai ke komputermu.
Isi pekerjaan mempublikasikannya dibahas di "Deploy dan Environment Variable — dari Berjalan di Komputer Sendiri sampai Dipublikasikan" di kursus ini.
Tempat menaruhnya berubah, orang yang bisa memakainya juga berubah
my-app yang berhasil berjalan mengikuti langkah di buku pemula hanya bisa dibuka dari dalam komputer kamu sendiri, yaitu secara lokal.
Kalau keempat file dipindahkan ke server publik, perangkat orang lain pun bisa membukanya, dan pekerjaan inilah yang disebut deploy.
Cek Pemahaman
Jawab setiap pertanyaan satu per satu.
Soal 2Cara mana yang membuat my-app buatanmu bisa dipakai di ponsel tanpa membuat ulang kodenya?
Soal 3Apa yang diperlukan supaya my-app yang berjalan secara lokal bisa dipakai dari perangkat orang lain?