Monthly Archives: November 2017

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

YouTrack 2017.4 リリース – 待望の日本語化!

YouTrackがついに日本語化されました! YouTrackは課題トラッキング / アジャイルプロジェクト管理ツールです。スマートサーチ、コマンド、IntelliJ IDEAとの連携が協力で特に開発者に人気です。他にも便利な機能が盛りだくさんです。 既にYouTrackをお使いの方にお知らせしたいのがYouTrack2017.4の予測レポート(Estimation Report)、検索結果の関連性順のソート、日付と時刻のカスタムフィールドなどです。 日本語ローカライゼーション YouTrackが日本語をシステムのデフォルト言語としてサポートします。日本語を共通語としてお使いの組織では、Global settingsよりJapaneseをデフォルト言語として選択してみてください。 予測レポート(Estimation Report) 新しく予測のレポート機能が導入されました。この新しい予測レポート(Estimation Report)は課題をプロジェクト、担当者、サブシステム、アジャイルボードのスプリントなどでグループ化することができます。このレポートは時間管理レポートセクションでご確認いただけます。 検索結果を関連性でソート 課題をテキストで検索すると、検索結果は関連性でソートされるようになりました。関連性は課題のタイトル、概要、コメントにテキストが現れる頻度に応じて上がります。 検索クエリで明示的にソート方法を指定したり、OR検索を行わない限りデフォルトで関連性によるソートが行われます。 日付と時刻のカスタムフィールド カスタムフィールドの種類として日付と時刻を保存できるものを追加しました。これにより日付だけを保管したい場合、時間だけを保管したい場合に便利です。時間についてはコマンドを適用することなくユーザーインターフェースより即座に変更することが出来ます。時間管理を行うワークフローやプラグインお使いの場合、より高い精度で費やした時間を管理出来るようになります。 ワークフローのJavaScriptのnpmパッケージサポート YouTrack2017.3よりワークフローはJavaScriptでカスタマイズできるようになりましたが、npmプラットフォームへパッケージをアップロードしました。Node.jsインテグレーションをサポートするJetBrains IDEでご活用いただけます。 アップデートとエンハンスメント 課題フィールドのテキストインデックス テキストインデックスは課題フィールドに保管されている全ての値を含むようになり、概要や説明、コメント以外に保管されているテキストも検索対象になります。 つまりどのフィールドを検索するかという指定をすることなく、検索ボックスに検索したいテキストを入力するだけで課題を探し当てることができるようになります。 テキストインデックスの拡張 テキストのインデックスに中国語、日本語、韓国語、トルコ語、ポーランド語をサポートしました。課題をこれらの言語で書く場合、お好みの言語のインデックスを有効化することで検索クエリに入力した語句が格変化した形で含むテキストも検索対象になります。 新しいプロジェクトのJiraからのインポートオプション チームにJiraを使うユーザーがジョインした場合、既存のJiraプロジェクトの課題を全てYouTrackへインポートして、以降YouTrackで管理出来るようになります。Jiraからのインポートはプロジェクトの作成画面にリンクがあります。 プロジェクトチームの再定義 プロジェクトチームの管理モデルを変更しました。チームにユーザーやグループを直接追加することができ、プロジェクトチームのメンバーとしてロールを設定することができます。 チームロールを使って誰がどのプロジェクトチームに所属するかを指定する必要はなくなりましたので、ロールをチームロールに指定するオプションはなくなりました。 プロジェクトページとぷプロジェクトの編集ページのチームタブのチームセクションは再設計しました。これらのページよりチームにユーザーやグループを追加・削除したり、どのロールがプロジェクトのチームメンバーに権限付与されているかといった指定をすることができます。 実験的な機能 マークダウンサポート 有効化すると課題のサマリ、コメントをマークダウン表記で書けるようになります。もちろんこれまでの記法に慣れている方向けにマークダウン表記、Wiki表記どちらでもお好みの記法を選んで書くことができます。 いかがでしょうか?是非YouTrack 2017.4をお試しください。フィードバックも大歓迎です! クラウドバージョンのYouTrackをお使いの方はメンテナンスカレンダーに従って自動的にアップグレードされます。

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

IntelliJ IDEA 2017.3 EAP でローカル変数の型推論をサポート

IntelliJ IDEA 2017.3 EAP でローカル変数の型推論をサポートしました。 待望のJava 9が数週間前にリリースされましたが、我々は既にJava 10がもたらすものを楽しみにしています。といっても次のバージョンはJava 10とは呼ばれないことになるかもしれません。オラクルは6ヶ月毎に新しいJavaをリリースする方向性を打ち出しており、次のバージョンは2018年3月に手に入り、Java 18.3と呼ばれる可能性があります。 バージョンがどうなるにせよ、次のJavaではJEP 286によるローカル変数の型推論が導入される見込みです。ローカル変数の宣言をシンプルにしようというものです。 IntelliJ IDEA 2017.3ではこれをサポートします。既にある変数宣言で文脈より型推論が可能な箇所ではvarと置き換えることを提案します。 現在のところ明示的な型宣言でvarを置き換えられる箇所も検出します。 この新しい機能により未来のJavaリリースを垣間見ることができます。是非お試しください。これは実験的な機能で、皆様のフィードバックを心よりお待ちしております。ただ、JEP 286はまだリリースされておらず、今後変更となる可能性があることに注意してください。その場合はIDEも変更を追随します。是非Twitterへ、YouTrackへコメントを寄せてください。 Happy developing!   [原文]

Posted in IntelliJ IDEA | Leave a comment