sql.js sqlite_嵌入式浏览器SQLite:SQL.Js

2022-04-11 00:00:00 数据库 程序 应用程序 提供 加载

介绍 (Introduction)

Sometimes your application will provide so little data, that it may be overkill to provide an API to access it. In such case you might want to embedded the database within your application. Actually, this technique is used for a while in mobile applications. It can be useful to speed up low bandwidth devices, boost application launch and more. Thing is, I’m a web developer and I wanted to be able to do the same in one of my web application.

有时,您的应用程序提供的数据太少,以至于提供访问它的API可能会过大。 在这种情况下,您可能希望将数据库嵌入到应用程序中。 实际上,此技术在移动应用程序中使用了一段时间。 加快低带宽设备的速度,促进应用程序的启动等等可能很有用。 是的,我是一名Web开发人员,我希望能够在我的一个Web应用程序中执行相同的操作。

标准 (Standard)

The recommended and compatible way to store data in Browser is by using the IndexedDB. Thing is, it uses a different approach than pure SQL, as explained in documentation. The API is also tedious to use, that is why MDN recommend to use more programmer-friendly library for simple usages. And to finish, IndexedDB format being younger it is not as supported as SQLite.

推荐的兼容方法是使用IndexedDB在Browser中存储数据。 事实是,它使用的方法不同于纯SQL,如文档中所述。 该API的使用也很繁琐,因此MDN建议使用对程序员更友好的库来简化用法。 后, IndexedDB格式还不如SQLite受到支持。

Based on that, I wanted to try to load a SQLite database into my browser and request it. The database contains some 13 thousand entries about file extension information. The application provides the company and software associated to a file extension searched by users.

基于此,我想尝试将一个SQLite数据库加载到我的浏览器中并请求它。 该数据库包含约1.3万个有关文件扩展名信息的条目。 该应用程序提供与用户搜索的文件扩展名相关的公司和软件。

网络组装 (Web Assembly)

MDN describes Web Assembly as a way to run code written in multiple languages on the web at near native speed, allowing us to run a whole new class of programs. It is a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++ and Rust with a compilation target so that they can run on the web. It works by compiling code to LLVM byte-code and loading it using Emscripten.

MDN将Web Assembly描述为一种以接近本机的速度运行以多种语言编写的代码的方法,从而使我们能够运行全新的程序类。 它是一种类似于汇编语言的低级语言,具有紧凑的二进制格式,具有接近本机的性能,并为C / C ++和Rust等语言提供了编译目标,以便它们可以在Web上运行。 它通过将代码编译为LLVM字节代码并使用Emscripten加载来工作。

相关文章