Category Archives: Kotlin

Kotlin Census 2019:回答にご協力ください

  このブログポストを他の言語で読む: 現在私たちはKotlin Census と呼ばれるKotlinの利用動向に関する年次調査をグローバルで実施しています(2018年の結果はこちらで公開しています)! 2019年末の時点で400万人以上がKotlinを使用していました。 利用者数が多いということは、多くのユースケースがあるということでもあります。 私たちはKotlinを利用するすべての方に素晴らしい体験を提供することに深い関心を寄せています。 また、コミュニティの参加者全員がKotlinを使ってアイデアを実現できるよう、Kotlinを改善したいと考えています。 そのため、私たちは皆さんの意見を非常に重視しています。 Censusアンケートに回答し、あなたが過去1年間でどのようにKotlinを使用したのか、どんな点が気に入ったのか、どんな点に困ったのかをKotlinチームにお伝えください。 私たちはKotlinを使用していない方にも回答をお願いしています。 Kotlinを使用しない理由を教えてください。 私たちは皆さんの回答を重視しており、ご回答いただけますと非常に助かります。 昨年ご回答いただいた方に感謝いたします。 私たちが最新の情報を把握できるよう、今年もご回答いただけると非常に助かります。 2019年に登場した機能や製品に関する新しい質問を多数追加しています。 また、2019年にKotlinやそのエコシステムをどの程度スムーズに使用できたかどうかも質問しています。 Censusに回答する *右上に言語切り替えボタンがあります。 もう一点重要なお知らせがあります。Censusに回答すると、KotlinConfへの無料チケットかKotlin特製Tシャツを獲得できるチャンスがあります。 アンケートにぜひご参加ください!

Posted in Kotlin, お知らせ | Leave a comment

Kotlin 1.4の計画および将来的な展望

KotlinConf 2019の基調講演で、弊社でKotlin開発をリードするAndreyは現在Kotlinを進化させるにあたって重点を置いている分野に関する戦略的展望と、2020年にリリースされるKotlin 1.4の計画について話しました。 基調講演全体を見る(英): 私たちのビジョンは、Kotlinが皆様のあらゆる努力を支える頼もしいパートナーとなり、皆様の業務に使用されるデフォルトの言語になることです。 このビジョンを達成するため、すべてのプラットフォームでKotlinにさらなる進化をもたらす予定です。 世界中の業界を代表する企業におけるいくつものケーススタディから、私たちがこの方向性において順調に前進していることがわかります。 2020年春に登場予定のKotlin 1.4により、Kotlinエコシステムの実現に向けてさらに一歩前進することになります。 品質への注力 Kotlin 1.4では品質とパフォーマンスを第一に注力する予定です。 Kotlinはすでに多くのアイデアと手法を取り入れているモダンなプログラミング言語です。 私たちはKotlinを常に最新の状態に保ち、絶えず進化させていく予定です。 ただし、現時点のKotlinは、大きな機能を追加するよりも全体的なプログラミング体験を改善することが重要な段階に達していると考えています。 そのため、Kotlin 1.4では以下で詳細に記載するいくつかの小さな言語上の変更を行うに留めています。 一方で、私たちはKotlinに対応したIDEのパフォーマンス向上において、すでに目覚ましい結果を残しています。 コード補完速度が旧バージョンと比較して大幅に向上しました。 加えて、Gradleチームと協力し、Gradleスクリプトを高速化しました。 Kotlin 1.3.60はKotlin 1.3.10と比較して2.5倍高速化しており、メモリ消費量が75%少なくなっています。 さらに、build.gradle.ktsの読み込む際のCPU使用量はほぼゼロとなっています! また、コードキャッシュにより、開発モードでのKotlin/Nativeのコンパイル処理速度が最大2倍になっています。 私たちはビルド速度がユーザーにとって最大の懸念事項であることを理解しており、この問題を解決するためにツールチェーンの改善を継続的に行っています。 しかし、少しずつ改善を行っても実際のコードベースの自然増加には追い付けません。私たちがコンパイル速度を向上させても、ユーザーがより多くのコードを書けば、全体的なビルド時間は十分に改善されません。 コンパイラを再実装して大幅に高速化する必要があることは明確です。 新しいコンパイラ 新しいコンパイラの実装目標は、大幅な高速化とKotlinがサポートするすべてのプラットフォームの統合、ならびにコンパイラ拡張機能のAPIを提供することです。 この目標を実現するには数年を要する見込みですが、私たちはすでに少し前からこの取り組みを開始しているため、この新しい実装の一部は1.4で提供される予定です。また、移行は非常に段階的に実施されます。 移行はすでに始まっています。例えば、型推論の新しいアルゴリズムが新しいコンパイラに組み込まれています。 その他の部分に対するアプローチも同じです。すなわち、古いバージョンに加えて新しいバージョンを実験的モードで同時に提供し、新しいバージョンが安定した時点でそちらをデフォルトにする予定です。 新しいフロントエンドによる高速化 新しいコンパイラの大部分は、新しいフロントエンドを実装することで高速化される予定です。 少し背景を説明しますと、コンパイルはソースファイルを取得してそれを段階的に実行可能なコードに変換するパイプラインであると考えることができます。 このパイプラインで最初の大きなステップ(処理)は、コンパイラのフロントエンドと呼ばれています。 このステップではコードを解析して名前を解決したり、型チェックを実行したりします。 コンパイラのこの機能は、エラーをハイライト表示する際や定義に移動する際、ならびにプロジェクト内でシンボルが使用されている箇所を検索する際にも動作します。 また、これは現時点でkotlincが最も時間を要しているステップであるため、その高速化を図りたいと考えています。 … Continue reading

