2 poin oleh GN⁺ 2025-11-04 | Belum ada komentar. | Bagikan ke WhatsApp
  • Bahkan setelah Nextcloud dioptimalkan di server pribadi, penyebab respons yang tetap lambat adalah struktur pemuatan JavaScript yang berlebihan
  • Saat pemuatan halaman awal, 15~20MB JavaScript diunduh, dan bahkan setelah dikompresi masih berada di kisaran 4~5MB sehingga tetap terlalu berat
  • Ukuran skrip per aplikasi juga sangat besar, seperti core-common.js (4.71MB), NotificationsApp.chunk.mjs (1.06MB), aplikasi Calendar 5.94MB, aplikasi Files 18.8MB, dan aplikasi Notes 20.91MB
  • Struktur ini menyebabkan penundaan 5~10 detik saat menjalankan aplikasi Tasks bahkan di iPhone 13 mini
  • Beberapa fungsi digantikan dengan Vikunja (1.5MB JS) dan Immich, tetapi karena sifat terintegrasi Nextcloud, penggantian total tetap sulit

Penyebab penurunan performa Nextcloud

  • Nextcloud menyediakan berbagai fungsi terintegrasi seperti file, kalender, kontak, catatan, tugas, dan foto, tetapi kecepatan yang dirasakan pengguna terasa lambat
    • Bahkan di lingkungan dengan performa perangkat keras yang memadai, respons tetap terasa lambat
  • Hasil analisis alat pengembang menunjukkan bahwa penyebab utama keterlambatan adalah jumlah JavaScript yang berlebihan
    • Saat pemuatan halaman awal, 15~20MB JavaScript diunduh
    • Bahkan setelah transmisi terkompresi, ukurannya masih sekitar 4~5MB, jauh lebih besar dibanding standar web app umum (1MB)
  • Meskipun cache browser tersedia, eksekusi kode dalam jumlah besar tetap diperlukan pada setiap kunjungan, sehingga menimbulkan keterlambatan saat memuat

Ukuran bundle JavaScript utama

  • core-common.js : 4.71MB, menyediakan fungsi umum untuk berbagai aplikasi
  • NotificationsApp.chunk.mjs : 1.06MB
  • Aplikasi Calendar: hanya untuk tampilan kalender dasar saja membutuhkan 5.94MB
    • Dalam kondisi jaringan lambat, keterlambatan pemuatan lebih dari 30 detik dapat terjadi
  • Aplikasi Files: mencakup banyak skrip seperti EditorOutline (1.77MB), previewUtils (1.17MB), index (1.09MB), dan emoji-picker (0.9MB)
    • Totalnya 18.8MB, dan dalam lingkungan nyata bisa membuat pengguna menunggu lebih dari 1 menit
  • Aplikasi Notes: notes-main.js saja sudah 4.36MB, dengan total sekitar 20.91MB

Dampak terhadap pengalaman pengguna

  • Saat menjalankan aplikasi Tasks juga terjadi penundaan 5~10 detik
    • Contoh: saat membuka daftar belanja di toko, daftar tidak langsung tampil
  • Rasio ukuran bundle terhadap fungsi yang diberikan sangat tinggi secara tidak wajar, sehingga terjadi ketidakseimbangan antara fungsionalitas dan performa
  • Karena struktur Nextcloud memiliki banyak library dan alat umum, penurunan performa terjadi sebagai harga dari pengalaman terintegrasi

Pemanfaatan layanan alternatif

  • Beberapa fungsi dijalankan secara terpisah dengan Vikunja (manajemen tugas, 1.5MB JS) dan Immich (manajemen foto)
    • Vikunja memang tidak sempurna, tetapi karena ukuran JS-nya kecil, kecepatan yang dirasakan lebih baik
  • Namun, berkat integrasi dan kemudahan dari Nextcloud, penggantian sepenuhnya tetap sulit

Kesimpulan dan perubahan persepsi

  • Pada struktur Nextcloud saat ini, mungkin ada kendala nyata seperti alasan yang dapat dibenarkan atau kekurangan tenaga
  • Meski begitu, penurunan pengalaman pengguna dan aksesibilitas tetap ditunjukkan sebagai masalah yang jelas
  • Melalui tulisan pakar performa web Alex Russell, penulis menjadi menyadari pentingnya performa web serta masalah kelalaian tim pengembang dalam mengelola performa dan aksesibilitas
  • Dalam pengembangan web app, masalah performance inequality perlu dipertimbangkan

Belum ada komentar.

Belum ada komentar.