Catatan teknis SnapConv
SnapConv adalah toolkit file lokal yang kebetulan berbentuk situs web. Berikut keputusan teknis yang membuatnya privat, jujur, dan cepat.
Statis sejak awal
Produk ini situs yang di-export statis. Tidak ada route handler, server action, atau API pemrosesan, jadi tidak ada server yang bisa menerima file bahkan karena keliru.
Satu registry, satu sumber kebenaran
Format, operasi, halaman alat, rute konversi, rekomendasi, dan entri sitemap dihasilkan dari registry metadata bertipe yang serializable.
Ukur dulu sebelum menjanjikan
Setiap alat menguji dukungan decode dan encode browser secara nyata — termasuk encoding canvas dan codec WebAssembly yang dimuat malas — dan hanya menampilkan format yang lulus. Codec yang tidak tersedia dijelaskan, bukan diganti diam-diam.
Verifikasi setiap hasil
File hasil diperiksa dari tipe MIME, signature magic byte, dan uji decode atau buka ulang sebelum ditawarkan untuk diunduh.
Batasi beban kerja
Scheduler bersama mengatur concurrency, menurunkan resolusi saat halaman atau gambar melewati anggaran memori, membatalkan secara deterministik, dan membuang canvas, worker, serta buffer transferable.
Uji untuk browser yang kamu punya
Kontrak dan pemroses diuji di unit dan suite browser nyata, dan alur end-to-end berjalan di Chromium, Firefox, serta WebKit — termasuk uji tanpa egress yang gagal jika file terpilih memicu permintaan jaringan.
Komponen penyusun
- Static export Next.js dengan React dan TypeScript ketat
- Zustand untuk antrean pemrosesan di memori
- Decoding gambar native, encoding canvas, Web Crypto, dan pipeline Blob bertahap
- PDF.js untuk parsing dan rendering, pdf-lib untuk manipulasi halaman
- client-zip untuk pengemasan ZIP lokal tanpa perjalanan ke server
Batasan yang jujur
Dukungan browser tidak seragam. Encoding AVIF, format animasi, dan codec media berat berbeda antar engine, jadi kemampuan itu tetap eksperimental sampai lulus uji fixture, memori, dan lintas browser. Melaporkan batasan lebih dipilih daripada berpura-pura semua format universal.