What is Web App?

Mengenal apa itu aplikasi web dan API

Apa itu Aplikasi Web?

Aplikasi web adalah aplikasi interaktif yang dijalankan di browser. Aplikasi ini menggunakan arsitektur client-server, di mana:

  • Client (front-end): Berjalan di sisi pengguna, biasanya menggunakan HTML, CSS, dan JavaScript.

  • Server (back-end): Bertanggung jawab untuk memproses logika dan data, seperti autentikasi, database, dan API.

Aplikasi web biasanya berkomunikasi menggunakan protokol HTTP (http:// atau https://). Namun, bisa juga menggunakan protokol lain seperti:

  • WebSocket (ws:// atau wss://)

  • gRPC-Web

Perbedaan Aplikasi Web dan Website

Pada masa awal internet (Web 1.0), website bersifat statis — hanya menampilkan konten tetap yang tidak berubah, tanpa adanya interaksi pengguna. Konten hanya dapat diperbarui secara manual oleh pengembang, dan tidak melibatkan proses di sisi server.

Saat ini (era Web 2.0), mayoritas aplikasi web bersifat interaktif, memungkinkan pengguna untuk:

  • Mengisi formulir

  • Melihat konten yang dinamis

  • Melakukan transaksi

  • Berinteraksi dengan server melalui API

Dengan kata lain, aplikasi web modern tidak hanya menampilkan informasi, tetapi juga menanggapi input pengguna secara real-time.

Apa itu API?

API (Application Programming Interface) adalah antarmuka yang memungkinkan komunikasi antara front-end dan back-end, biasanya menggunakan protokol HTTP dan format data seperti JSON.

Namun, aplikasi web tidak selalu menggunakan API, tergantung pada arsitektur dan cara rendering-nya. Berikut penjelasannya:

Jenis Arsitektur
Contoh Rendering
Menggunakan API?
Penjelasan

Monolith

SSR

❌ Tidak selalu

Front-end dan back-end menyatu. Biasanya form klasik tanpa komunikasi JSON.

SSR + API

SSR

✅ Ya

Server render HTML, tapi ambil data dari API terpisah.

CSR (SPA)

CSR

✅ Ya

Front-end terpisah (React/Vue) ambil data via API (biasanya JSON).

Apa bedanya Aplikasi Web dan Native?

Aplikasi web adalah aplikasi yang berjalan di browser dan diakses melalui internet, sedangkan aplikasi native adalah aplikasi yang dikembangkan khusus untuk platform tertentu dan dijalankan langsung di sistem operasi tersebut.

Contoh aplikasi native:

  • Aplikasi Android (.apk) → hanya bisa dijalankan di Android.

  • Aplikasi Windows (.exe) → hanya bisa dijalankan di Windows.

  • Aplikasi iOS (.ipa) → hanya bisa dijalankan di iPhone/iPad.

Kelebihan Aplikasi Web

Kelebihan
Penjelasan

OS agnostic

Bisa berjalan di perangkat apa pun selama ada browser (Windows, macOS, Android, iOS, Linux).

Versi seragam

Semua pengguna mengakses versi yang sama, tidak perlu instalasi ulang.

Pembaruan terpusat di server

Perubahan dilakukan di sisi server, pengguna tidak perlu melakukan update manual.

Last updated