web-dev-qa-db-ja.com

Web SQLデータベースが廃止されたのはなぜですか?

ハイブリッドAndroidアプリを作成しています。

最初はlocalStorageを使用することにしました。2日間過ごした後、それが非常に奇妙であることに気づき、ドロップしました。

次に、indexedDBを取得しました。今日を丸一日使って実際にGoogle Chromeで出力を取得した後、AndroidアプリのWebView内で実行されていません。

また、Web SQLデータベースは廃止されたため、まったく使用しませんでした。とにかく、PhoneGapはまだWeb SQLを使用しており、Androidのブラウザーがそれをサポートしていることがわかりました。

そもそもなぜWeb SQLが非推奨になったのですか?そして今、私がWeb SQLを使うのは良い考えでしょうか?

97
user52009

ショートバージョン:標準は非常に重要であり、Web SQLを適切な標準に変換することは非常に困難なため、Web SQLは非推奨になりました。

Web SQLの既存の実装は基本的にSQLiteのラッパーであるため、その標準を定義しようとする試みは、基本的に「SQLiteが実行すること」でした。これでは十分ではありません。真の標準は、既存の実装(特にSQLiteのようなサードパーティの実装)を指すのではなく、インターフェースとコーナーケースと例外自体を定義するために、自己完結型である必要があります。そうでなければ、1つの特定の実装の癖を取り、それらを標準として安置するリスクを負います。私が読んだことから、W3Cはこれが確実に行われるようにするために、提案された標準の複数の独立した実装を好みます。 Web SQLはSQLiteに非常に結びついていたので、それは起こりませんでした。

Mozillaのブログ は、特にWeb SQLをサポートしない理由についての詳細を説明しています。明らかに、それらはWeb SQLを非推奨にする主要な声の1つでした。

今すぐWeb SQLを使うべきですか?現在サポートしているベンダー(GoogleやAppleなど)がすぐに削除することは期待していませんが、IEであり、Firefoxで追加される予定はありません。非推奨であるため、なぜですか。それに投資しますか?(たとえば、Google Developer Relationsで Ido Green を使用することはお勧めしません。)

102
Josh Kelley

Josh Kelleyの答えは、これまでのところ、標準的な作業が中止される理由について私が見つけた中で最高の答えです。とはいえ、ユーザーベースに関しては、考慮すべき追加の視点があると思います。

Eventhough、私はこのテーマに対するIdo Greenのアプローチに同意しません(「これは、Web開発者がテクノロジーをあまり効果的に使用しないようにするための推奨事項です」)...

私は信じています(vi4mがIdo Greenの記事のコメントで述べているように):

私たち(開発者)はまだこの技術を使用できます。このテクノロジの削除を要求したブラウザベンダーも、削除する予定もありません。開発者はWebの声です。私たちはまだそれを使うことができます、多分Mozillaは気が変わるでしょう;-)

そして、もう1つの論理的なアプローチを追加します。モバイル環境用に開発している場合...回答:iOSとAndroid ...したがって、両方がwebSQLをサポートしていて、ターゲットがMASSIVE MOBILEである場合は、それを試してください!

大きなアプリは最初からほとんどいつもやっていると考えて、最初にMOSTを取得し、次に(成功したら)作業を再現して残りを少なくします(本当に実現したい場合、またはそうするように求められた場合)。最後に、パスをマークするのは常に成功ではありませんか?


ノーランローソンの記事(彼の発明にチャンスを与えるという彼の意図が明確である)を読んだ後、この問題は、存在することすらできないはずの技術巨人間の新たな冷戦になったと私は信じています。私は、仕様が維持されるように作られていると信じています(可能な限り長く、手付かずの方が、クライアント指向のパフォーマンスに優れています)。皮肉なことに、「仕様の男」の仕事は、新しい仕様を生成することです(必要のない場合があるため、彼はさらに何かをすることができます)。同様に、プログラマーの仕事は、新しい問題の解決策を実行するのではなく、すでに機能しているものの変更と書き直しに集中することがあります。そして新しい傾向。

私にとって、クライアント側データベースは、サーバー側とクライアント側の間で並列処理を行うだけの問題であり、データの作成、保存、アップロード、ダウンロードを簡単に行うことができました。このアプローチでは、同じ言語と構造(少なくとも私たち、LAMPオープンソース開発者にとって)を同じにすることは簡単で論理的です。

IndexedDBは、より幅広い、より新しい可能性のある代替物であるという意図は常に優れたアプローチであると信じていますが、私にとっては、NEEDSをインストールするソフトウェアを開発する必要性に似ています(たとえコアソリューションがクラウド上にある場合でも)。接続を維持する傾向がある世界では、A)制御と所有の問題、またはB)クライアント側のモンスターの開発に焦点を当てているように聞こえますが、そのようなニーズには、アプリ(モバイルの世界)とソフトウェアが存在します(PCの世界では)。 Webappsの目標は、デバイスに関係なく、主にWebの拡張にとどまるべきだと思います。

ニースのインフォグラフィックはこのアプローチから生まれるかもしれません。

17
DavidTaubmann

実際のところ、貢献者たちが規格の方向性に行き詰まりを見せています。要するに、誰も同意することができませんでした。

W3Cサイトはこれを説明しています。

仕様は行き詰まりになりました:関心のあるすべての実装者が同じSQLバックエンド(Sqlite)を使用しましたが、標準化パスに沿って進むには複数の独立した実装が必要です。

WSCサイト

1
htm11h