Posted in Kotlin, お知らせ | Leave a comment

KotlinConf 2019 Live:日本からもライブストリーミングやQ&Aに参加しましょう!

KotlinConfのライブストリーミングは素晴らしい伝統になりつつあります。 今年は、コミュニティの皆様はKotlinConf 2019の生中継を通して全てのカンファレンスに参加することができます。 カンファレンスでは4つのプレゼンテーショントラックが予定されており、さらにはKotlinConf 2019 Liveのオンライン中継のみの特別なコンテンツもお楽しみいただけます! 2日間にわたるカンファレンス講演者との12回にわたるインタビューをご覧ください。KotlinConfの講演者であると同時に「Android Dialogs」のホストでもあるHuyen Tue Dao氏が司会者を務めます。 中継はAndrey Breslavによる基調講演から始まり、その後2日間の講演が行われ、最後に閉会パネルディスカッションが行われます。 パネルディスカッションでは、講演者とKotlin開発チームがコミュニティの皆様からのご質問に答えます。 ディスカッションの機会をお見逃しなく!Twitterでハッシュタグ#kc19ask を付けてご質問を投稿して下さい。閉会パネルディスカッションの中で回答をお知らせします。 加えて、KotlinConf 2019をあなたが所属するコミュニティの皆様と一緒に楽しめる素晴らしい機会があります。 KotlinConf 2019 Globalのミートアップを主催してください!JetBrainsはあなたのイベントを支援します! 支援を受けるには、弊社ブログ投稿にてこのイベントの詳細をご確認のうえ、あなたのイベントを登録してください。 ライブストリーミングの内容、日時、方法 ライブストリーミングは、12月5日午前8時(GMT)(日本時間では同日午後5時)にKotlinの開発チームリーダーであるAndrey Breslavの基調講演から始まります。 基調講演の後は、本カンファレンスのウェブサイトで予定されている4つの講演のストリーミング中継の中からいずれか1つを視聴してください(「Hands-on Labs」トラックは中継されません)。 Huyen Tue Dao氏が司会者を務める12回にわたる講演者とのインタビューのスケジュールはまもなく発表されますので、Twitter(@kotlinconf)をフォローして最新情報をお待ちください。 閉会パネルディスカッションは12月6日午後4時15分(GMT)(日本時間では12月7日午前1時15分)に開始します。 kotlinconf.com のホームページでいつでも中継に接続してください。 基調講演や閉会パネルディスカッションを見逃さないよう、リマインダーを設定してください。 基調講演が始まる24時間前と中継開始後にリマインダーを送信します。 講演の中継に参加できない場合や、4つのトラックの中から1つを選ぶことができない場合も問題ありません。すべての講演は録画され、KotlinConfのウェブサイトでリンクされる予定です。 また、ビデオにアクセスできるようになり次第、メールでお知らせします。 KotlinConf 2019をお楽しみください! [原文] Original post in … Continue reading

Posted in Kotlin, お知らせ | Leave a comment

