Monthly Archives: January 2020

開発者エコシステム2020アンケートにご協力ください!

JetBrainsではソフトウェア開発を中心に世界が回っています。 そのため、私たちは自身が開発するツールからKotlinというプログラミング言語、さらにはこのアンケートに至るまで、自身が携わるすべてのものを利用して開発者の生活をより良いものにする取り組みに必然的に強い関心を寄せています。 私たちがコミュニティに最高の貢献を行えるよう、8言語に対応したこの15~20分間のアンケートにご参加いただき、開発エコシステムに関するあなたの貴重な洞察をご提供いただきたいと思います。 例年通り、私たちはこの調査のすべての結果と最も興味深い発見を公開する予定です。 また、皆様が独自に分析を行ってご自身の仮説を検証できるように匿名化された生データも提供します。さらに、ご希望に応じてエコシステム内でのあなたの位置を明確に示すパーソナライズされた結果を準備することもできます。 また、このアンケートにご参加いただくと、MacBook Pro、$300のAmazonギフト券、またはJetBrains Surprise Gift Packのいずれかの豪華賞品を獲得できるチャンスが手に入ります。 私たちは皆様の考えと専門知識を重視しています! 今すぐ開発者エコシステム2020アンケートにご参加ください ご友人やご同僚の方々もこのアンケートへの参加を呼びかけてください! 昨年は19,000人以上がこの開発者エコシステムアンケートに参加しました。 調査にご協力いただける開発者の数が増えるほど、コミュニティの実情がより正確に反映されることになります。 よろしくお願いいたします。 JetBrains Researchチーム一同より [原文] Original post in English is written by Anastasia Chumak

Posted in お知らせ | Leave a comment

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

YouTrack 2020 ロードマップ:次のステップ

2020年におけるYouTrackの製品開発に関する当社のビジョンをお伝えします。 ロードマップに含まれている機能には、ナレッジベースページである記事(article)、課題コメントへのリアクション、すぐに使えるヘルプデスクソリューション、ユーザーインターフェースをシンプルにするための変更、通知用の受信トレイなどがあります。 このページを読み進めて開発中の新機能に関する詳細をご覧ください。   主な変更点 ナレッジベース記事。これは編集可能なナレッジベースページであり、YouTrackの課題、ボード、レポートのすぐ横にそのコンテンツを表示できるものです。 記事では、テキストや画像を追加し、サブページを作成し、プロジェクトに関する必要な情報をすべて格納できます。 また、権限を管理して機密情報へのアクセスを制限することもできます。 絵文字によるリアクション。絵文字によるリアクションはすでに日常的なコミュニケーション手段になっているため、課題コメントで絵文字を使えるようにしたいと考えています。 そうすることで、同僚のコメントや画像などにすばやくリアクションを返せるようになります。 受信トレイによる通知。プロジェクトに関するメッセージの数が増えるにつれて、それらのメッセージを最大限に活用することがますます重要になります。 通常の通知、システム通知、リアクションの流れ、新着情報の更新などの通知を分かりやすくUIに表示できる受信トレイを追加したいと考えています。 簡略化されたユーザーインターフェース。私たちはアジャイルかつ多様なチームにより多くの機能を提供していますが、シンプルな外観を求めているユーザーがいることにも気が付きました。そのため、現在は新しく簡略化された課題リストビューを導入し、YouTrack全体にわたるナビゲーションを容易にするために多数の改善を行っています。 組織によるアクセス管理。このオプションは、YouTrack管理者がユーザーやプロジェクトを組織と呼ばれるグループにまとめ、チームや作業構造に従えるようにするものです。 ヘルプデスクソリューション。現在、YouTrackは着信メールの追跡や操作、または内外のユーザーからのリクエストを発行するためによく使用されています。 現在、この用途を拡張し、埋め込み可能なフォームとナレッジベースを備えたすぐに使えるヘルプデスクソリューションを提供しようと考えています。 対応予定の機能リクエスト JT-32201 – レビューと変更をさまざまなプロジェクトの課題にリンクするVCS統合機能 JT-28903 – VCS統合がプルリクエストに対応 JT-22980 – カスタムフィールドの表示単位をユーザーグループごとに設定 JT-5962 – アクセス制限や共有を行う際に複数のグループを指定 JT-18173 – Zapierアプリケーションと統合 JT-55627 – YouTrackをクラスタ化し、パフォーマンスを向上 さらなる強化・改善ポイント 私たちは様々なチームのニーズに応えられるようにYouTrackを作っています。 そのため、以下のリストは単に特定の追加機能を含むものではありません。 その代わり、この製品をより使いやすく強力にするために継続的に取り組むべき優先順位の高い利用シナリオに対する私たちのビジョンが反映されています。 プロジェクト管理の改善。タイムトラッキングとプロジェクト管理機能の改善も行っています。 … Continue reading

