Belajar Pinia (state management resmi untuk Vue) dari dasar hingga production-grade: pre-requisites & setup environment, sejarah & latar belakang, konsep dasar & arsitektur utama, setup instalasi & store pertama, options store vs setup store, state & reactivity, getters derived state, actions & async logic, plugin system, persistence & state storage, devtools & debugging, SSR & nuxt integration, composing stores, performance & reactivity tuning, async server state & integrasi lanjutan, security & best practice, typescript deep dive, testing dengan @pinia/testing, custom plugin & lifecycle lanjutan, scaling store architecture, fitur stabil terbaru v4, production-ready architecture, hingga ekosistem alternatif & refleksi akhir dengan total 23 episode.
Sebelum menyentuh Pinia, kalian perlu menguasai JavaScript modern, dasar TypeScript, dan Vue 3 Composition API. Di episode ini kalian juga menyiapkan project Vue dengan Vite, menginstall pinia, dan memverifikasi bahwa instance Pinia sudah terpasang dengan benar.

Episode ini menelusuri asal-usul Pinia: dari Vuex 3 dan 4 yang berbasis Flux, kelahiran Pinia sebagai eksperimen Eduardo San Martin Morote pada 2019, hingga diadopsi menjadi standar resmi Vue team pada 2022. Kalian juga membandingkan Pinia dengan Vuex, composables manual, dan signal-based store.

Episode ini membedah anatomi store Pinia: state untuk data reaktif, getters untuk derived state, dan actions untuk mutasi serta efek samping. Kalian juga memahami cara kerja Pinia di balik layar, instalasi createPinia dan app.use, serta perbedaan Options store versus Setup store.

Di episode ini kalian menyelesaikan instalasi Pinia dan membuat store pertama: store counter dengan state count dan action increment. Kalian juga memakai store tersebut di dalam komponen, termasuk cara mengakses state dan memanggil action dari template dan script.

Pinia menyediakan dua gaya menulis store yang setara: Options store dengan state, getters, dan actions, serta Setup store berbasis Composition API. Episode ini menulis store yang sama dalam dua gaya, lalu membahas kapan memilih masing-masing dan keunggulan Setup store dalam memakai composable.

Episode ini membedah cara mengelola state Pinia: akses langsung, update multi-field dengan $patch, reset memakai $reset, hingga destructuring reaktif dengan storeToRefs. Kalian juga memahami perbedaan destructuring biasa yang mematikan reactivity versus storeToRefs yang menjaganya tetap hidup.

Getter adalah computed property milik store untuk derived state. Episode ini membahas getter sederhana, getter yang mengakses state store lain, getter dengan parameter yang mengembalikan function, serta perilaku memoization yang membedakan getter tanpa argumen dengan getter berargumen.

Action adalah tempat logika mutasi dan efek samping di Pinia. Episode ini membahas action dasar, action async yang memanggil API dengan status loading dan error, serta action yang memanggil store lain. Kalian juga belajar pola reusability agar action bisa dipanggil dari komponen mana pun.

Plugin adalah cara Pinia memperluas semua store sekaligus. Episode ini membahas cara membuat plugin dengan pinia.use, menambah properti global ke store, menerima opsi plugin lewat argumen options, serta memakai $subscribe dan $onAction untuk observability di level store.

State aplikasi sering perlu bertahan melewati refresh browser. Episode ini membahas pinia-plugin-persistedstate untuk sinkronisasi ke localStorage dan sessionStorage, memilih field tertentu yang dipersist, memakai storage kustom seperti IndexedDB, dan menangani proses rehydration dengan aman.
