Street Fighter V Ditarik Sementara dari Steam, Mode Online Dimatikan
TeknologiCapcom mematikan sementara fungsi online Street Fighter V dan menariknya dari Steam setelah muncul masalah akibat celah keamanan PHP pekan lalu.
Jake Wharton memakai Compose lewat Molecule dan kotlinx.html untuk merender HTML di server, lalu memperbarui halaman lewat koneksi web socket.
Pengembang aplikasi Android Jake Wharton membagikan pendekatannya merender halaman HTML langsung dari server dengan memadukan Compose dan kotlinx.html. Dalam tulisan bertanggal 26 Agustus 2026 di situs pribadinya, ia menjelaskan bagaimana keduanya dipakai untuk membangun halaman dasbor admin yang isinya tetap diperbarui tanpa meninggalkan HTML statis.
Wharton berangkat dari pola yang ia pakai berulang kali. Sebuah rute di server Ktor, misalnya get("/users.html"), memanggil call.respondHtml. Di dalamnya, fungsi myLayout dengan judul "Users" membungkus fungsi userList yang menerima daftar pengguna dari db.users.value. Menurut Wharton, myLayout menyediakan kerangka halaman, userList merangkum isi spesifik halaman, dan db.users merupakan StateFlow dari lapisan penyimpanan data.
Pola tersebut bekerja dengan baik sampai halaman dibiarkan terbuka selama satu atau dua menit dan isinya menjadi kedaluwarsa.
Table of contents [Show]
Di dalam ekosistem, menurut Wharton, sudah ada kerangka kerja sisi klien yang diklaim menyelesaikan persoalan itu, antara lain Compose for HTML atau Compose UI for Web. Ia memisalkan persoalan tersebut dengan pipa bocor di rumah yang "diselesaikan" dengan cara pindah ke rumah baru. Wharton menegaskan tidak akan membawa dirinya meninggalkan HTML, apalagi pengiriman HTML statis di dalam respons.
Ia mencatat upaya untuk mengadaptasi Compose for HTML agar mendukung apa yang disebut isomorphic rendering. Pendekatan itu melibatkan komposisi awal di server untuk menghasilkan HTML statis bagi respons HTTP. Selanjutnya, di sisi klien sebagai JavaScript, kode rendering yang sama dipasang untuk mereproduksi pohon DOM dan memperbaruinya secara inkremental ketika state berubah.
Alih-alih menunggu, Wharton memakai Molecule, yang ia sebut sebagai Compose versi JVM bawaannya sendiri. Perbedaan utamanya, Molecule tidak mengelola pohon antarmuka dari waktu ke waktu, melainkan mengelola satu potongan state sepanjang waktu. State itu dipakai untuk merender fragmen HTML di server sebagai string, lalu mengalirkannya ke klien.
Dalam contohnya, sebuah rute webSocket("/users.ws") memanggil launchMolecule(Immediate). Di dalamnya, nilai pengguna diambil lewat db.users.collectAsState(), lalu createHTML().userList merender daftar tersebut, dan hasilnya dikirim melalui collect(:send). Menurut Wharton, itu saja yang dibutuhkan: Ktor menyediakan web socket, Molecule menjalankan StateFlow yang disalurkan ke sana, dan kotlinx.html merender fragmen HTML dari fungsi konten yang sudah ada.
Pada payload HTML awal, sambungan itu perlu dipasang. Wharton mencontohkan skrip yang mengambil elemen dengan ID "content", membuat koneksi WebSocket ke alamat ws:// diikuti host dan jalur /users.ws, lalu menambahkan pendengar pesan yang masih berisi penanda TODO. Di dalam pendengar tersebut, event.data dapat dikirim langsung ke content.innerHTML. Menurutnya, browser sangat baik dalam mem-parsing HTML.
Saat ini, pendengar pesan miliknya memanggil Idiomorph.morph(content, event.data) yang memakai Idiomorph untuk menambal DOM. Cara itu memastikan kolom formulir atau elemen interaktif yang tidak berubah tetap dipertahankan, bukan diganti.
Wharton menegaskan bahwa ia memakai pendekatan ini untuk halaman admin dengan lalu lintas rendah. "Halaman saya bisa membuat satu koneksi web socket atau lima puluh dan tidak akan ada bedanya," tulisnya. Pada situs nyata dengan pengguna nyata, ia mengingatkan perlunya menimbang sejumlah trade-off karena pendekatan itu bisa tanpa sengaja membuat backend mengalami denial-of-service.
Ia lalu menyebut tiga hal yang perlu dipertimbangkan:
Tergantung pada pilihan terakhir itu, menulis sebuah helper yang membungkus rute statis sekaligus rute dinamis dapat mengurangi duplikasi. "Atau tidak. Kodenya tidak sebanyak itu," tulis Wharton menutup tulisannya.
Sumber: Jake Wharton
Capcom mematikan sementara fungsi online Street Fighter V dan menariknya dari Steam setelah muncul masalah akibat celah keamanan PHP pekan lalu.
Jensen Huang menyebut lisensi software AI NVIDIA bisa mencapai US$2.000 per GPU per tahun, sekitar Rp36 juta, sebagai ilustrasi potensi bisnis.
Artifact management menghubungkan build CI/CD dengan deployment yang dapat dilacak dan direproduksi, diperkuat SBOM, signing, dan provenance.
These cookies are essential for the website to function properly.
These cookies help us understand how visitors interact with the website.
These cookies are used to deliver personalized advertisements.