Kotlin Fest 2019と基調講演と感想

こんにちはJetBrains堀岡です。 (夏休みの宿題みたいなタイトルでスイマセン) 先週(2019/8/24)弊社Kotlin Developer Advocate Svetlana Isakova (@sveta_isakoba)と共にKotlin Fest 2019に参加させて頂きました。 Kotlin Fest 2019基調講演のスライド 今年のKotlin Festでは、日本Kotlinユーザグループ様より、Svetlanaを基調講演のスピーカーとしてご招待いただきました。 彼女は、日本に来るのが初めてということで、日本のKotlinコミュニティーの多くの皆様と交流できて、非常に楽しそうでした。8月25日の夜にTwitterでしれっとスライドがpostされていましたので、こちらでもご紹介いたします。 (個人的には技術的なことはまだ詳しくないのですが)他のスピーカーのセッションとか、(彼女自身が書いた)Kotlin 1.3.50のリリースブログと合わせて読むとより話しが繋がるのかなというふうに思いました。 個人的な感想 昨年は、Kotlinについてほとんど知らない状態で一般参加させていただき、なんか盛り上がっているなくらいの印象だったのですが、今年は基調講演の件で企画の段階から少し日本Kotlinユーザグループの皆様とJetBrainsチームとのコミュニケーションをお手伝いさせていただいたき (皆さん本業で活躍されているお忙しい中)プロフェッショナルな企画と当日のイベント運営 (すでに普及が進んでいるAndroid系のトピックに加え)サーバーサイドKotlinやKotlin Multiplatform、Kotlin/JS、Kotlin/Native、Kotlin 1.3で追加された新しい言語コア機能等、日本のKotlinコミュニティーが最新のトピックをキャッチアップできるよう注意深く選定されたテーマ 400名近くの熱心な参加者 に非常に感銘を受け、Kotlinの日本での普及が多くのコミュニティーの皆様の熱意と支援によって支えられていることを再実感しました。そして、日本のKotlinコミュニティーの皆様に、もっと多くの日本語による情報提供や、JetBrainsのKotlinチームをつなぐようなお手伝いができればと思いました。 おわりに Svetlanaは(緑が多いミュンヘンにすんでいるせいか)広い公園好きらしく、イベント後は浜離宮や旧芝離宮散策を楽しみ、今週は他のアジアの地域でのKotlin Everywhere イベントへの登壇も予定しているそうです。また、今後は、スライドでも言及していますが、新しい本(Atomic Kotlin)を完成に向けて鋭意執筆中だそうです。 Kotlin/Everywhereの日本語による紹介以下をご覧ください あなたのKotlinイベント、Kotlin/Everywhereに登録しませんか? ということでKotlin Fest 2019、非常に有意義で楽しいイベントに参加させていただきありがとうございました。残念ながら参加できなかった方は、公開されているスライドや今後公開される予定の動画でぜひこの体験を共有いただくことをオススメします。 Have a nice Kotlin!

Posted in Kotlin, イベント | Leave a comment

あなたのKotlinイベント、Kotlin/Everywhereに登録しませんか?

こんにちは。JetBrains堀岡です。 2019年のGoogle I/Oや以下で発表されていますが、現在GoogleとJetBrainsは「Kotlin/Everywhere」と呼ばれる世界各地で開催されるKotlin関連のコミュニティ・イベントを開催・支援する取り組みを行っています。 Kotlin/Everywhere 登録サイト(英語) https://events.withgoogle.com/kotlin-everywhere Kotlin Blog「Kotlin Is Everywhere! Join the Global Event Series」(英語) https://blog.jetbrains.com/kotlin/2019/05/kotlin-is-everywhere-join-the-global-event-series/ Google Developers 「Kotlin Everywhere を開催します」(日本語) https://developers-jp.googleblog.com/2019/06/kotlin-is-everywhere-join-global-event.html が、本ブログを執筆時点(2019年6月12日)の日本の開催状況を見てみると、5月18日の開催済みイベントしか登録されていません😅(温泉イベントを登録・開催頂いた皆様ありがとうございます。最新状況はこちら) 【2019年9月2日アップデート】8月に開催されたKotlin/Everywhere Ehimeも登録されました🎉 ということで、より多くの技術者コミュニティの皆様がKotlin/Everywhereの機会を活用して、イベントを企画・開催して、Kotlinをいろいろな機会でより便利にお使い頂けるよう、JetBrainsの日本語ブログでも紹介したいと思います。 Kotlin/Everywhereとは Kotlinの要素技術やベストプラクティスについて学ぶ、世界各地で開催される、コミュニティ主催の技術者向けイベントの総称 どなたでも主催、どなたでも参加可能 GDG(Google Developer Group)やKUG(Kotlin User Group)、その他コミュニティ主催者がイベントをKotlin/Everywhereイベントとして登録可能 主催者がKotlin/Everywhereとしてイベント登録すると、Kotlin/Everywhereウェブサイトに掲載される イベントの内容・規模に応じてGoogle/JetBrainsからサポートを得られる場合がある(すべてのイベントがサポートを得られるとは限りません)。 サポート内容例 会場費や飲食代、グッズ作成にかかる費用(イベントの詳細が決まった段階で早めにご相談ください。リクエストから回答まで2週間ほどかかる場合があります。) スピーカーの派遣(イベント開催の2ヶ月以上前に要連絡) サポート対象のイベントの開催期間は2019年5月15日から2019年12月1日まで … Continue reading

