Local blog for Japanese speaking developers

Angular 1 と Angular 2 の連携:シームレスなアップグレードの方法について

2015年10月9日金曜日
Angular 1 アプリの Angular 2 へのアップグレードをお考えですか?今日はインクリメンタル なアップグレードについてご紹介します。

概要

朗報です!
    • 同じアプリケーションで Angular 1 と Angular 2 を混在させることができます。
    • 同じビューに Angular 1 と Angular 2 のコンポーネントを混在させることができます。
    • Angular 1 と Angular 2 ではフレームワークをまたがってサービスを提供することができます。
    • フレームワークをまたがってデータ バインディングが動作します。

    アップグレードする理由

    Angular 2 には、大幅なパフォーマンスの向上、より強力なテンプレート、遅延読み込み、シンプルな API、容易なデバッグ、高度なテストが可能など、Angular 1 よりも多くのメリットがあります。その主な例をご紹介しましょう。

    パフォーマンスの向上
    アプリの動作が軽快になるように、数多くのシナリオを検討しました。当初に比べると、レンダリングや再レンダリングの速度は 3~5 倍です。
      • Monomorphic な(単相的な) JS 呼び出しによる変更検出の高速化
      • テンプレートのプリコンパイルと再利用
      • 表示のキャッシュ
      • メモリ使用率 / VM の負荷の低減
      • Observable(監視可能)、もしくは Immutable(不変)なデータ構造による線形(超高速)な拡張性
      • Dependency Injection(依存性の注入)でインクリメンタルな読み込みをサポート

      より強力なテンプレート

        • 多数のディレクティブの必要性を排除
        • 静的分析が可能:将来のツールや IDE では、実行時ではなく開発時にエラーを検出できる
        • テンプレートの作成者がディレクティブ定義で手書きする代わりに、バインディングの使用方法を決定できる

        将来の可能性

        DOM から Angular 2 のレンダリングを切り離しました。我々は現在、この切り離しによって実現する次のような機能のサポートについても積極的に取り組んでいます。
          • サーバー側でのレンダリング。超高速な初期レンダリングとウェブクローラーのサポートを実現します。
          • Web Worker。お使いのアプリやほとんどの Angular を Web Worker スレッドに移動して、常に UI がスムーズでいつでも応答できるようにします。
          • ネイティブ モバイル UI。Google はモバイル アプリでの Web プラットフォーム サポートに注力しています。同時に、一部のチームは iOS と Android のモバイル アプリで完全にネイティブな UI を提供しようと取り組んでいます。
          • ビルド ステップとしてのコンパイル。Angular アプリは HTML テンプレートを解析してコンパイルします。コンパイル ステップをビルド プロセスに移すことによって、初期レンダリングの高速化に取り組んでいます。

          Angular 1 および 2 を同時に実行

          Angular 2 はパフォーマンス、簡易性、柔軟性において Angular 1 よりも大幅に向上しています。Angular 2 のコンポーネントやサービスを単一のアプリにシームレスに取り込めるようにすることで、既存の Angular 1 アプリケーションのメリットを簡単に活かせるよう取り組んでいます。これによって、多数の小規模なコミットに対してアプリケーションの 1 つのサービスまたはコンポーネントを同時にアップグレードできるようになります。

          たとえば、下の図のようなアプリがあるとします。Angular 2 の使用を開始するには、左側のナビゲーションを Angular 2 コンポーネントにアップグレードするように指定します。自信が付いたら、メイン コンテンツ エリアのスクローリング エリアに Angular 2 のレンダリング速度を利用するように指定します。
          これを実現するには、Angular 1 と Angular 2 の間で 4 つの連携を行います。
            • 依存性の注入
            • コンポーネントのネスティング
            • トランスクルージョン
            • 変更の検出
            これらすべてを可能にするために、我々は現在、ng-upgrade という名前のライブラリの開発を進めています。既存の Angular 1 アプリケーションに ng-upgrade と Angular 2 をインクルードすることで、思いのままに組み合わせることができるようになります。

            詳細と擬似コードについては、最初の アップグレードの設計に関するドキュメントを参照してください。また、この動作の概要についても記載されています。今後の投稿で、Angular 1 コードの Angular 2 へのアップグレードの具体例をご紹介していきます。

            依存性の注入

            最初に、アプリケーションのパーツ間のコミュニケーションを解決する必要があります。Angular における、別クラスまたは関数の呼び出しの最も一般的なパターンは、依存性の注入(Dependency Injection)です。Angular 1 には 1 つのルート インジェクターがあり、Angular 2 には 階層型のインジェクターがあります。一度に 1 つのサービスをアップグレードするということは、2 つのインジェクターが互いにインスタンスを提供できるようにする必要があることを意味します。

            ng-upgrade ライブラリによって、Angular 1 のすべてのインジェクターが自動的に Angular 2 で利用できるようになります。これは Angular 1 のアプリケーション サービスを Angular 2 のあらゆるコンポーネントまたはサービスに注入できるようになったことを意味します。

            Angular 1 のインジェクターへの Angular 2 のサービスの公開もサポートされますが、マッピング構成を単純にする必要があります。

            その結果、独立したコミットに対して一度に 1 つのサービスを Angular 1 から Angular 2 に簡単に移行し、混在環境でのコミュニケーションを実現できます。

            コンポーネントのネスティングとトランスクルージョン

            いずれのバージョンの Angular でも、コンポーネントは独自のテンプレートを持ったディレクティブとして定義しています。インクリメンタルな移行については、これらのコンポーネントを一度に 1 つずつ移行できるようにする必要があります。これは、ng-upgrade で各フレームワークのコンポーネントが互いにネストできる必要があることを意味します。

            これを解決するため、ng-upgrade が Angular 1 コンポーネントをファサードにラップできるようにすることで、これらを Angular 2 コンポーネント内で使用できるようにしています。逆に、Angular 2 コンポーネントを Angular 1 で使用するためにラップすることもできます。これは、Angular 2 のコンテンツ プロジェクション同様、Angular 1 のトランスクルージョンでも完全に動作します。

            このネストされたコンポーネントでは、各テンプレートが Angular 1 または Angular 2 のいずれかに完全に所有され、その構文およびセマンティックに厳密に従います。これはエミュレーションではなく、コンポーネントのタイプに応じた各フレームワークで実際に動作します。つまり、Angular 2 にアップグレードされるコンポーネントは、構文が改良されるだけではなく、Angular 2 のすべてのメリットを享受できるのです。

            また、Angular 1 のコンポーネントはAngular 2 のテンプレートで使用される場合でも常に Angular 1 の依存性の注入を使用し、Angular 2 のコンポーネントは Angular 1 のテンプレートで使用される場合でも、常に Angular 2 の依存性の注入を使用することも意味します。

            変更の検出

            Angular 1 と Angular 2 のコンポーネントの混在は、Angular 1 のスコープと Angular 2 のコンポーネントが交互に配置されることを意味します。このため、ng-upgrade では、式の予測可能な評価順を維持するため、変更の検出(Angular 1 のスコープ ダイジェストと Angular 2 の変更の検出機能)が同様に交互に配置されます。

            ng-upgrade ではこれを考慮して、Angular 1 のスコープ ダイジェストと Angular 2 の変更の検出をブリッジし、両方のフレームワークにまたがる 1 つにまとめたダイジェスト サイクルを作成します。

            一般的なアプリケーションのアップグレード プロセス

            ここで、Angular 1 のプロジェクトの Angular 2 へのアップグレードの例をご紹介します。
            1. 既存のアプリケーションに Angular 2 と ng-upgrade ライブラリをインクルードします。
            2. 移行するコンポーネントを選択します。
              1. Angular 2 の構文に従って Angular 1 のディレクティブのテンプレートを編集します。
              2. ディレクティブのコントローラー/リンク関数を Angular 2 の構文/セマンティックに変換します。
              3. ng-upgrade を使用してディレクティブ(現在はコンポーネント)を Angular 1 のコンポーネントとしてエクスポートします(これは、Angular 1 のテンプレートから Angular 2 の新しいコンポーネントを呼び出す場合に必要です)。
            3. 移行するサービスを選択します。
              1. ほとんどの場合、必要な変更は最小限であるか、変更は不要です。
              2. Angular 2 でサービスを構成します。
              3. (オプション) Angular 1 のコードの他の部分でまだ使用されている場合、ng-upgrade を使用してサービスを Angular 1 に再びエクスポートします。
            4. 必要に応じて、ステップ 2 と 3 を繰り返します。
            5. サービス/コンポーネントの変換がすべて終わったら、最上位の Angular 1 ブートストラップをドロップし、Angular 2 のブートストラップに置換します。
            個々の変更は個別に確認できるため、アプリケーションは動作を継続し、ユーザーは必要に応じてアップデートのリリースを続行できます。

            我々は、コンポーネント以外のディレクティブを両方で使用できるようにすることは計画していません。コンポーネント以外のディレクティブのほとんどが新しいテンプレートの構文(つまり、ng-click vs (click) )で直接サポートされるため、Angular 2 では不要であると考えています。

            質問と回答

            Angular 2 では双方向バインディングがサポートされないと聞きました。交換するにはどうすればよいですか?

            実際には、Angular 2 で双方向データ バインディングと ng-model がサポートされますが、構文がわずかに異なります。

            Angular 2 の開発に着手したとき、Angular のダイジェスト サイクルに関する問題を解決したいと考えていました。そこで、変更の検出用に 1 方向のデータフローを作成することを選択しました。当初は、ng-model の双方向のフォーム データバインディングが Angular 1 にどのように適応しているのかが不明でしたが、Angular 2 のフォームを Angular 1 のフォームと同様にシンプルにする必要があることはわかっていました。

            何度か試行錯誤を繰り返すうち、複数のダイジェストでの問題を解決し、Angular 1 の ng-model のパワーと簡潔さを維持することができるようになりました。

            双方向データバインディングの新しい構文は次のようになりました:[(property-name)]="expression"。これによって、双方向で式が明示的にバインドされます。ほとんどのシナリオにおいて構文の変更が軽微なため、移行は容易であると考えています。

            たとえば、Angular 1 での構文が <input type="text" ng-model="model.name" /> の場合、

            Angular 2 では <input type="text" [(ng-model)]="model.name" /> に変換します。

            Angular 2 で 使用できる言語はどれですか?

            Angular 2 API では、現在の JavaScript(ES5)、次期バージョンの JavaScript(ES6 または ES2015)、TypeScript、および Dart でのコーディングが完全にサポートされます。

            現在の JavaScript を引き続き使用していただいても何ら問題はありませんが、ES6 および TypeScript(これは ES6 のスーパーセットです)をお試しになることをお勧めします。これらを使用することで、生産性が大幅に向上します。

            ES6 では、プロミスやモジュールといった共通ライブラリに、大幅に改善した構文や互換性のある標準機能を提供します。TypeScript では、コード ナビゲーション、IDE での自動リファクタリング、ドキュメンテーション、エラー検出などが大幅に向上します。

            ES6 と TypeScript は ES5 のスーパーセットであるため、簡単に導入できます。これは、既存のすべてのコードが有効で、一度に少しずつ機能を追加できることを意味します。

            コードベースの $watch はどのように扱えばいいですか?

            簡単に言うと、$watch 式は宣言的なアノテーションに移行する必要があります。これに適さない場合は、オブザーバブル(リアクティブ プログラミング スタイル)を利用する必要があります。

            Angular 2 で速度と予測可能性を向上させるには、宣言的にウォッチ式を指定します。式は HTML テンプレート内にあり、自動的にウォッチされる(何もしなくてもよい)か、ディレクティブの注釈で宣言的にリストする必要があります。

            これによるもう 1 つのメリットは、Angular 2 アプリケーションを小規模なペイロードのために安全に圧縮/難読化できることです。
            アプリケーション間のコミュニケーションのために、Angular 2 ではオブザーバブル(リアクティブ プログラミング スタイル)が提供されます。

            移行の準備のために何をすべきですか?

            ベストプラクティスに従い、 AngularJS Style Guide で説明されているように、Angular 1 のコンポーネントおよびサービスを使用してアプリケーションを開発してください。

            当初のアップグレード計画では、新しいコンポーネント ルーターを使用することになっていませんでしたか?

            ng-conf 2015 で発表したアップグレード計画は、ビュー全体を一度にアップグレードし、2 つのバージョンの Angular 間のコミュニケーションをコンポーネント ルーターで処理することを前提としていました。

            元々インクリメンタルな移行をおすすめしていましたが、十分ではありませんでした。計画を再考し、上記のような計画に変更することになりました。

            提供していただける情報はほかにもありますか?

            はい。Angular 1 から Angular 2 へのアップグレード戦略設計のドキュメントに記載されています。

            今後、次のような関連トピックの投稿を予定しています。
            1. Angular 1 の知識を Angular 2 をマッピングする。
            2. Angular 2 の詳細に関する FAQ。
            3. コード サンプルを使用した詳細な移行ガイド。
            次回以降の投稿をお楽しみに!

            Posted by Eiji Kitamura - Developer Relations Team
            Share on Twitter Share on Facebook
              

            ラベル

            
            • .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 73
            • Ads API 143
            • 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 22
            • AI Agent Summit 1
            • 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 403
            • 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 6
            • 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
            • Business and Leadership 1
            • C++ 1
            • Calendar 3
            • call ads 1
            • campaign 2
            • campaignsharedset 1
            • Campus 1
            • Canvas 1
            • Cardboard 4
            • Career 1
            • Case Studies 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 29
            • 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 7
            • 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
            • data retention 1
            • 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
            • Explore 1
            • 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 23
            • GDG Cloud 1
            • gdgoc 2
            • gdsc 5
            • Gemini 6
            • Gemma 2
            • generative AI 4
            • Geo 55
            • Get Inspired 1
            • 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 50
            • 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 12
            • 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 27
            • Google I/O 2024 3
            • Google Identity Services 6
            • Google Impact Challenge 1
            • Google Maps 72
            • Google Maps Platform 92
            • 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 8
            • ID Token 1
            • Identity 18
            • identity check 1
            • 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
            • Influence 1
            • 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 2
            • 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 6
            • 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 16
            • 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 2
            • 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 5
            • 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 96
            • 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
            • v19 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 38
            • 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
            

            ブログ アーカイブ

            
            •     2025
              • 8月
              • 7月
              • 6月
              • 5月
              • 4月
              • 3月
              • 2月
              • 1月
            •     2024
              • 12月
              • 11月
              • 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


            "プロダクトに関するご意見はプロダクトフォーラムにお願いします"
            • Google
            • Privacy
            • Terms