日本のデベロッパーの方へ 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
18
#Android12
1
#AndroidDevJourney
1
#androiddevsummit
5
#GoogleIO
19
#WeArePlay
13
12l
1
5 star apps
1
Ads
1
advertising
1
AGDE
1
AGDK
2
AGI
1
AI
3
AI Announcements beginner Explore Generative AI
1
AI Announcements beginner Explore Generative AI、
1
Android
113
Android 10
1
Android 11
1
Android 12 Beta 5
1
Android 12L
1
Android 13
3
Android 14
7
Android 14 Beta 4
1
Android 14 ベータ版4
1
Android 15
4
Android App Development
42
Android app excellence
1
Android Architecture
1
Android Architecture Components
1
Android Auto
4
Android Automotive OS
1
Android Dev
2
Android Dev Summit
1
Android Dev Summit 2021
1
Android Developer
31
Android Developers
51
Android Development
8
Android Development Tools
1
Android fitness
1
Android for cars
5
Android Game Development Kit
1
Android Games
2
Android health
3
Android Jetpack
10
Android O
1
Android photo picker
1
Android SDK
2
Android SDK Upgrade Assistant
1
android security
7
Android Stu
1
Android Studio
35
Android Studio Bumblebee
1
Android Studio Chipmunk
1
Android Studio Dolphin
2
Android Studio Dolphin Beta
1
Android Studio Electric Eel Canary
1
Android Studio Giraffe
1
Android Systemui
1
Android Tools
2
Android TV
4
Android TV OS
1
Android10
1
Android11
19
Android12
13
android13
6
Android14
2
Android15
2
Android9
1
androidbasics
1
AndroidDev
1
AndroidDevChallenge
4
AndroidGoogle Play
1
androidstudio
3
AndroidX
4
announcement
3
Announcements
12
aosp
1
APIs
1
App
2
App Bundle
2
app development
4
app lifecycle
1
app performance
1
App quality
3
App Security
1
appexcellence
2
appexcellencecasestudy
1
appquality
2
apps
2
AppWidgets
1
Architecture
2
Assistant
1
attestation
1
Authentication
4
Best Apps 2020
1
best apps 2022
1
best apps 2023
1
Best games 2020
1
best games 2022
1
best games 2023
1
Best Practices
2
Beta
2
Biometrics
1
Buildbetterapps
2
CameraX
2
case study
7
ChromeOS
1
Cloud photos
1
coding productivity
1
compatibility
3
Compose
20
Compose Animation Previews
1
Conversation API
1
conversations
2
COVID-19
3
credential manager
1
Custom Model
1
Dagger Hilt
1
dark theme
1
Delegation
1
Dependency Injection
1
Design Patterns
1
Develop
1
Developer Preview
14
Developer Review
1
developer stories
5
developers
1
Developers Story
5
device explorer
1
devices
2
Edge-to-edge
1
events
2
Explore
2
Featured
153
Featured Game Development
1
Featured Google Play Policy
1
features
2
Firebase
2
Firebase Remote Config
1
foldables
7
form factors
3
game
19
Game Development
7
Game Mode API
1
games
2
gaming
1
GDG
1
Gemini
3
Gemini API
1
Get Inspired
2
get started
1
glance
1
Google AI Studio
1
Google Developers
1
Google for Games Developer Summit
2
Google I/O
5
Google Pixel Fold
1
Google Pixel Tablet
1
Google Play
123
Google Play App Safety
1
Google Play Billing
2
Google Play Billing Library
1
Google Play Console
3
Google Play developer distribution agreement
1
Google Play Developer Policies
3
google play developers
7
Google Play Devs
2
Google Play Game Services
1
Google Play Games
6
Google Play Indie games accelerator
2
Google Play Indie Games Festival
1
Google Play Integrity API
2
Google Play Latest
1
Google Play Pass
1
Google Play Points
1
Google Play SDK Index
1
Google Play Store
4
GoogleIO
3
googleplay
1
GPS
1
Gradle sync
1
Health Connect
1
Health Connect API
1
health data
1
How to build Android app
1
I/O Extended
2
I/O Extended Japan
2
Identify
1
IGF2020
6
IGF2021
9
Indie developers
1
Indie Game
16
Indie Games
1
Indie Games Festival
17
Indie Games Festival 2020
7
Indie Games Festival 2021
9
indies
5
Insights
1
Japanese
15
Japanese Developer
9
JetLagged
1
Jetpack
17
Jetpack Compose
23
Jetpack Compose 1.2
1
JetpackCompose
5
key
1
keymaster
1
keymint
1
keystore
1
Kotlin
21
Kotlin Android Extensions
1
Kotlin Beginners
3
Kotlin Symbol Processing
1
Kotlin Vocabulary
2
Large Screens
6
large_screens
1
latest
133
Learn
1
learn Android
1
lifull
1
live edit
1
Location
1
Location Data
1
Machine Learning
1
Mad Skills
3
MADSkills
3
Material Design
4
material you
4
Media
8
mikan
1
ML
1
ML Kit
1
mobile
2
Model Maker
1
Modern Android Development
1
monetization
3
multiplatform apps
1
Navigation
1
nonce field
1
notifications
2
Now in Android
27
Open source
1
Optimization
1
organization account
1
passkeys
4
people
2
People API
1
Performance
9
permissions
1
Pixel
3
Platform_Update
13
Platform_Updates
1
play
1
Play Billing
1
Play Console
21
Play Store
1
Policies
6
Policy
11
policy compliance
8
policy violations
8
privacy
29
Privacy Sandbox
2
privacy sandbox on android
1
Programming
1
provisioning
1
Requirements
3
Resources
1
safety
3
sandbox
1
Security
12
stable
1
Story
3
subscriptions
5
success stories
4
Tablets
7
tapple
1
TensorFlow
2
TensorFlow Lite
1
Testing
1
Tools
1
training
2
UI
2
UX
1
wear
1
Wear OS
16
Wearables
1
wearos
3
webinar
2
Windowinsets
1
Women in Gaming
1
Workmanager
2
ベータ版4
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月
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月
9月
7月
6月
4月
3月
2018
8月
Feed
Follow @googledevjp
"プロダクトに関するご意見は
プロダクトフォーラム
にお願いします"