Kotlin 1.3リリース – コルーチン、Kotlin/Nativeベータ

Kotlin 1.3リリースです。もちろんビルドツール、ライブラリ、学習素材も同時リリースです。

JetBrainsはすべてのデベロッパーとって、あらゆる規模かつすべてのプラットフォームで優れたツールになるように、Kotlinの開発に取り組んでいます。 Kotlin 1.3では、コルーチンが進化して安定し、ノンブロッキングコードの読み書きが簡単になりました。 スケーラブルなアプリケーション開発がこれまでになく容易になりました。このリリースでは、KotlinコードをNativeバイナリに直接コンパイルするKotlin/Native ベータも導入されています。 Kotlinのマルチプラットフォーム機能は、サポートされているすべてのプラットフォームをカバーするようになりました。そのため、AndroidやiOSアプリなどのコンポーネント間でビジネスロジックを共有できます。 サーバーアプリケーションのロジックをWebやモバイルクライアントと共有でき、マルチプラットフォームライブラリにより、日々のタスクを簡単に移植できます。

1_3_banner_dark

1.3の主な機能を紹介する一連のウェブセミナーを開催します。こちらから登録できます。

コミュニティーとエコシステム

Kotlinは今年前例がないほど採用率が伸びています。 2018年1月以降、約150万のユーザーがKotlinコードを書きました。この数字は昨年の2倍以上に増えました。 StackOverflowでのトレンドと私たちのパブリックSlackでのトレンドも非常に励みになります。 私たちはKotlinコミュニティにサポートいただき、感謝しております!

Kotlin周辺のエコシステムが成長し、成熟しているのを嬉しく思います。 Kotlinは、Google Cloud PlatformSpring FrameworkGradle の友人であり、またもちろん、Androidのファーストクラスサポートは言うまでもございません。 オープンソースコミュニティは、RxKotlinmockito-kotlinTornadoFXKodeinΛRROW などの優れたライブラリを作成しています。 また、SquareのOkio やLibreOffice のようなプロジェクトは、Kotlinに移行しているか、そうする予定です。 ぜひ皆さん、素晴らしいアイデアやプロジェクトとともにKotlinエコシステムにご参加ください。

JetBrains以外の多くの方々に、pullリクエスト、バグレポート、そしてあらゆる種類のフィードバックで、Kotlin 1.3にご貢献いただきました。 皆様のご協力に本当に感謝しております。ぜひKotlinを一緒に、前進させていきましょう!

コルーチンがstableへ昇格しました

コルーチンは、理解しやすく進化しやすい、ノンブロッキングの非同期コードを書く現代的な方法です。 また、バックグラウンドワーカーへのワーク負荷の軽減から、複雑なネットワークプロトコルの実装まで、あらゆる用途でパワフルなツールです。 kotlinx.coroutinesライブラリは、構成、キャンセル、例外処理、UI固有のユースケースなど、あらゆる規模の非同期ジョブを管理するためのしっかりした基盤を提供します。

kotl.in/coroutines でスタート!
コルーチンウェビナーにいますぐ登録

Kotlin/Nativeベータ

Kotlin /Nativeは LLVM を使用し、iOS、Linux、Windows、Mac、さらに、WebAssemblyやSTM32などの組み込みシステムを含む、さまざまなオペレーティングシステムやCPUアーキテクチャ用に、Kotlinソースをスタンドアロンバイナリ(VMは不要!)にコンパイルできます。 またこれは、完全自動メモリ管理を搭載し、C、Objective-C(およびSwift)との相互運用が可能で、Core Foundation、POSIX、およびお好きなネイティブライブラリなどのプラットフォームAPIを公開しています。

Kotlin/Nativeランタイムはイミュータブルデータを活用して、スレッド間で保護されていないミュータブルなステートを共有することを防ぎます。実際に、スレッドはKotlin/Nativeには存在しません。スレッドは低レベルの実装の詳細として抽象化され、ワーカーに置き換えられます。これは、並行処理を行う安全で管理しやすい方法です。

kotl.in/nativeで Kotlin/Native について学べます。
ウェビナーに今すぐ登録

マルチプラットフォームプロジェクトとツール

