3 puan yazan GN⁺ 2024-04-30 | 1 yorum | WhatsApp'ta paylaş

Microsoft Word dosyalarını Google Docs'ta açmanın zorluğu

  • Yazarın babasının, Microsoft Word belge dosyaları üzerinde çalışmak için dizüstü bilgisayarına Word kurması gerekti
  • Yazar, babasına Google Docs'u önerdi
    • Babasının zaten bir Google hesabı vardı, kullanımı kolaydı, bulut tabanlıydı ve otomatik senkronizasyon sunuyordu
  • Ancak yaklaşık 30 MB büyüklüğündeki belge dosyası Google Docs'ta açıldığında, yazılanların ekranda görünmesi birkaç saniye sürüyordu; bu da Chrome veya Google Docs için fazla ağırdı
  • Sonunda LibreOffice kuruldu ve orada her şey çok hızlı çalıştı

Günümüz yazılım standartları üzerine düşünceler

  • Performans açısından yazılım geliştirmenin geriye gidip gitmediği sorgulanıyor
    • En yeni, havalı, modern araçlar, framework'ler ve dillerin verimlilik açısından bizi geriye götürüp götürmediği düşünülüyor
  • Web uygulamaları ve tarayıcıları çalıştırabilmek için donanım gereksinimleri artıyor
    • Yalnızca saf native uygulamalar olsaydı buna gerek kalmayabilirdi
    • Mobil telefonların neden 8 GB ya da 16 GB RAM'e ihtiyaç duyduğu sorgulanıyor
  • Web'in, UI rendering engine wrapper'ları yerine native rendering'e ihtiyaç duyduğu savunuluyor
    • İyi özelliklere sahip bir dizüstü bilgisayarda bile 30 MB'lık bir Word dosyasının Google Docs'ta açılamamasının nedeni, tarayıcının daha fazla bellek ve CPU tüketmesi
  • Optimize edilmiş, verimli ve yüksek performanslı uygulamalar geliştirme becerisini kaybetmiş gibi görünüyoruz; bunun çözülmesi gerekiyor
    • 1966'daki 2 KB RAM'li Apollo bilgisayarı insanlığı Ay'a gönderebildi ama 2024'te tarayıcıda 30 MB'lık belge dosyaları işlenemiyor
  • Bugün sektördeki herkes geleceği PWA uygulamalarında gördüğü için odak web'e kaymış durumda

API optimizasyonunun önemi

  • API performansı uygulama performansına katkı sağlayabildiği için, hem web hem de native uygulamalarda API optimizasyonu önemli
  • Yazarın ürünü Onradar(https://onradar.io), API izleme yoluyla optimizasyona yardımcı oluyor
    • Onradar, API'ler için uptime monitoring ve flow tabanlı izleme sunuyor
    • Flow editöründe ilgili API'lerle olası kullanıcı senaryoları oluşturulabiliyor ve Onradar bunları 7/24 test edebiliyor
    • Olay yaşandığında bildirim sağlıyor

GN⁺'ın görüşü

  • Google Docs ile MS Office arasındaki uyumluluk sorunları uzun süredir dile getirilen bir mesele. Hâlâ tam olarak çözülebilmiş değil ve kullanıcılara rahatsızlık veriyor. İki şirketin bu sorunu çözmek için daha aktif iş birliği yapması iyi olurdu
  • Web uygulamalarındaki performans sorunlarının donanım özelliklerini artırarak çözülmesi köklü bir çözüm değil. Sınırlı kaynakları verimli kullanan yazılım geliştirmeye ihtiyaç var
  • Native uygulamaları savunmak bir yöntem olabilir, ancak web'in avantajlarını koruyarak web uygulamalarının performansını iyileştirmek daha iyi bir yön olacaktır. Web uygulamalarının taşınabilirliği ve erişilebilirliği kolay vazgeçilecek avantajlar değil
  • API optimizasyonu ve izleme, genel sistem performansını artırmaya katkı sağlayabilecek önemli unsurlar. Özellikle mikroservis mimarisinin baskın hâle geldiği bugünlerde API katmanına ilgi daha da artacaktır
  • Apollo dönemiyle kıyaslamak çok uygun görünmüyor. Uzay aracı kontrolü ile kelime işlemeyi aynı düzleme koymak zor. Günümüz yazılımları son derece büyük ve karmaşık olduğundan Apollo dönemindeki verimliliği beklemek güç

1 yorum

 
GN⁺ 2024-04-30
Hacker News görüşü

Özet:

  • Apple ve Microsoft, geliştirici hesabı gerektirmeleri, ikili dosya imzalama sertifikası satın almayı zorunlu kılmaları ve gelir paylaşımı istemeleri nedeniyle native uygulama geliştirmeyi zorlaştırıyor. Web ise çok daha basit ve ucuz bir alternatif.
  • Moore yasası sayesinde yazılım, onlarca yıl boyunca donanımdaki ilerlemenin sırtından geçindi. Bu hem bir nimet hem de bir lanetti.
  • Geliştiriciler tamamen entegre, bağlantılı ve evrensel bir bilgi işlem platformunu (web) seviyor. Kullanıcılar ise performans yeterince iyiyse bunu pek umursamıyor. İyi yazılım yapmak önemsenmiyor.
  • Asıl nedenler iş kararları:
    1. Buluta geçiş - şirketler düzenli abonelik ödemelerini tercih ediyor ve müşterilerin kendi BT ekiplerini doğrudan işe almasına gerek kalmıyor
    2. Müşteriler on-premise yazılım yükseltmelerini reddedince bakım döngüleri uzuyor ve yamalar sonsuza kadar devam ediyor
    3. Web geliştirme, birden fazla platform için geliştirmeye kıyasla daha düşük maliyetli
  • 90'ların başında MS Word disketle dağıtılıyordu ve çalıştırılabilir dosyası 2MB idi. Şimdi boyutlar GB ile ölçülüyor ama neyin iyileştiği belirsiz.
  • Hafif yazılımlar var ama pek tercih edilmiyor. Lua, SQLite, Fennel, Althttpd, Fossil, Mako Server gibi harika hafif yazılımlar mevcut.
  • Frontend tarafında native uygulamalar ve web sayfaları tercih ediliyor, ancak Tiddlywiki gibi web uygulamalarının da kendine özgü avantajları var. Yine de hâlâ Emacs'ten daha fazla kaynak tüketiyor.
  • React sayfa geçişlerinde bir dropdown'ın render edilmesinin uzun sürdüğü bir örnek vardı. Sonunda React kodu değiştirilerek çözüldü.
  • Şirketlerin geliştiricilere yüksek performanslı cihazlar sağlaması yüzünden, eski sıradan PC'lerde yeterince test yapılmaması gibi bir sorun ortaya çıkıyor.
  • "İdiyomatik kod", "performans optimizasyonu tüm kötülüklerin anasıdır" gibi blog yazıları çok görülüyor ve geliştirme süresi daha önemli sayılıyor. Eskiden daha hızlı ve daha iyi kod yazan geliştiriciler vardı.