2 puan yazan GN⁺ 2024-12-04 | 1 yorum | WhatsApp'ta paylaş
  • İlk commit’ten 6 yıl sonra 1.0 kilometre taşına ulaşıldı
  • LiveView’un başlangıcı ve nedeni
    • LiveView, JavaScript olmadan sunucu tarafında render edilen uygulamalar oluşturmak için başlatıldı.
    • Gerçek zamanlı form doğrulama, alışveriş sepeti miktarı güncellemeleri, gerçek zamanlı akış güncellemeleri gibi karmaşık problemleri basitçe çözebiliyor.
    • Elixir ve Phoenix bu yaklaşım için uygun.
  • Gerçek zamanlı tabanlı avantajlar
    • Tüm kullanıcılar ve UI için gerçek zamanlı çift yönlü bir temel sağlayarak geliştiricilerin özellik geliştirmeye odaklanmasını sağlıyor.
    • Elixir sayesinde diğer platformlarda mümkün olmayan özellikler uygulanabiliyor.
  • LiveView’un ilk uygulaması
    • React’e benzer şekilde, durum değiştiğinde UI’nin otomatik güncellendiği sunucu tabanlı bir UI uygulandı.
    • Phoenix Channels kullanılarak milyonlarca bağlantı desteklenebiliyor.
  • Programlama modelinin optimize edilmesi
    • LiveView’un farklılaştırıcı motoru, şablonların yalnızca dinamik kısımlarını çalıştırıyor ve sadece en az miktarda veri gönderiyor.
    • Statik ve dinamik kısımları ayırarak verimli güncellemeleri mümkün kılıyor.
  • En üst düzey gecikme süresi
    • LiveView, küçük payload’lar ve durum koruyan bağlantılar aracılığıyla optimum performans sunuyor.
    • Sunucu bellek kullanımı düşük, ancak yüz binlerce eşzamanlı bağlantıyı destekleyebiliyor.
  • HEEx ile yeniden kullanılabilir bileşenler
    • HTML doğrulaması ve derleme zamanı nitelik kontrolü sunan bildirimsel bir bileşen sistemi tanıtıldı.
    • Bileşen çağrısı sırasında yanlış nitelik kullanımına karşı derleme zamanı uyarıları veriyor.
  • HEEx sözdiziminin sadeleştirilmesi
    • Etiket gövdesi içinde değerlerin doğrudan eklenebildiği sadeleştirilmiş bir sözdizimi tanıtıldı.
  • Etkileşimli yüklemeler
    • Dosya yükleme için tek bir soyutlama sağlayarak buluta ve doğrudan sunucuya yüklemeleri destekliyor.
    • Yükleme ilerlemesini yansıtmayı veya gelişmiş dosya işlemlerini kolayca uygulamayı mümkün kılıyor.
  • Akışlar ve asenkron işleme
    • Büyük koleksiyonları verimli şekilde işlemek için stream primitifleri tanıtıldı.
    • Asenkron işleri kolayca işleyip sonuçları render etmeyi sağlayan özellikler sunuyor.
  • LiveView ana akıma giriyor
    • LiveView ve .NET Blazor benzer dönemde başladı ve bu programlama modelinin benimsenmesini hızlandırdı.
    • Diğer dil toplulukları da bu modeli çeşitli şekillerde benimsiyor.
  • Gelecek planları
    • JavaScript hook entegrasyonu, web component entegrasyonunun güçlendirilmesi ve navigation guard desteği planlanıyor.

1 yorum

 
GN⁺ 2024-12-04
Hacker News görüşleri
  • Phoenix'in yaratıcısı, Elixir/Phoenix/LiveView hakkında sorular alırken yeni kurucuyu tanıtıyor

    • Yeni kurucu, Elixir ve Phoenix projelerinin tek bir komutla kurulmasını sağlıyor
    • macOS/Linux ve Windows için kurulum komutları sunuluyor
    • Resmî Elixir kurucusunun genişletilmiş bir sürümü
    • |sh kullanmayan bir kurulum kılavuzu da sunuluyor
  • LiveView, Rails'in sınırlarını aşan bir özellik olarak başladı ve ilk başta "channels" özelliğinden doğdu

    • LiveView'nun statik görünümlerle entegrasyonu zordu, ancak zamanla kod paylaşımı mümkün hâle geldi
    • Phoenix 1.7, yeni bir düzen ve felsefe getirerek web uygulaması geliştirmede yenilikçi oldu
  • LiveView kullanarak bir startup kuruldu ancak başarısız oldu

    • React ile entegrasyon sorunsuzdu ve karmaşık kütüphanelerle bağlantı kurmak da problem yaratmadı
    • React'te çözülen sorunların LiveView'da en baştan çözülmesi gerekti
  • LiveView ile çeşitli production uygulamaları geliştirildi; WebSocket bağlantısı gerekiyor ama birçok avantaj sunuyor

    • Kod üretimi verimliliği artırıyor ve frontend'i Elixir ile render etmek verimli oluyor
    • WebSocket üzerinden gerçek zamanlı özellik eklemek kolay
    • İş mantığını Contexts içinde tutmak, API sunmayı kolaylaştırıyor
  • LiveView sayesinde web geliştirmeye olan tutku yeniden kazanıldı ve üretkenlik çok yüksek

    • LiveView öğrenmek için dersler sunuluyor ve daha fazla kişinin bu framework'ü öğrenmesi umuluyor
  • Tipik web uygulamalarında frontend ve backend geliştiricileri arasındaki koordinasyon maliyeti en pahalı kısım

    • LiveView bu sorunu göz ardı ederek full-stack geliştirmeyi mümkün kılıyor
    • Daha az geliştiriciyle daha fazla özellik sunulabiliyor
  • LiveView 2019'dan beri kullanılıyor ve geliştirme keyifliydi

    • LiveView ilk kez ElixirConf EU'da tanıtıldı
  • LiveView 1.0 sürümü hakkında blogda görüşler yazıldı

  • LiveView ile JS tabanlı teknolojilerin benimsenmesindeki trade-off'lar hakkında görüşler merak ediliyor

    • JS'in çeşitli kütüphaneleri ve yapay zeka teknolojilerinin benimsenme olasılığı üzerine tartışma gerekiyor
  • LiveView çok üretken bir geliştirme deneyimi sunuyor, ancak kararsız bağlantılardaki sorunların çözülmesi isteniyor

    • Offline destek zor, ancak kararsız bağlantılar için destek gerekli