Posted in YouTrack, お知らせ | 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

IntelliJ Platform 2020年ロードマップ

こんにちは。JetBrains堀岡です。明けましておめでとうございます。 昨年(2019年)末にDmitry Jemerov(@intelliyole)より「IntelliJ Platform Roadmap for 2020(英語ブログ)」が発表されました。開発手法や開発環境のトレンドおよび変化に対応すべく、JetBrains製品を進化させるための様々な取り組みが紹介されています。 本稿は前記英文ブログポストを翻訳・補足したものとなります。 はじめに IntelliJ IDEAおよびIntelliJプラットフォームベースのIDEを改善するための現在の取り組みの一部を公開したいと思います。これらの取り組みは、パフォーマンスと最新の開発ワークフローのサポートという2つの主要なテーマに集中しており、2020年中にリリースされる予定であり、一部は春の2020.1リリースに含まれる予定です。 パフォーマンスのさらなる改善 Indexing処理の効率化と改善 JetBrains IDEにおけるパフォーマンス関連の代表的な課題は、起動時のパフォーマンス(起動に時間がかかるツールは、全体的に動作重いと認識される傾向にある)とインデックス作成速度の2点です。2019年はIDEの起動をスピードアップするために多くのことを行ました。2020年はインデックス作成のパフォーマンス向上に注力します。私たちはこの問題に対して、以下に示す多面的なアプローチにより取り組んでいます。 最初の取り組みは、作成済みのインデックスチャンクを使用できるようにし、世の中のすべてのIntelliJインスタンスが(例えば)java.lang.Stringクラスのインデックス作成と同じ作業を行う必要がなくなるようにすることです。 まずJDKへの対応から始めて、次にMaven Centralに含まれるライブラリ、それ以降、IntelliJ以外のIDEで使用されるインタープリターとパッケージをカバーできるように、年間を通じて徐々にサポートを展開する予定です。加えて、チームまたは企業内でプロジェクトソースコードのインデックスチャンクの共有をサポートする方法を検討していますが、現時点では具体的な計画はありません。 第2の取り組みは、インデックス作成中により多くのIDEアクションを実行できるようにすることで、インデックス作成による待ちを少なくすることです。 第3の取り組みは、インデックス付けに時間がかかりすぎるファイル、頻繁に再インデックス付けされるファイル、例外によるインデックスの再構築など、インデックス付けの異常を検出して通知することです。この取り組みの目的は、問題を把握し、解決のための明確な手順を提供できるようにすることです。これによりプロジェクトごとに最適なIDEのパフォーマンスを向上させる手段を提供することを目指しています。 そしてもちろん、インデックスシステムが不要な作業を行わず、オーバーヘッドがないように、従来から継続的に取り組んでいるパフォーマンスの最適化にも取り組む予定です。 Read/Writeロック・スレッドモデルの再デザイン JetBrainsユーザーにとってのもう1つの共通する課題は、UIのフリーズです。2019年では、このようなフリーズを報告するためのインフラストラクチャを構築しました(UIフリーズ時のログ自動生成)。報告された問題を手がかりに様々なアーキテクチャの変更を行い、多くのフリーズ問題を修正しました(例えば、ファイルシステムイベントの非同期リスナー)。2020年以降、さらに大きなステップとして、書き込みロックを必要とするアクションをUIスレッドから移動する予定です。 IntelliJ IDEAは、ごく初期の頃、IDEの内部データ構造を変更するほとんどの操作がUIスレッド上で実行されることを必要とするアーキテクチャを採用しました。これらの操作には、基本的なアクション(ドキュメントへの文字の挿入)と大規模な操作(1000箇所で使用されているメソッドの名前変更)の両方が含まれています。この初期のアーキテクチャの利点は、プログラミングモデルが単純になることです。一方で、明らかな欠点は、多くのシナリオでUIの応答性が低下することです。 過去数年にわたり、このアーキテクチャの制限を回避する方法として、大規模な操作を、バックグラウンドで実行される部分と、UIスレッドで実行される部分に分割する方法をとってきました。一方で、より根本的な解決策は、UIスレッドの要件を完全になくすことです。しかしながら、ごく最近までは、独自のコードとサードパーティのプラグインを大幅に書き直さずにこれを行う方法は存在しないと思われていました。この課題に対して、現在、私達は、段階的な移行を可能にするアーキテクチャ・ソリューションを考案し、それを実装する作業を開始しています。 2020年、IntelliJ Platformの重要なUIコンポーネントとAPIをリファクタリングして、新しいスレッドモデルを採用する予定です。新しいモデルが安定し、改善が認められるようであれば、すべてのIDEで新しいモデルに切り替えて、UIをスムーズでラグのないものにしたいと考えています。 再起動不要なプラグインのロードおよびアンロード この機能については、IntelliJ IDEA 2019.3で部分的なプレビューを既に提供しており、再起動せずにテーマとキーマッププラグインをインストールできます。 2020.1では、このサポートを全てのタイプのプラグインに拡張する予定です。バンドルされているプラ​​グインの大部分については、再起動なしでロードとアンロードをサポートします。サードパーティのプラグイン開発者向けに対しては、必要となるサポート手順を提供(日本語/英語)しています。この段階で最も重要なユーザーの利点は、IDEの再起動を必要としないシームレスなプラグインのアップグレードです。 一方で、この作業の(2020.1以降のバージョンにおける)最終目標は、開いているプロジェクトに対して適切なIDE機能のみを有効化することです。 例えば、Springプラグインは、Springを使用するプロジェクトに対してのみロードされ、Angularプラグインは、Angularプロジェクトに対してのみロードされるようになります。よって、プロジェクト内において特定のテクノロジーを使用しない場合、それに関連するUI要素は表示されず、そのテクノロジーをサポートするプラグインによるパフォーマンスやメモリ使用量への影響が無くなります。 新しいワークフローへの対応 Collaborative Editing(共同編集) 共同編集は、課題トラッカーで最も投票数の多いリクエストであり、2020年またはそれ以降に実現のために作業中であることをお知らせいたします。現在私達が実現しようとしているアプローチでは、ソースコードが配置されているマシン上でプライマリIDEが動作し、他のユーザーのIDEが「シンクライアント」としてプライマリIDEに接続します。(プライマリに)接続しているすべてのユーザーは、独自の状態(開いているファイル一覧、キャレットの位置、補完バリアントリストなど)を持ち、必要に応じて別のユーザーを「フォロー」するオプションがあります。 「シンクライアント」ユーザーは、ナビゲーション、補完、デバッグなどのコアIDE機能にアクセスできますが、全てのIDE機能にアクセスできるわけではありません。 … Continue reading

Posted in IntelliJ IDEA, お知らせ | Leave a comment