Posted in Kotlin, お知らせ, イベント | Leave a comment

一挙大公開 – Kotlinから.NETまで JetBrains Night 2018

こんにちは、JetBrainsの堀岡です。 皆様、年末年始いかがお過ごしでしょうか? 既にTwitter等で紹介しましたが、残念ながらイベントに参加できなかった皆様や、動画をチェックしようと思っていたけれど年末までじっくり時間が取れなかった皆様、年末年始TV特番に飽きたエンジニアの皆様の箸休めとして、2018年11月に開催されたJetBrainsイベントのセッション動画を紹介したいと思います。 英語セッションは英語が苦手の方は字幕をオンにして見るのがオススメです。 JetBrains Night Tokyo 2018のセッション動画 1. オープニング(前半英語、後半日本語)- Alexey Reshtenko, Masaru Horioka JetBrainsの会社紹介および2018年から開始した日本市場における新たな取り組みを簡単に紹介します。 2. 開発者の生産性を上げるための組織作り―JetBrainsでの取り組み(英語)- Hadi Hariri JetBrainsは、2000年の創業以来、ビジネスの成長に伴い組織も拡大し、現在は世界8箇所にオフィスを有し、社員数も900名を超えさらに成長し続けています(参考:会社概要)。このセッションでは、スタートアップのスピード感を保ちながら会社をスケールさせていくためのJetBrains社内での組織のあり方や、コミュニケーション、タスク管理、会社のカルチャ等の取り組みについて議論します。 3. IntelliJ IDEA ヒントとトリック 、及びJava 11関連のアップデート (英語) – Mikhail Vink IntelliJ IDEAは機能が豊富なので、多くのユーザにとって知られていない便利機能が沢山あります。さらに、リリースごとに新たな便利な機能が増えていきます。このセッションでは、Toolboxや便利なプラグインの紹介に加え、IntelliJ IDEAをより活用するための便利機能や最近のリリースの新機能を紹介します。 4. GoLandでGoコーディングの生産性を向上(英語)- Florin Pățan このセッションでは、どのようにGoLandを利用して、デベロッパーが生産的にGoコードを書き、時間と労力を節約できるのかを見ていきます。コードナビゲーション、補完、テンプレート、VCS、テスト、デバッグ、および自動化などの、初心者と経験豊富なデベロッパーの両方に役立つコンテントがカバーされます。 5. Kotlin/Anywhere(英語) – … Continue reading

Posted in GoLand, IntelliJ IDEA, Kotlin, Rider, TeamCity, Upsource, YouTrack, イベント | Leave a comment

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

