Sebuah mesin spreadsheet open-source baru telah muncul dalam lanskap teknologi, menarik perhatian para pengembang dan penggemar spreadsheet. IronCalc, sebuah proyek berbasis Rust yang dikompilasi ke WebAssembly, menawarkan alternatif yang menjanjikan untuk solusi spreadsheet tradisional dengan arsitektur yang ringan dan berkinerja tinggi.
Implementasi Teknis
IronCalc berjalan sepenuhnya di browser melalui WebAssembly, tanpa memerlukan pemrosesan sisi server untuk fungsi intinya. Proyek ini menunjukkan kinerja yang mengesankan, dengan pengguna mencatat waktu respons yang cepat dan penggunaan sumber daya yang rendah. Implementasinya menggunakan Rust yang dikompilasi ke WASM, menjadikannya contoh penting dalam arsitektur aplikasi web modern.
Fitur dan Status Pengembangan
Meskipun masih dalam pengembangan, IronCalc bertujuan untuk mencapai kompatibilitas formula Excel dalam waktu sekitar satu tahun. Proyek ini mempertahankan pemisahan yang jelas antara antarmuka pengguna dan mesin backend, memungkinkan implementasi yang fleksibel dalam berbagai konteks. Beberapa fitur dasar yang familiar bagi pengguna Excel masih dalam pengembangan, seperti yang dicatat dalam umpan balik komunitas:
Setelah mencoba menggunakannya, beberapa fitur default yang biasa saya gunakan tidak ada, seperti mengklik header baris atau kolom untuk memilih keseluruhan, atau double klik pada pemisah antara dua kolom untuk menyesuaikan ukuran kolom secara otomatis sesuai panjang konten. Source
Arah Pengembangan Masa Depan
Proyek ini telah menggariskan beberapa jalur pengembangan yang menarik:
- Dukungan Scripting : Alih-alih mengimplementasikan kompatibilitas VBA, tim sedang mempertimbangkan untuk mengintegrasikan bahasa scripting modern seperti Lua atau Rhai.
- Paket NPM : Sedang dikerjakan untuk membuat IronCalc tersedia sebagai paket npm dalam waktu sebulan ke depan.
- Peningkatan Fitur : Tim terbuka untuk mengimplementasikan fitur-fitur canggih seperti Goal Seek dan analisis sensitivitas, meskipun ini tidak ada dalam rencana jangka pendek.
Komunitas dan Lisensi
IronCalc dirilis di bawah lisensi ganda MIT/Apache 2.0, memberikan fleksibilitas untuk implementasi komersial maupun open-source. Proyek ini memiliki komunitas Discord yang aktif untuk diskusi pengembangan dan dukungan.
Arsitektur Teknis
Proyek ini menggunakan parser recursive descent untuk evaluasi formula, menunjukkan fondasi yang kuat dalam prinsip-prinsip ilmu komputer. Pendekatan ini, meskipun tradisional, telah terbukti efektif dalam banyak compiler dan parser produksi.
Komitmen terhadap open source dan transparansi mencakup analitik proyek, meskipun tim sedang mempertimbangkan untuk menghapus analitik sama sekali sejalan dengan praktik pengembangan yang berfokus pada privasi.
Bagi pengembang yang tertarik untuk membangun dengan IronCalc, proyek ini diposisikan sebagai mesin spreadsheet mandiri dan fondasi untuk implementasi kustom, membuatnya sangat menarik bagi pengembang SaaS yang ingin mengintegrasikan fungsionalitas spreadsheet ke dalam aplikasi mereka.