2 poin oleh GN⁺ 2024-12-04 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
GN⁺ 2024-12-04
Pendapat Hacker News
  • Pendiri Phoenix menjawab pertanyaan tentang Elixir/Phoenix/LiveView sambil memperkenalkan installer baru

    • Installer baru memungkinkan pemasangan proyek Elixir dan Phoenix dengan satu perintah
    • Menyediakan perintah instalasi untuk macOS/Linux dan Windows
    • Ini merupakan perluasan dari installer resmi Elixir
    • Panduan instalasi non-|sh juga disediakan
  • LiveView adalah fitur yang mengatasi keterbatasan Rails, dan pada awalnya dimulai dari fitur "channel"

    • LiveView sempat sulit diintegrasikan dengan tampilan statis, tetapi seiring waktu menjadi memungkinkan untuk berbagi kode
    • Phoenix 1.7 memperkenalkan tata letak dan filosofi baru yang revolusioner untuk pengembangan aplikasi web
  • Pernah membangun startup menggunakan LiveView, tetapi gagal

    • Integrasi dengan React berjalan mulus, dan koneksi dengan library yang kompleks juga tidak bermasalah
    • Masalah yang sebelumnya diselesaikan di React harus diselesaikan lagi dari nol di LiveView
  • Telah membangun beberapa aplikasi produksi menggunakan LiveView, dan meski memerlukan koneksi WebSocket, ada banyak kelebihan

    • Pembuatan kode otomatis meningkatkan produktivitas, dan merender frontend dengan Elixir terasa efisien
    • Fitur real-time mudah ditambahkan melalui WebSocket
    • Logika bisnis tetap disimpan di Contexts sehingga mudah menyediakan API
  • Menggunakan LiveView membuat semangat untuk pengembangan web kembali muncul, dan produktivitasnya sangat tinggi

    • Menyediakan kursus untuk mempelajari LiveView dan berharap lebih banyak orang mempelajari framework ini
  • Dalam aplikasi web pada umumnya, biaya koordinasi antara developer frontend dan backend adalah yang paling mahal

    • LiveView mengabaikan masalah ini dan memungkinkan pengembangan full-stack
    • Dengan lebih sedikit developer, lebih banyak fitur bisa disediakan
  • Telah menggunakan LiveView sejak 2019, dan pengalaman pengembangannya menyenangkan

    • LiveView pertama kali diperkenalkan di ElixirConf EU
  • Menulis pendapat tentang rilis LiveView 1.0 di blog

  • Ingin mendengar pendapat tentang trade-off antara LiveView dan adopsi teknologi berbasis JS

    • Perlu ada diskusi tentang beragam library JS dan kemungkinan adopsi teknologi AI
  • LiveView memberikan pengalaman pengembangan yang sangat produktif, tetapi diharapkan bisa mengatasi masalah pada koneksi yang tidak stabil

    • Dukungan offline memang sulit, tetapi dukungan untuk koneksi yang tidak stabil tetap diperlukan