Phoenix LiveView 1.0.0 dirilis
(phoenixframework.org)- Tonggak 1.0 tercapai setelah 6 tahun sejak commit pertama
- Awal mula dan alasan LiveView
- LiveView dimulai untuk membangun aplikasi server-rendered tanpa JavaScript.
- Masalah kompleks seperti validasi formulir real-time, pembaruan jumlah keranjang belanja, dan pembaruan streaming real-time dapat diselesaikan dengan sederhana.
- Elixir dan Phoenix sangat cocok untuk pendekatan ini.
- Keunggulan berbasis real-time
- Menyediakan fondasi dua arah real-time untuk semua pengguna dan UI sehingga developer dapat fokus pada implementasi fitur.
- Melalui Elixir, fitur yang tidak mungkin di platform lain dapat diwujudkan.
- Implementasi awal LiveView
- Mewujudkan UI berbasis server yang secara otomatis memperbarui UI saat state berubah, mirip seperti React.
- Dapat mendukung jutaan koneksi dengan menggunakan Phoenix Channels.
- Optimasi model pemrograman
- Engine khas LiveView hanya menjalankan bagian dinamis dari template dan hanya mengirim data seminimal mungkin.
- Memisahkan bagian statis dan dinamis untuk memungkinkan pembaruan yang efisien.
- Latensi kelas atas
- LiveView memberikan performa optimal melalui payload kecil dan koneksi persisten yang mempertahankan state.
- Penggunaan memori server rendah, tetapi tetap dapat mendukung ratusan ribu koneksi simultan.
- Komponen yang dapat digunakan ulang melalui HEEx
- Memperkenalkan sistem komponen deklaratif yang menyediakan validasi HTML dan pemeriksaan atribut saat compile time.
- Memberikan peringatan saat compile time ketika atribut yang salah digunakan saat memanggil komponen.
- Penyederhanaan sintaks HEEx
- Memperkenalkan sintaks yang disederhanakan untuk menyisipkan nilai secara langsung di dalam isi tag.
- Upload interaktif
- Menyediakan satu abstraksi untuk upload file yang mendukung upload langsung ke cloud maupun ke server.
- Memudahkan implementasi refleksi progres upload maupun pekerjaan file tingkat lanjut.
- Stream dan pemrosesan asinkron
- Memperkenalkan primitive stream untuk menangani koleksi besar secara efisien.
- Menyediakan kemampuan untuk dengan mudah menangani pekerjaan asinkron dan me-render hasilnya.
- LiveView menuju mainstream
- LiveView dan .NET Blazor dimulai pada waktu yang mirip dan mendorong adopsi model pemrograman ini.
- Komunitas bahasa lain juga mengadopsi model ini dengan berbagai cara.
- Rencana ke depan
- Sedang merencanakan integrasi JavaScript hook, penguatan integrasi web component, dan dukungan navigation guard, serta lainnya.
1 komentar
Pendapat Hacker News
Pendiri Phoenix menjawab pertanyaan tentang Elixir/Phoenix/LiveView sambil memperkenalkan installer baru
|shjuga disediakanLiveView adalah fitur yang mengatasi keterbatasan Rails, dan pada awalnya dimulai dari fitur "channel"
Pernah membangun startup menggunakan LiveView, tetapi gagal
Telah membangun beberapa aplikasi produksi menggunakan LiveView, dan meski memerlukan koneksi WebSocket, ada banyak kelebihan
Menggunakan LiveView membuat semangat untuk pengembangan web kembali muncul, dan produktivitasnya sangat tinggi
Dalam aplikasi web pada umumnya, biaya koordinasi antara developer frontend dan backend adalah yang paling mahal
Telah menggunakan LiveView sejak 2019, dan pengalaman pengembangannya menyenangkan
Menulis pendapat tentang rilis LiveView 1.0 di blog
Ingin mendengar pendapat tentang trade-off antara LiveView dan adopsi teknologi berbasis JS
LiveView memberikan pengalaman pengembangan yang sangat produktif, tetapi diharapkan bisa mengatasi masalah pada koneksi yang tidak stabil