SQLite, DBMS'yi bir web tarayıcısında kullanmak için WASM desteği ekler

SQLite geliştiricileri, kütüphaneyi WebAssembly ara kodunda derleme yeteneğini uygulamak için, bir web tarayıcısında çalışabilen ve JavaScript'teki web uygulamalarından veritabanıyla çalışmayı organize etmeye uygun bir proje geliştiriyor. WebAssembly'ı destekleyen kod ana proje deposuna eklendi. SQLite tabanlı WebSQL API'sinden farklı olarak WASM SQLite, tarayıcıdan tamamen yalıtılmıştır ve güvenliğini etkilemez (SQLite'deki çeşitli güvenlik açıklarından tarayıcıya saldırmak için WebSQL aracılığıyla yararlanılabilmesinin ardından Google, Chrome'daki WebSQL desteğini kaldırmaya karar verdi) .

Projenin amacı, işlevsellik açısından SQLite API ile aynı olan, çalışan bir JavaScript çerçevesi sağlamaktır. Web geliştiricilerine, sql.js veya Node.js tarzındaki verilerle çalışmak için yüksek seviyeli nesne yönelimli bir arayüz, düşük seviyeli C API üzerinden bir bağlama ve Web Worker mekanizmasını temel alan bir API sağlanır. ayrı iş parçacıklarında yürütülen eşzamansız işleyiciler oluşturabilirsiniz. Web Worker tabanlı API'nin üzerinde akışlarla çalışmayı organize etmenin inceliklerini gizlemek için, program arayüzünün Promise mekanizmasını temel alan bir sürümü de geliştirilmektedir.

Web uygulamalarının SQLite'ın WASM sürümünde sakladığı veriler, geçerli oturum içinde yerelleştirilebilir (sayfa yeniden yüklendikten sonra kaybolur) veya istemci tarafında depolanabilir (oturumlar arasında kaydedilir). Kalıcı depolama için, verileri OPFS (Origin-Private FileSystem, Dosya Sistemi Erişim API'sinin bir uzantısı, şu anda yalnızca WebKit ve Chromium tabanlı tarayıcılarda mevcuttur) kullanılarak yerel dosya sistemine ve yerel tarayıcı depolamasına yerleştirmek için arka uçlar hazırlanmıştır. window.localStorage API'sinde ve window.sessionStorage'da. localStorage/sessionStorage kullanıldığında veriler ilgili depolara anahtar/değer formatında yansıtılır ve OPFS kullanıldığında iki seçenek vardır: WASMFS kullanarak sanal bir FS'nin simüle edilmesi ve SQLite VFS katmanı tabanlı bir SQLite3_vfs sunan ayrı bir uygulama OPFS'de.

SQLite'ı bir WASM görünümünde oluşturmak için Emscripten derleyicisi kullanılır (ext/wasm uzantısını oluşturmak yeterlidir: “./configure —enable-all; make sqlite3.c; cd ext/wasm; make”). Çıktı, JavaScript projenize (HTML ve JavaScript örneği) dahil edilebilecek sqlite3.js ve sqlite3.wasm dosyalarıdır.

Kaynak: opennet.ru

Yorum ekle