Kotlin 1.3リリースです。もちろんビルドツール、ライブラリ、学習素材も同時リリースです。 JetBrainsはすべてのデベロッパーとって、あらゆる規模かつすべてのプラットフォームで優れたツールになるように、Kotlinの開発に取り組んでいます。 Kotlin 1.3では、コルーチンが進化して安定し、ノンブロッキングコードの読み書きが簡単になりました。 スケーラブルなアプリケーション開発がこれまでになく容易になりました。このリリースでは、KotlinコードをNativeバイナリに直接コンパイルするKotlin/Native ベータも導入されています。 Kotlinのマルチプラットフォーム機能は、サポートされているすべてのプラットフォームをカバーするようになりました。そのため、AndroidやiOSアプリなどのコンポーネント間でビジネスロジックを共有できます。 サーバーアプリケーションのロジックをWebやモバイルクライアントと共有でき、マルチプラットフォームライブラリにより、日々のタスクを簡単に移植できます。 1.3の主な機能を紹介する一連のウェブセミナーを開催します。こちらから登録できます。 コミュニティーとエコシステム Kotlinは今年前例がないほど採用率が伸びています。 2018年1月以降、約150万のユーザーがKotlinコードを書きました。この数字は昨年の2倍以上に増えました。 StackOverflowでのトレンドと私たちのパブリックSlackでのトレンドも非常に励みになります。 私たちはKotlinコミュニティにサポートいただき、感謝しております! Kotlin周辺のエコシステムが成長し、成熟しているのを嬉しく思います。 Kotlinは、Google Cloud Platform、Spring Framework、Gradle の友人であり、またもちろん、Androidのファーストクラスサポートは言うまでもございません。 オープンソースコミュニティは、RxKotlin、mockito-kotlin、TornadoFX、Kodein、Λ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 … Continue reading

Posted in Kotlin, お知らせ | Leave a comment

KotlinConf 2018 ライブストリーミング:Kotlinに関する主なニュースとオンライン Q&A

世界中の多くのテクノロジーイベントで JetBrains チームと会うことができます。 今日、私たちは特別なものを用意しました。自宅から、KotlinConf 2018 Live でKotlinチームに会うチャンスです! あなたを私たちのオンラインイベントにご招待いたします! 10月4日~5日のライブストリームにご参加ください。 Andrey Breslav の基調講演で、Kotlinに登場する新しいことについて学び、KotlinConf 2018クロージングパネルで、Kotlinチームとコミュニティのリーダーに質問をすることができます。 Andrey Breslavによる基調講演でイベントを開始します。 この基調講演をお見逃さないように、ご登録ください。中継を開始する直前にリマインダーを送ります。 KotlinConf Live に登録 Liveトラックでは、JetBrains チームのリーダーだけでなく、エコシステムの作成者と貢献者、Kotlinコミュニティの熱いファンの方々による講演もございます。 Jake Wharton、Christina Lee、Venkat Subramaniam、Alicia Karr のセッションもお楽しみいただけます。 KotlinConf 2018の1日目と2日目のライブトークプログラムをご確認ください。 イベントの最終セッションであるクロージングパネルにぜひご参加ください。出席者様と、オンラインで質問をご投稿された方々のご質問等にお答えいたします。 クロージングパネルにご質問いただくには、ハッシュタグ #kc18ask を使用して Twitter にご投稿ください。 ご質問の投稿は今すぐ可能で、10月5日 5:15 CEST(中央ヨーロッパ夏時間 )、日本時間 12:15 までできます。 … Continue reading

Posted in Kotlin, お知らせ | Leave a comment

Kotlin/Native v0.6 リリース!

Kotlin/Native v0.6をバレンタインデーにリリースいたしました。以下の機能を実装したメジャーリリースになります: コンパイラとGradleプラグインのマルチプラットフォームプロジェクトサポート Objective-C/Kotlinコンテナクラスの透過的なインターオペラビリティ 組み込み器機ターゲットのサポート(STM32 ボード) Kotlin 1.2.20、Gradle 4.5、Java 9サポート WebAssemblyバイナリの縮小化 (最大で160KiB縮小) CLion 2018.1向けのプラグイン修正 (macOSプラットフォームのライブラリインデクサーの修正) v0.6でKotlin/Nativeマルチプラットフォームプロジェクトをサポートし、単一のGradleビルドから異なるKotlinバックエンド、例えばJVMとNativeとJSをビルドできます。こちらのリポジトリをご参考にしてください。 また、ついにKotlin/Nativeプログラムを組み込み器機向けにビルドできるようになりました。現在のところZephyr Projectカーネルを使ったSTM32ベースのマイクロコントローラを対象としています。この機能はまだ実験的で、お試しになるとまだまだ問題にぶつかるかもしれません。Cとのインターオペラビリティにはまだいくつか問題がありますが今後のリリースで修正される見込みです。 v0.6の興味深い機能は -produce framework operational modeにおけるコレクションの透過的なインターオペラビリティです。つまり、KotlinのList、MutableList、Set、MutableSet、Map、MutableMapをコンパイルするとObjective-C/SwiftのコレクションであるNSList、NSMutableList、NSSet、NSMutableSet、NSDictionary、NSMutableDictionaryとして扱えます。 今回のリリースの重要なゴールはコンパイラのユーザビリティーと安定性の改善でした。多くの既知のバグやKotlin/JVMの非互換を修正いたしました。 最後に、CLion 2018.1のKotlin/Native v0.6サポートが追加されました。技術的な理由から、自動アップデートはできませんので手動でこちらよりダウンロードしてください。 最新バージョンをお楽しみいただき、素敵なバレンタインデーを過ごせますように! バイナリはこちらよりダウンロードしていただけます: macOS, Linux, Windows GitHubのリリースページはこちらです [原文]

