Local blog for Japanese speaking developers
Realtime Database デベロッパーのための Cloud Firestore
2017年10月25日水曜日
この記事は
デベロッパー アドボケート、
Todd Kerpelman
による The Firebase Blog の記事 "
Cloud Firestore for Realtime Database Developers
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
皆さんはもうこの
ビッグニュース
を聞きましたか?なんと先日、Cloud Firestore のベータ版がリリースされました。これは、アプリのデータを簡単にクラウドに保存して同期できる新しいデータベースで、リアルタイムにも対応しています!
ここで、既視感のようなものを感じる方もいらっしゃるかもしれません。皆さんが既に使っているかもしれない別の製品、
Firebase Realtime Database
にとてもよく似た響きですね。ですから、既視感を感じるのも自然です。
では、なぜ別のデータベースができたのでしょうか。そして、どんなときにどちらを選べばよいのでしょうか。ここでは、Cloud Firestore の新機能と特徴、そして皆さんが次のアプリでこれを使ってみたくなる理由について説明します。
Cloud Firestore の特徴
ドキュメント
には、Realtime Database と Cloud Firestore の相違点がすべて詳しく記載されていますが、ここでは、この 2 つの製品の主な相違点について見てみましょう。まず、1 点目です。
データがより構造化されており、クエリが得意
Firebase Realtime Database は基本的に巨大な JSON ツリーで、いわば何でもありの無法地帯でしたが
1
、一方の Cloud Firestore はデータがより構造化されています。Cloud Firestore はドキュメントモデルのデータベースなので、すべてのデータはキーと値のペアの集まりでできた
ドキュメント
と呼ばれるオブジェクトに格納されます。値には、文字列、浮動小数点数、バイナリデータ、JSON のように見える
マップ
と呼ばれるオブジェクトなどをいくつでも格納できます。こういったドキュメントは、グループごとに
コレクション
と呼ばれるオブジェクトなどをいくつでも格納できます。
Cloud Firestore データベースの中にいくつかのコレクションがあり、その中にサブコレクションを持つドキュメントが含まれるという構造にすることもできます。こういったサブコレクションには、別のサブコレクションを持つドキュメントなどを含めることができます。
この新しい構造によって、データに対してクエリを実行する際に重要になるいくつかのメリットが得られます。
まず、すべてのクエリは
浅く
なります。つまり、ドキュメント配下のサブコレクションに紐付くデータをすべて取得せずに、そのドキュメントだけを取得することができます。これによって、不必要なデータを大量にダウンロードすることを心配せずに、論理的に妥当な形でデータ階層を格納することができるようになります。
この例では、サブコレクションに属するドキュメントを取得せずに、上のドキュメントだけを取得できる
次に、Cloud Firestore には Realtime Database よりも強力なクエリ機能が搭載されています。Realtime Database では、複数の項目にまたがるクエリを作成するには多くの作業が必要で、通常はデータを非正規化しなければなりません。
たとえば、都市の一覧があり、カリフォルニア州にある人口 50 万人を超えるすべての都市を探したいとしましょう。
Realtime Database に格納された都市
Realtime Database では、「州(state)+人口(population)」という項目を作成し、その項目に対してクエリを実行しなければなりませんでした。
クエリのためだけに state_and_pop という組み合わせ項目を作成
Cloud Firestore では、その作業は不要になります。場合によっては、Cloud Firestore は自動的に複数の項目を検索してくれます。今回の都市の例はそれには該当しませんが、そのような場合でも、Cloud Firestore はクエリを実現するために必要になるインデックスの構築を自動的に提示してくれます。
それさえ済めば、あとは複数の項目を使って検索するだけです。
Cloud Firestore は、アプリが有効である間、このインデックスを自動的にメンテナンスしてくれます。もう項目を組み合わせる必要はなくなります。
大規模に対応したデザイン
Realtime Database は
ほとんどの
アプリのニーズを満たす規模に拡大できますが、アプリの人気が非常に高まったり、データセットが巨大になると、問題が起こり始めることもあります。
一方の Cloud Firestore は、
絶大な人気を誇るいくつかのアプリ
を支えているのと同じ Google Cloud インフラストラクチャ上に構築されています。そのため、スケールアップがはるかに簡単で、容量も Realtime Database よりはるかに大きくなります。
また、クエリの構造が新しくなっているため、すべての Cloud Firestore クエリは、データのサイズではなく結果セットのサイズに対応します。つまり、レストランのレビューアプリでシカゴのトップ 10 レストランを検索する場合、データベース内にあるレストランが 300 店であっても、30 万店であっても、3000 万店であっても、かかる時間は同じです。あるエンジニアは、「Cloud Firestore で遅いクエリを作るのは基本的に不可能だ」と述べています。
ベータ版期間が始まる時点で、Cloud Firestore は既に Realtime Database を超える規模にスケールアップできるようになっています。ただし、実際の用途に近い使われ方をした際のデータベース性能を監視できるように、いくつかの制限も設けられています。しかし、ベータ版期間が終了し、一般提供版のリリースが近づく頃には、Cloud Firestore は途方もないレベル
2
にまで自動的に拡張できるようになりますので、ご期待ください。
データの手動取得が簡単
Realtime Database のリアルタイム性は、チャットなどの機能や魔法のような共同作業体験を提供する際にとても役立つというデベロッパーがいます。しかし一方で、「必要なときにデータを取得する」的な従来型の単純なサービスに Realtime Database を利用しているデベロッパーも多いことがわかっています。
Realtime Database で
.once
を呼び出すとこのようなユースケースに対応できますが、これを使うのは少しばかり不自然であり、SDK でもこの機能はストリーミング メソッドの補助的な役割を提供するものになっています。Cloud Firestore では、単純な一度きりの取得クエリがより自然な形で書けるようになり、それが Firestore API のプライマリ ユースケースになっています。
もちろん、リスナーもサポートされているので、データベース内のデータが変更されたときにアップデートを受信する機能をクライアントに持たせることもできます。つまり、好きな方法でデータを取得できる柔軟性が追加されています。
信頼性を向上させるマルチリージョン サポート
Cloud Firestore は、マルチリージョン データベースです。つまり、データは地理的に独立した別々のリージョンに自動で即時コピーされます。そのため、予期せぬ災害が発生してデータセンターやリージョン全体がオフラインになったとしても、データは安全であることが保証されます。
また、データベース ファンの皆さん向けにお伝えすると、このマルチリージョン データベースは(Cloud Spanner のような)強い整合性を備えています。つまり、マルチリージョンをサポートしつつ、いつ読み取りを行っても最新版のデータを取得できるというメリットがあります。
異なる価格モデル
この 2 つのデータベースには、まったく異なる価格モデルが設定されています。Realtime Database の費用は、主にダウンロードされたデータの
量
とデータベースに格納しているデータの量によって決まります。
Cloud Firestore もこれらの量に応じて課金されるものの、Realtime Database に比べて
非常に
低い額になっています
3
。その代わり、Cloud Firestore の料金は、主に読み取りと書き込みの
実行回数
によって決まります。
つまり、クライアントがデータベースから大量のデータをたまにリクエストするだけの従来型のモバイルアプリの場合、同じアプリでも Realtime Database の価格モデルより Cloud Firestore の方が有利かもしれません。たとえば、ニュースアプリや出会い系アプリ、ターン制のマルチプレーヤー型ゲームなどがこれにあたるでしょう。
一方で、1 秒間に行うクライアント当たりの読み込み数や書き込み数が非常に多いアプリ(たとえば、全員の書き込みが 1 秒間に何度もブロードキャストされる可能性があるホワイトボード共有アプリ)では、おそらく Cloud Firestore の方が高価になるでしょう。
4
少なくとも、アプリのその部分については、ここに記載した説明が当てはまります。ただし、両方のデータベースを併用することができ、そうすることには何の問題もありません。
もちろん、ここに記したのは大まかなガイドラインです。Cloud Firestore の詳しい価格設定については、ドキュメントの
価格セクション
をご覧ください。
Realtime Database を使い続ける方がよい場合
以上のような変更点だけを聞くと、単純に Realtime Database よりも Cloud Firestore の方が優れているという印象を受けるかもしれません。実際、Cloud Firestore には Realtime Database を改善した点もかなり多く含まれていますが、Realtime Database を使うことを考慮した方がよいデータもあります。具体的には、次のような場合です。
レイテンシの面では、Realtime Database の方がわずかに優れているようです。通常は大きな差が出ることはありませんが(データベースからクライアントまでで数百ミリ秒程度)、即時性重視のアプリで、安定した低レイテンシでアップデートできるデータベースが必要な場合は、Realtime Database の方が適しているかもしれません。
Realtime Database は、
プレゼンス
をネイティブ サポートしています。これは、ユーザーがオンラインになった場合やオフラインになった場合に通知してくれる機能です。Cloud Firestore で同じことを行う
ソリューション
もありますが、あまり簡単とは言えない方法です。
前述のように、Cloud Firestore の価格モデルでは、1 秒間に行われるクライアント当たりの読み取り数や書き込み数が非常に多く、それぞれが小さなものである場合、同じ操作を行う Realtime Database アプリよりも大幅に高価になる場合があります。
現在、Cloud Firestore はベータ版の製品です。Realtime Database は 4 年にわたって何十万もの本番環境向けアプリで利用されている歴戦のデータベースです。Cloud Firestore は、ここ数か月間で数十個のアプリによって限定的に本番利用されています。こういったアプリの中には、
HomeAway
や
Hawkin Dynamics
のように実際に公開され、優れたパフォーマンスを発揮しているものもあります。しかし、Cloud Firestore にはまだ見つかっていない問題やエッジケースが存在する可能性もあります。
長すぎて読めないという皆さん、使い方を教えてください!
一般的には、
新しい
アプリには Cloud Firestore を使ってみることをおすすめしています。ただし、Realtime Database を使う方が望ましい前述のような特別なニーズがある場合は除きます。
一方で、Realtime Database で問題なく動作している
既存
のデータベースがある場合は、それを使い続ける方がよいでしょう。Cloud Firestore がとても役立ったという問題を見つけた方は、データベースの切り替えを行うか、データの一部を Cloud Firestore に移行して両方のデータベースを併用してください。しかし、切り替えのための切り替えは行うべきではありません。
なお、「データベースを Realtime Database から Cloud Firestore に変換する」魔法のボタンは探しても見つかりませんので、あしからず
5
。率直なところ、今後もそのような機能が実現されるかはわかりません。この 2 つのデータベースやクエリ、価格構造の違いを考えると、Realtime Database に最適化されているデータベースを単純に Cloud Firestore に変換しても、必ずしも優れたエクスペリエンスは提供できないでしょう。この種の変更を行う場合は、ぜひじっくりと考えるようにしてください。
試してみたい方へ
Cloud Firestore を試してみたいという方向けに、さまざまなものが準備されています。
ドキュメント
や
Google
の
サンプル
アプリ
、
インタラクティブ コードラボ
、
スタート
ガイド
動画
などをご覧ください。
皆さんが Cloud Firestore を使ってできることはたくさんあるはずです。皆さんがこれを使って作るアプリを楽しみにしています。いつものように、質問がある方はいずれかの
サポート チャンネル
を通してご連絡ください。または、
google-cloud-firestore
および
firebase
タグ
をつけて Stack Overflow に投稿してください。ぜひお楽しみください。グッドラック!
注
もちろん、
セキュリティ ルール
には従います
↩
これは公式なデータベース用語ではありません。今のところは...
↩
データ ストレージは 27 分の 1 ほどの価格です
↩
余談ですが、個人的には新しい価格構造の方がはるかに費用の見積もりがしやすいので、すばらしいと感じています。
↩
ただし、とても便利な
移行ガイド
が提供されています。
↩
Reviewed by
Khanh LeViet - Developer Relations Team
ラベル
.app
1
.dev
1
#11WeeksOfAndroid
13
#11WeeksOfAndroid Android TV
1
#Android11
3
#DevFest16
1
#DevFest17
1
#DevFest18
1
#DevFest19
1
#DevFest20
1
#DevFest21
1
#DevFest22
1
#DevFest23
1
#hack4jp
3
11 weeks of Android
2
A MESSAGE FROM OUR CEO
1
A/B Testing
1
A4A
4
Accelerator
6
Accessibility
1
accuracy
1
Actions on Google
16
Activation Atlas
1
address validation API
1
Addy Osmani
1
ADK
2
AdMob
32
Ads
72
Ads API
134
ads query language
2
ads scripts
2
ads search
1
advanced markers
1
Advanced Protection Program
3
AdWords API
25
adwords scripts
2
aerial view api
1
Agency
1
AI
19
AIY
3
AIY Vision Kit
2
ALPN
1
AMP
120
AMP Cache
9
AMP Camp
2
AMP CSS
1
AMP Extension
1
AMP Fest
1
AMP for Email
4
AMP Optimizer
1
AMP Packager
1
AMP Playground
1
AMP Plugin
1
AMP SSR
1
AMP Story
4
AMP Toolbox
1
amp-bind
1
amp.dev
1
AMPHTML Ads
1
Analytics
9
Andorid
12
Android
400
Android 10
1
Android 11
20
Android 11 Compatibility
1
Android 11 final release
1
Android 11 meetups
1
Android 9
1
android api
1
Android App Bundle
1
Android App Development
23
Android Architecture
1
Android Architecture Components
1
Android Auto
1
Android Design Support Library
1
Android Developer
14
Android Developer Story
4
Android Developers
13
Android Enterprise
6
Android for cars
2
Android Go
1
Android Jetpack
6
Android N
18
Android O
14
Android Open Source Project
1
Android P
7
Android Pay
1
android privacy
1
Android Q
13
Android Ready SE Alliance
1
android security
5
Android Security Year in Review
1
Android StrongBox
1
Android Studio
47
Android Studio 4.1
1
android study jam
1
Android Support Library
6
Android Things
15
Android Tools
2
Android TV
11
Android Vitals
4
Android Wear
29
android11
6
androidmarket
3
androidstudio
1
AndroidX
6
Angular
2
Angular 2
2
AngularJS
2
Announcements
2
Anthos
2
antmicro
1
AoG
1
aosp
1
API
28
APIExpert
45
apk
2
APM
1
app
3
App Action
1
App Bundle
2
app check
1
app engine
24
App Indexing
7
App Invites
6
App Maker
2
App modernization
1
AppCompat
2
Apps Flutter eBay
1
Apps Script
12
AppSheet
1
aprilfool
4
AR
3
Architecture Components
7
ARCore
3
ArtTech
1
asset-based extensions
2
assets
1
Associate Android Developer Certificate
1
Attribution Reporting
1
Audio
7
Auth Code
1
Authentication
9
AuthSub
2
Autofill
5
AutoML
1
Autotrack
2
award
1
Awareness API
1
basemap
1
basic-card
1
Beacons
6
bento
2
BERT
1
Best Practices
1
beta
4
Better Ads Standards
3
BigQuery
10
Billing
1
Biometrics
1
BLE
4
Blink
1
Blockly
1
blogger
1
BodyPix
1
bootcamp
1
Brillo
1
Brotli
2
Budou
1
budoux
1
Buildbetterapps
2
C++
1
Calendar
3
call ads
1
campaign
2
campaignsharedset
1
Campus
1
Canvas
1
Cardboard
4
Career
1
Case Study
3
CCPA
1
CDS 2020
3
CDS Recap 2020
3
Certificate
8
changestatus
1
chrome
261
chrome 98
1
Chrome Apps
1
Chrome Custom Tab
4
Chrome Dev Summit
5
chrome extension
14
Chrome for Android
2
Chrome for iOS
3
Chrome OS
10
Chrome Root Program
1
Chrome Root Store
1
Chrome Tech Talk Night
4
chrome103
1
chrome104
1
chrome108
1
chrome90
1
Chromebook
5
Chromecast
7
chromewebstore
9
Chromium
20
CLI
1
ClientLogin
3
Closure Compiler
1
Cloud
28
Cloud AI Platform
2
Cloud Firestore
5
Cloud Functions
9
Cloud IoT Device SDK
1
cloud messaging
1
Cloud ML Summit
1
Cloud Next
19
Cloud OnAir
5
Cloud OnBoard
4
Cloud PubSub
1
Cloud Run
1
Cloud Storage
1
Cloud Study Jams
3
Cloud Summit
1
Cloud Test Lab
2
Cloudflare
1
CNN
1
Coalition for Better Ads
2
CocoaPods
1
code review
1
codejam
5
codelab
5
Codepen
1
Colaboratory
1
Common Criteria
1
Community
6
compatibility
1
Compose
1
compose camp
1
compute engine
3
consent
1
Contests
1
Context
1
controls
1
Conversation API
1
conversations
2
conversion
1
Cookie
10
Coral
3
core web vitals
1
COVID-19
2
Crash Reporting
2
Crashlytics
3
cryptography
1
Custom Element
1
Custom Model
1
CWV
2
dark theme
1
Dart
2
DataCenter
1
datacloudsummit
1
Daydream
4
deck.gl
2
Deep Learning
4
Delegation
1
Demo Party
1
Design Patterns
1
Design Sprint
3
DesignBytes
1
Designer
1
DevArt
3
DevBytes
6
Developer
15
Developer Console
4
Developer Library
1
Developer Preview
6
Developer Relations
3
Developer Review
1
Developer Student Club
1
DEVELOPERS
1
Developers Story
4
DevFest
12
DevFestX
3
DevOps
1
devtools
4
Dialogflow
1
Differential privacy
2
Digital Asset Links
1
Digital Goods API
1
directions api
1
DirectShare
1
Discover
1
distance matrix api
1
DNS-over-HTTPS
4
Domain
1
Doodle
1
DoubleClick
4
Doze モード
1
drive
2
DSA
1
DSC
1
DX
1
Dynamic Links
3
EarlGrey
1
Easter Egg
1
ECMAScript 2015
1
Eddystone
4
Edge
1
egypt
1
encoder
1
Encryption
1
English
2
environment api
1
Envoy
1
error
1
ES2015
1
ES2016
1
ES6
2
ES7
1
eta
1
Event
7
events
3
extensions
1
external
1
Featured
25
Feed
2
feed-based extensions
3
feeds
1
FIDO
7
filter
1
final release
1
Firebase
123
Firebase Admin SDK
6
Firebase Analytics
10
Firebase Auth
4
Firebase Cloud Messaging
10
Firebase Crashlytics
2
Firebase Database
5
firebase for games
1
Firebase Libraries
1
Firebase Notifications
1
Firebase Performance
3
Firebase Remote Config
6
firebase summit
1
Flash
1
FLEDGE
1
FLoC
2
Flutter
8
Flutter App Development
1
flutter3
1
font
3
fraud
1
G Suite
19
game
43
Game Developers Conference 2018
1
Game Developers Conference 2019
1
Game Development
1
gaming
1
gaql
8
Gboard
2
gc_datacloud
1
GCCN
1
GCP
17
GCPUG
1
GDC
1
GDD11JP
56
GDD2010JP
23
GDE
2
GDG
22
GDG Cloud
1
gdsc
4
Gemini
5
Gemma
1
generative AI
4
Geo
55
Gingerbread
1
GLIDE
5
global foundries
1
Gmail
6
Gmail API
3
Go
1
Go Checksum Database
1
golang
5
goo.gl
1
Google
8
Google account
1
Google Analytics
4
Google API
2
Google Apps
14
Google Apps Script
4
Google Assistant
13
Google Assistant SDK
2
Google Binary Transparency
1
Google Cast
8
Google Chat
3
Google Cloud
49
Google Cloud Day
10
google cloud innovators
2
Google Cloud INSIDE Digital
2
Google Cloud INSIDE Games & Apps
9
Google Cloud INSIDE Media
1
Google Cloud INSIDE Retail
3
Google Cloud Messaging
11
google cloud next
4
google cloud next tokyo
3
Google Cloud Platform
16
Google Code-in
1
Google Dev Library
1
Google Developer Experts
2
google developer groups
1
google developer student clubs
1
Google Developers Academy
1
Google Developers live
5
Google Developers Summit
2
Google Drive
6
Google Earth
1
Google Fit
2
Google for Games
3
Google for Mobile
2
Google for Startups
8
Google for Work
1
Google I/O
26
Google I/O 2024
3
Google Identity Services
6
Google Impact Challenge
1
Google Maps
72
Google Maps Platform
91
Google Meet
1
Google ML Summit
2
Google Open Source Peer Bonus
1
Google Pay
6
Google Photo
1
Google Play
148
Google Play App Safety
1
Google Play Billing
1
Google Play Console
15
Google Play developer distribution agreement
1
Google Play Developer Policies
2
Google Play Game Services
10
Google Play Instant
1
Google Play Services
23
Google Play Store
1
Google Play アプリ署名
1
Google Plus
14
Google Search
8
Google Sheets API
3
Google Sign-In
17
Google Slides API
5
Google Summer of Code
1
Google Tag Manager
1
Google Tensor
1
Google Trust Services
3
Google マップ
4
google_ads_api_v6
1
Google+
2
Googleapps
10
GoogleCloud
5
GoogleCloudDay
5
GoogleCloudInside
1
googlecloudlearn
1
googlecloudnext
2
GoogleGames
1
GoogleI/O
31
GoogleLabs
1
GooglePlay
3
GoogleTV
1
GPS
1
Gradle
1
Growth Academy
1
gRPC
2
GTUG
5
GWT
2
hack4jp
2
hackathon
7
handson
1
Hangouts Chat
3
hardware
2
Hosting
3
hotel
1
How-To Guide
1
HTML5
17
HTML5Rocks
1
HTTP/2
5
HTTPS
19
I/O Extended
7
ID Token
1
Identity
18
Identity Toolkit
1
IGF2010
4
IGF2020
2
Ignite
4
Imagen 2
1
IME
12
Indie Game
7
Indie Games Festival
7
Indie Games Festival 2018
2
Indie Games Festival 2019
12
Indie Games Festival 2020
7
Industry Trends
1
Inevitable ja Night
30
innovators hive
2
Insights
1
Instagram
1
Instant Apps
6
intern
2
Invites
1
IO19
3
iOS
22
IoT
7
IPv6
1
Issue Tracker
2
IWD
1
Japanese
6
Japanese Developer
1
Japanese Input
1
java
1
JavaScript
13
Jetpack
5
Jetpack Compose
6
Journeys
1
K-12
1
Kaggle
1
Key Transparency
1
Knowledge Graph
1
Kotlin
25
Kotlin Android Extensions
1
kotlin api
1
Kotlin Beginners
3
Kotlin Vocabulary
2
Kubernetes
4
l10n
8
latest
18
latest news
1
launch
1
LaunchPad
2
Learn
1
lifull
1
Lighthouse
1
LINE
1
Local AI
1
Location
1
Lollipop
10
Machine Learning
32
MAD Skills
2
MADSkills
2
Maker Faire Tokyo
1
maps compose
1
maps embed api
1
Maps JavaScript API
5
maps on air
1
maps sdk
2
maps transportation
1
Marshmallow
10
Material
1
Material Design
31
MDL
2
MDN
1
MediaPipe
1
Messaging
1
metrics
1
MIDI
2
migration
1
mikan
1
Mixed Contents
4
ML
3
ML Kit
12
mlops
1
Mobile
15
Mobile Bootcamp
4
mobile optimized maps
1
Mobile Sites certification
1
Mobile Vision
4
mod_pagespeed
1
Model Maker
1
monetization
2
monetize
3
Mozc
15
Music
1
NativeDriver
2
NativeScript
1
Navigation
1
NBU
1
ndk
3
Nearby
5
News
1
Next Extended
1
Next Tokyo
4
Nexus
2
Nexus S
1
NFC
1
NIST
1
Node.js
3
notifications
2
Noto CJK
1
Now in Android
13
NPAPI
2
NPN
1
oauth
17
officehour
1
One Tap
2
online security
2
open silicon
2
open source
9
OpenAI
1
opencensus
1
opencloudsummit
1
OpenGL
4
OpenID
3
OpenID Connect
4
OpenSocial
1
opensource
20
OpenTitan
1
Optimization
1
OSV
1
p-max
3
Page Experience
1
passkey
3
Password Manager
4
Payment
8
Payment Handler API
1
Payment Request API
2
PDF
1
PEM
33
people
2
People API
3
Performance
16
Performance budget
1
performance max
1
Performance Monitoring
1
performance report
1
permissions
1
personalization
1
PersonFinder
1
Phishing
2
phone
1
photorealistic 3d tiles
1
Physical Web
3
Pi
1
Pixel
4
Place Picker
1
placements
1
places api
1
places SDK
1
Platform Stability
1
Play Billing
2
Play Billing Library
2
Play Console
2
Player Analytics
4
Playtime 2017
1
Policy
8
policy compliance
2
policy violations
2
polylines
1
Polymer
7
pricing
1
privacy
15
Privacy Sandbox
22
Progressive Web Apps
14
project hosting
1
Promise
2
Promo code
1
Protocol Buffers
1
PRPL
1
publicdata
1
Push API
1
Push Notification
6
PWA
4
Python
3
query builder
8
query validator
1
QUIC
2
quick builder
1
quick start widget
1
QWIKLABS
3
RAIL
1
raspberry pi
1
React
1
React Native
2
reactive programming
1
Realtime Database
9
Recap Live Japan 2019
3
reCaptcha
1
Redux
1
release
7
Remote Config
4
Remote Display API
1
Reporting API
1
Requirements
1
Resonance Audio
1
resource type
1
Rewarded Video Ads
2
RKP
1
rmf
2
routes api
3
RSS
1
Run on OS Login
1
Runtime Permission
1
Rust
2
Safe Browsing
4
safety
1
Sample Code
2
Santa Tracker
1
SBOM
1
schedule
1
schema
2
schema.org
1
Scorecards
1
script
2
SDG
1
sdk
1
search central
1
secur
1
Secure Element
1
security
92
selfie
1
Service Worker
4
SHA-1
1
Sigstore
4
silicon
3
Site Isolation
1
sketchup
1
skywater
1
SLSA
1
smart displays
1
smart home
1
smart shopping campaign
1
SmartLock for Passwords
5
social
4
Social Good
1
Social Media
1
software development
1
solution challenge
2
Solve
1
SPDY
3
speak2tweet
1
speaker
1
Spectre
2
speedometer
1
Spreadsheet
3
ssc
1
ssd
1
SSR
1
stable release
1
startup
7
Storage
3
store sales direct
1
story
2
streetview
3
Study Jams
12
subscriptions
5
sunset
10
Swift
2
SwiftShader
1
Symantec
1
tag
1
tapple
1
Task
4
Team Drive
1
techtalk
13
TensorFlow
43
TensorFlow Federated
1
TensorFlow Lite
8
TensorFlow Object Detection API
1
TensorFlow Probability
2
TensorFlow.js
4
test
4
Test Lab
6
TF Certificate
2
TFX
1
The Fast and the Curious
13
Titan M2
1
Titan Security Key
1
TLS
4
Topics
1
ToS
1
trace
1
Transliteration
1
Transparency
1
Trust
1
Trusted Web Activity
1
Trusty OS
1
TrustZone
1
Twitter
1
UA-CH
1
Udacity
20
Unity
3
update
1
usecase
1
User Agent string
2
UX
5
v10
2
v10.1
1
v11
1
v13
1
v15
1
v3
1
v4
1
v5
1
v6.1
1
v7
2
V8
5
v9
1
valuetrack
1
Verifiable Design
1
vertex ai
1
Vision AI
1
VP9
1
VR
11
Vulkan
2
wafer
1
Watch Face
2
wave
2
Wear OS
3
Weave
1
Web
37
Web Animations
1
Web Components
9
Web Manifest
2
Web Packaging
3
Web Stories
3
Web Story
3
Web Vitals
7
web.dev
1
WebAssembly
6
WebAuthn
1
WebGL
5
Webhook
1
WebM
1
WebMusic
5
WebRTC
1
WebView
1
Windows
1
Women in Gaming
1
Women Techmakers
1
Women Techmakers Scholars Program
1
WomenDeveloperAcademy
1
Wordpress
2
workmanager
1
WTM
8
Xcode
1
YouTube
18
YouTube API
1
youtube select
1
インタビュー
1
コードサンプル
1
サプライ チェーン
1
プライバシー
1
機械学習
3
言論の自由
1
節電
3
定期購入
1
東日本大震災
9
日本語入力
41
ブログ アーカイブ
2024
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2023
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2022
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2021
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2020
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2019
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2018
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2017
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2016
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2015
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
2014
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2013
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2012
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2011
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2010
12月
11月
Feed
Follow @googledevjp
"プロダクトに関するご意見は
プロダクトフォーラム
にお願いします"