2011-01-18 44 views
12

này đặc tả http://www.w3.org/TR/webdatabase/ nói:Trạng thái của Cơ sở dữ liệu HTML5 là gì?

Tài liệu này là trên đường đua Khuyến cáo của W3C nhưng đặc tả công việc đã dừng lại. Đặc tả này đã đạt được một sự bế tắc: tất cả những người triển khai quan tâm đã sử dụng cùng một phần cuối SQL (Sqlite), nhưng chúng ta cần nhiều triển khai độc lập để tiến hành theo một đường dẫn tiêu chuẩn hóa.

Điều này có nghĩa là cơ sở dữ liệu HTML5 sẽ biến mất và trong một thời gian chúng tôi sẽ có một tiêu chuẩn thực tế bằng cách sử dụng SQLite, có thể có sự khác biệt về trình duyệt? Hay W3C đã xuất bản kế hoạch tấn công để hoàn thành tiêu chuẩn?

+0

Trạng thái: Đề xuất do Google và Apple thực hiện và bị Microsoft và Mozilla giết (không được triển khai vì "người dùng không muốn" [= nếu Microsoft triển khai, bạn có thể thực hiện tìm kiếm toàn văn nhanh trong gmail] , đó là điều mà MS không muốn bạn có thể làm vì bạn nên sử dụng và thanh toán cho MS Outlook]). Như thường lệ. "Thay thế" bởi IndexedDB, mà thực sự không phải là một DB quan hệ, mà là một kho lưu trữ tài liệu NoSQL Key-Value hướng đối tượng. Đó là vô nghĩa, vì giao diện quá phức tạp và tất cả các đối tượng JavaScript đã là các mảng kết hợp. –

Trả lời

5

Theo this article:

[. ..] chúng tôi nghĩ rằng điều này rất đáng giải thích về lựa chọn thiết kế của chúng tôi và tại sao chúng tôi nghĩ rằng IndexedDB là giải pháp tốt hơn cho web t Cơ sở dữ liệu SQL Web han.

Trong một bài viết khác, chúng tôi compare IndexedDB with Web SQL Database và lưu ý rằng trước đây cung cấp nhiều cú pháp đơn giản hơn sau này. IndexedDB rời khỏi phòng cho thư viện JavaScript của bên thứ ba để sắp xếp các nguyên thủy cơ bản với một API BTree, và chúng tôi mong được thấy các sáng kiến ​​như BrowserCouch được xây dựng trên đầu trang của IndexedDB. Các nhà phát triển web intrepid thậm chí có thể xây dựng một API SQL trên đầu trang của IndexedDB. Chúng tôi đặc biệt chào mừng việc triển khai API cơ sở dữ liệu SQL Web trên đầu trang của IndexedDB, vì chúng tôi nghĩ rằng điều này là khả thi về mặt kỹ thuật. Bắt đầu với một API dựa trên SQL để sử dụng với các nguyên thủy của trình duyệt không phải là bước đầu tiên phù hợp, nhưng chắc chắn có chỗ cho các API dựa trên SQL trên đầu trang của IndexedDB.

Tôi không cá nhân bị ảnh hưởng bởi những lập luận đưa ra trong bài viết, nhưng có vẻ như rõ ràng rằng (cho thời gian được) Mozilla đã quyết định rằng Web SQL Database là chết.

Các nhận xét thú vị khác về bài viết này có thể được tìm thấy on Hacker News.

+0

_Cảm ơn @a_horse_with_no_name cho bài viết gốc đã liên kết tôi đến cuộc thảo luận có liên quan hơn._ – Phrogz

4

hiểu biết của tôi là điều này bây giờ được gọi là "IndexedDB"
http://www.w3.org/TR/IndexedDB/

Rõ ràng đội Firefox đã bắt đầu thực hiện điều này:
http://hacks.mozilla.org/2011/01/indexeddb-in-firefox-4/

+0

IndexedDB là một tiêu chuẩn thấp hơn, nhưng dường như là người kế nhiệm thích hợp. Cảm ơn các liên kết hữu ích. – Phrogz

+1

Xem ví dụ cụ thể 4 trong [bài viết này] (http://hacks.mozilla.org/2010/06/comparing-indexeddb-and-webdatabase/) so sánh IndexedDB với Web SQL. Nhìn kỹ vào mã điên cần thiết để thực hiện một 'LEFT JOIN'. – Phrogz

1

Tôi không biết liệu có ai biết câu trả lời hay không. Mozilla không thích sự phụ thuộc vào SQLite và đã quyết định đi theo một cách khác. Tuy nhiên, tất cả các trình duyệt dựa trên WebKit đã được triển khai và tôi không thấy chúng loại bỏ nó vì bất kỳ trang web nào được xây dựng để tận dụng lợi thế của thông số kỹ thuật sẽ bị hỏng. Điều này có nghĩa là ít nhất trong các ngữ cảnh nhất định, chủ yếu là trong lĩnh vực di động, nơi hầu hết các trình duyệt đều có triển khai webkit, vẫn có thể sử dụng đặc tả SQL Web HTML5. Tôi thấy điều này đặc biệt đúng đối với các nhà phát triển đang tìm cách tạo các ứng dụng di động bằng cách sử dụng một khung như Phonegap.

Có một số nhà phát triển ứng dụng bạn muốn cung cấp cho người dùng quyền truy cập vào dữ liệu ngay cả khi họ không kết nối với Internet hoặc kết nối chậm và một số loại dữ liệu được lưu trữ hiệu quả hơn cơ sở dữ liệu hơn trong cookie hoặc tiền mặt JSON. Ví dụ: nếu bạn có dữ liệu có mối quan hệ thì việc thực hiện truy vấn để kéo dữ liệu bạn cần dễ dàng hơn và nhanh hơn là tìm kiếm bản đồ json.

Tôi không nghĩ rằng thông số đã chết, và tôi thực sự hy vọng rằng Mozilla sẽ đảo ngược lập trường của họ để các nhà phát triển có thể sử dụng nó để giải quyết các vấn đề bên ngoài thế giới webkit di động.

Các vấn đề liên quan