Berkenalan dengan VIPER Architecture pada iOS Software Development

Bunder Ontheway
2 min readJan 13, 2024

--

Apa itu VIPER Architerture pada iOS? Pada dasarnya VIPER architecture ini adalah sebuah design pattern yang mengimplementasi clean code / clean architecture. Mungkin sebelumnya pernah mendengar mengenai MVC / MVP / MVVM? Viper hampir mirip dengan pattern tersebut.

VIPER terdiri dari

V — View yang berfungsi untuk mengupdate tampilan interface (UI).

I — Interactor memiliki fungsi untuk mengupdate seputar data, biasanya terhubung ke network atau bisa juga untuk mengambil data dari API, akan dilakukan pada interactor.

P — Presenter, bisa dibilang presenter ini merupakan “otak” dari aplikasi, atau bahkan satu screen jika aplikasinya kompleks.

E — Entity atau View Model, merupakan mock data object yang nantinya akan digunakan oleh presenter.

R — Router, memiliki fungsi untuk melakukan perpindahan screen dari screen satu ke screen lain nya.

VIPER Architecture Flow

Seperti yang terlihat pada gambar di atas, jika semua logic dikumpulkan pada Presenter. Dimana Interactor sendiri berisi kumpulan kode yang digunakan untuk mengambil data melalui API (network service). Data yang sudah berasil didapatkan dari interactor akan disimpan pada Entity atau mungkin bisa disebut juga sebagai model.

Setelah data berhasil sukses didapatkan dan disimpan di Entity, data tersebut akan dikirimkan melalui presenter, kemudian data tersebut akan ditampilkan pada View atau View Controller. Kemudian untuk perpindahan antar View, dilakukan dengan memanggil Router melalui Presenter.

Semoga tulisan ini bisa bermanfaat, jika ada penjelasan yang salah jangan ragu untuk memberitahu saya melalui komentar. Jika tulisan ini membantu juga bisa memberitahu saya melalui komentar.

--

--