Posted in Kotlin | Leave a comment

Kotlin 1.2 リリース: プラットフォーム間のコード共有

Kotlin 1.2をリリースしました。これはKotlinをモダンなアプリケーションの全てのコンポーネントに渡って利用できるようにするための大きな一歩となるメジャーリリースです。 Kotlin 1.1でJavaScriptを正式なターゲットにし、KotlinコードをJSへコンパイルしてブラウザで動かせるようにしました。そしてKotlin 1.2ではKotlinコードをJVMとJavaScript双方で共用できるようにしました。ビジネスロジックを一度書けば、バックエンドでもフロントエンドでも、そしてAndroidのモバイルアプリケーションでも利用出来ます。そしてクロスプラットフォームのシリアライゼーションライブラリなど、コードの再利用性を高めるためのライブラリ開発も進めています。 Kotlin 1.2はすでに、本日リリースのIntelliJ IDEA 2017.3に含まれています。別のIDEバージョンをご利用であればTools | Kotlin | Configure Kotlin Plugin Updatesダイアログよりインストールできます。 このリリースは社外の沢山のコントリビューターの成果が含まれています。フィードバックを送ってくれた方々、問題を報告してくださった方々、そして特にプルリクエストを送ってくださった方々に感謝いたします。 マルチプラットフォームプロジェクト マルチプラットフォームプロジェクトはバックエンド、フロントエンド、Androidといった複数の層を同じコードベースからビルドする仕組みです。このプロジェクトではそれぞれcommon moduleを含みます。common moduleはプラットフォームから独立したコードとプラットフォーム(JVMまたはJS)固有のコードからなります。後者からはプラットフォーム依存のライブラリを呼び出すことができます。プラットフォーム固有のコードをcommon moduleから呼び出すには”expected”宣言を記述し、”expected”宣言に対応する”actual”実装を各プラットフォーム向けに実装することになります。 この機能について寄り詳しくはドキュメント(英語)をご覧ください。 ロジックをcommonコード側により多く記載出来るよう、以下のライブラリを開発・提供しています: kotlin.test: Kotlin 1.2にデフォルトで含まれています。テストを一度書けばJVMとJSで実行できます kotlinx.html: マルチプラットフォームでのレンダリング(isomorphic rendering)を実現します。同じコードを利用してバックエンドでもフロントエンドでもHTMLをレンダリングできます kotlinx.serialization: JSONまたはProtoBufをシリアライゼーションフォーマットに使ってプラットフォーム間のKotlinオブジェクト受け渡しを簡単に実現します なおマルチプラットフォームプロジェクトは現在実験的な機能(experimental feature)扱いです。機能自体は安定しておりプロダクションに適用可能ですが、今後のリリースで変更が必要になる可能性があります(マイグレーションツールを提供する場合があります)。 コンパイルパフォーマンス 1.2の開発にあたりコンパイルのパフォーマンスを向上することに多大な努力を費やしました。すでにKotlin 1.1と比較しておよそ25%向上しています。そして1.2.xアップデートにおいて相当な改善を施せる見当がついています。 その他の言語やライブラリの改善 言語や標準ライブラリにも改善を積み重ねています: より簡潔なシンタックス: アノテーションに複数の引数を指定するのが配列リテラルで簡潔になりました lateinit 修飾子のトップレベルプロパティとローカル変数でのサポートと lateinit 変数が初期化されていることのチェック機構 より賢いスマートキャストと改善された型推論 … Continue reading

Posted in Kotlin | Leave a comment