日本のデベロッパーの方へ Google Play や Android に関する最新情報をお届け
11 Weeks of Android: 言語
2020年7月27日月曜日
この記事は David Winer による Android Developers Blog の記事 "
11 Weeks of Android: Languages
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
このブログ投稿は、 Android 11 に関する重要な内容を毎週取り上げる
#11WeeksOfAndroid
シリーズの一部です。第 5 週は、言語がテーマです。
最先端の Android 開発は、優れた言語をサポートすることから始まります。Kotlin、Java プログラミング言語、C++ は、日々のアプリ開発に使用するツールであり、Android API の基盤を形成しています。今週は、Android の 3 つのコア言語に関する最新ニュースをもれなくお伝えします。今回の最新リリースには、Kotlin コルーチン、Android 11 の新しい Java API、改善されたネイティブ開発用のツールなど、さまざまな機能を満載しています。
Kotlin とコルーチン
Kotlin は、Android API の中核で、こだわりのある最先端の言語です。Kotlin は世界中の Android デベロッパーから高い評価を得ています。その理由として、表現力の高さ、高品質なアプリの記述に役立つこと、既存の Java コードベースを簡単に利用できることなどが挙げられます。現在は、Play ストアのトップ 1000 アプリの 70% 以上で Kotlin が使われています。今年、
SlashData
TM
は、ここ 2 年間の割合ベースで最も急速に拡大している言語コミュニティが Kotlin であると発表しています。Android 11 ベータ版では、さらに Kotlin を普及させるため、Android の非同期処理方法として、公式にコルーチンを推奨しました。
コルーチンを使うと、非同期コードが書きやすく、読みやすく、理解しやすくなります。コルーチン ライブラリは安定しており、既に多くの Jetpack ライブラリと密接に統合されています。皆さんの中には、
Room
、
LiveData
、
WorkManager
などをお使いの方もいるでしょう。コルーチンをまだ使ったことがない方は、
Android Coroutines: How to manage async tasks in Kotlin
や、チュートリアル形式で動画や関連ブログ記事・コードラボをまとめて確認できる最新の
コルーチン学習 Pathway
、
コルーチン デベロッパー ガイド
をご覧ください。
Kotlin スタートガイド
Android Jetpack の Kotlin ファーストなライブラリから Android Studio の各種ツールとの密接な統合まで、Android と Kotlin は深く関わりあっています。Kotlin を使い始めるのに、今以上に適したタイミングはありません。しかし皆さんからは、チームを説得して Kotlin を採用するのはそう簡単ではない、という声が多く寄せられています。Kotlin は Java プログラミング言語と 100% 互換性があります。しかし、チームのメンバーには、時間を費やして新しい言語を学ぶ価値があるかどうか、他のプロダクトやテクノロジーよりも Kotlin を優先させるべきかどうかわからないという方もいるかもしれません。
こういった質問に答えるため、今週は、Google Home チームによる
新しい事例紹介
を公開しました。Google Home チームは、この 1 年をかけてすべての新機能開発を Kotlin に移行することで、同期間比で NullPointerException を 33% 削減しました。これは、
Duolingo
、
Zomato
、
Cash App
など、世界中の Android チームから寄せられた声とも一致しています。つまり、Kotlin はチームの大小を問わず、生産性とアプリの品質向上の両面で価値をもたらします。Kotlin の最新の事例紹介やデータについては、新しい
Kotlin 事例紹介ページ
をご覧ください。
初心者の方向けに、
Android Basics in Kotlin
コースを新設しました。プログラミングを学び始めたばかりの方は、Android Basics コースを受講すれば、関数や変数などのプログラミングの基本的な概念や、Kotlin による「Hello World」から各種 Android アプリの構築方法まで学べます。
Java プログラミング言語と C++
3 年前に Kotlin の公式サポートを発表したときも、Java や C++ の Android デベロッパーがたくさんいることを忘れてはいませんでした。Android 11 リリースでも、この 2 つの言語についてサポートの改善を続けています。Android 11 ベータ版では、OpenJDK 9、10、11 のたくさんの新 API を使って Java ライブラリのサポートをアップグレードしています。さらに、Android Studio 4.0 で Java ライブラリの desugar を導入し、古い Android 端末でもたくさんの新しい Java API を簡単に活用できるようにしました。また、古い端末で java.time のサポートを要望していた皆さんの強い声を受けて、これを実現しました。新しい API の活用方法についての詳しい情報は、Murat Yener の動画、
Support for newer Java language APIs
をご覧ください。Android 11 では、
I/O プリフェッチ
によってアプリの起動時間をさらに高速化するため、Android ランタイムのアップデートも行っています。
C++ デベロッパーのエクスペリエンスの改善も続いています。Android 11 には、
プロファイルに基づいた最適化(PGO)
を行うツールの改善や Android Studio 4.0 での
ネイティブ依存性管理の向上
など、ネイティブ ツールチェーン全般のアップデートが含まれています。
改善が続くツールチェーン
また、Android Studio の D8 および R8 コンパイラに対する集中的な改善も続けています。Android Studio は、アプリのメモリ フットプリントを小さく保ち、ユーザーのインストール率や維持率向上に役立つ
R8 shrinker
をビルトインでサポートしています。さらに先日、R8 で Kotlin リフレクションを使う Kotlin のライブラリやアプリのサイズ縮小にも対応しました。詳しくは、Mads Ager と Morten Krogh-Jespersen による最新の
Medium への投稿
をご覧ください。
関連情報・ドキュメント
#11WeeksOfAndroid 動画コンテンツの全プレイリストは
こちら
から、それぞれの週の詳しい内容は
こちら
からご覧いただけます。毎週新しい分野を取り上げますので
ご期待ください
。
Twitter
や
YouTube
のフォローもお願いします。ご覧いただき、ありがとうございました!
Reviewed by
Yuichi Araki - Developer Relations Team
and Hidenori Fujii - Google Play Developer Marketing APAC
ラベル
#11WeeksOfAndroid
17
AI
1
Android
37
Android 10
1
Android 11
18
Android 11 Compatibility
1
Android 9
1
Android App Development
23
Android Architecture
1
Android Architecture Components
1
Android Dev
1
Android Developer
25
Android Developers
2
Android for cars
2
Android Jetpack
2
Android O
1
android security
5
Android Studio
7
Android Tools
2
Android TV
2
AndroidX
1
App Bundle
2
Best Apps 2020
1
Best games 2020
1
Best Practices
1
Biometrics
1
Buildbetterapps
2
case study
1
compatibility
1
Compose
1
Conversation API
1
conversations
2
COVID-19
1
Custom Model
1
dark theme
1
Delegation
1
Design Patterns
1
Developer Review
1
Developers Story
4
Featured
20
Firebase
1
Firebase Remote Config
1
game
2
Google Play
37
Google Play App Safety
1
Google Play Billing
1
Google Play Billing Library
1
Google Play developer distribution agreement
1
Google Play Developer Policies
2
Google Play Devs
2
Google Play Game Services
1
Google Play Store
1
GPS
1
IGF2020
6
Indie Game
7
Indie Games Festival
7
Indie Games Festival 2020
7
Insights
1
Japanese
12
Japanese Developer
8
Jetpack
2
Jetpack Compose
2
Kotlin
10
Kotlin Android Extensions
1
Kotlin Beginners
3
Kotlin Vocabulary
2
latest
17
lifull
1
Location
1
Location Data
1
Machine Learning
1
Mad Skills
2
MADSkills
2
Material Design
1
mikan
1
ML
1
ML Kit
1
Model Maker
1
monetization
2
Navigation
1
notifications
1
Now in Android
12
people
2
People API
1
permissions
1
Pixel
1
Play Billing
1
Play Console
9
Policy
8
policy compliance
8
policy violations
8
privacy
4
Requirements
2
safety
1
Security
3
subscriptions
4
tapple
1
TensorFlow
2
TensorFlow Lite
1
Wear OS
1
ブログ アーカイブ
2021
1
2020
12
11
10
9
8
7
6
5
4
3
2
1
2019
12
9
7
6
4
3
2018
8
Feed
Follow @googledevjp
"プロダクトに関するご意見は
プロダクトフォーラム
にお願いします"