すべてのプラットフォームで作業するのがKotlinの明確な目標です。しかしこれは、より重要な目標に対する前提と考えています。その目標とは、プラットフォーム間でコードを共有することです。 JVM、Android、JavaScript、およびNativeのサポートにより、Kotlinは最新のアプリケーションのあらゆるコンポーネントを処理できます。 また、これにより、コードや専門知識に計り知れない再利用のメリットが生まれ、すべての作業を2回以上実行することなく、より困難なタスク用に力を節約できます。 Kotlinのマルチプラットフォーム機能はまだ実験段階ですが、1.3は大きな前進となります。

Kotlin 1.3には、 HTTP シリアル化コルーチンの管理 などの日常的な作業をカバーするマルチプラットフォームライブラリが付属しています。 マルチプラットフォームコードを書く最も簡単な方法は、そのようなライブラリに依存することです。 プラットフォーム固有の依存関係を共通のAPIにラップする、あなた独自のマルチプラットフォームライブラリを作成できます。

プラットフォーム間でコードを共有:kotl.in/multiplatform
ウェビナーに今すぐ登録

Kotlin/Nativeとマルチプラットフォーム用のツーリング

Kotlin 1.3は、IntelliJ IDEA Community Edition、IntelliJ IDEA Ultimate、およびAndroid Studioで利用可能なKotlin / Nativeおよびマルチプラットフォームプロジェクト用のツールサポートを備えています。 エラーのハイライト、コード補完、ナビゲーション、リファクタリングなどのすべてのコード編集機能が、3つのIDEすべてでご利用いただけます。 私たちはコマーシャルツールとの高度な統合と機能に取り組んでいきます。

Ktor 1.0 ベータ

Ktorはコルーチンを使用してHTTPスタック全体を完全に非同期的に実装するアプリケーションフレームワークで、ベータ版をリリースしました。ktor.io でご利用いただけます。

その他の改善

これまでにご紹介したものすべてに加えて、このリリースには次のような機能と改善点が追加されています:

詳細は当社のWhat’s New ページでご参照ください。 変更ログはこちらで確認できます。 互換ガイドはこちらです。

KotlinConf

1.3リリースに関する最も熱い話題をカバーする、KotlinConf 2018の全動画を公開しました。 オープニングの基調講演とセッションの録画を観て、新機能や注目すべき点をご確認ください:

KotlinConf 2018の他の動画はJetBrains TVで

Kotlinを学ぶ

私たちはKotlinを簡単に、そして楽しく学べるように、全力を尽くしています。 利用可能な多数のリソースの中でも、特にこれらをハイライトしたいです:

  • Svetlana Isakova と Andrey Breslav による新しいコースが、Courseraで始まります。
  • Bruce Eckel と Svetlana Isakova による初心者向けの本、Atomic Kotlinが早期アクセスで公開されています。
  • 新しいplay.kotl.inミニウェブIDEには、Koans、例、埋め込み可能なコードスニペットがあります
  • EduTools プラグインは、IDEで直接Kotlinを学習するのに役立ちます
  • 認定Kotlinトレーニングが、世界中の複数のプロバイダからご利用いただけます。

Kotlin 1.3ウェビナーは、素晴らしいスタート地点になります。

アップグレード方法

いつものように、play.kotl.inKotlinをオンラインで試すことができます。

  • Maven、Gradle、npmでは:コンパイラと標準ライブラリ用のバージョン番号として1.3.0を使用します。 ドキュメントをこちらでご参照ください。
  • IntelliJ IDEAでは:2018.3にはKotlin 1.3がバンドルされています。以前のバージョンでは、Kotlinプラグインをバージョン1.3をインストールまたはアップグレードしてください。
  • Android Studioでは:Plugin Manager を使用してプラグインをインストールまたはアップグレードしてください。
  • Eclipseでは:Marketplace を使用してプラグインをインストールできます。
  • コマンドラインコンパイラは、Githubリリースページからダウンロードできます。

Let’s Kotlin!

P.S. このブログ記事については RedditHacker News、または下の欄でコメントを残すことができます。

[原文Original post in English is written by Roman Belov

image description