dotnetConf 2016 Day 2のキーノートです。基本的にXamarinに詳しくないので既知なのか新情報なのか判断が難しいところです…
で今日のメインはMiguel氏ですが、Skypeで参加です。
極東の成層圏のマイクロソフトのオフィスから中継のようです?(ジョーク)
というかすごくキーノートとかセッションという感じがしないですね。
Miguel氏ということもあり、最初はXamarinの話題というか今日のキーノートは全部Xamarin。
小さなスタートアップから始まった会社ですが、MicrosoftにJoinしたりVisual Studioで無料で使えるようになったり、MITライセンスのもとでMono Runtimeやツール、SDKやXamarin Formsがオープンソースになったりとここ数か月で目まぐるしく変わりました。
という感じでざっくり紹介終わり。で今日のAgendaですがTwitterで投票してたみたいですねw 結果によると内緒な計画のお披露目っぽいですがw
とまぁそんな感じで話は進みます。まずはプロダクトリリースについて。
基本的にプラットフォーム(iOSやAndroidの)アップデートや機能アップデートをメジャーリリースとしてるようですね。年数回。プラットフォームがアップデートされたら対応するようにSDKもアップデートします。基本的にこちらについてはプライドもあるのですぐに公式SDKも対応させたいという感じですね。
で、リリースサイクルとかの話。Cycle 7と呼んでるようです。
プレビューやらRC込みで出してフィードバックくれてありがとう的な?あとMiguel氏のお気に入りはXamarin StudioとDarkテーマ、Roslyn統合、ターゲットUIの再デザインのようです。
まだ確定したわけじゃないPreviewだけど、お気に入り機能の1つであるSkia Sharpという2Dグラフィックスライブラリ。
グラフィック系はデバイス毎(プラットフォーム毎)で固有のAPIを使用する必要があったけど、GoogleのSkiaライブラリを取り込んで共通化したもののようです。
パフォーマンスやメモリのプロファイリングができるツールですが、最新プレビューではGCのサイクル検出ができるようになります。
GCが回収するときのサイクルをツリーから辿ってみたりとかできるようです。
次は iOS Simulator for Windows。
//build/でもデモされてたやつですね。
あと Xamarin Workbooks。
こちらはEvolveで発表あったやつかな? インタラクティブに文書の中のコードを実行したりできる機能です。
あとUWPサポートしたことにより、Urho3Dのような3Dライブラリを使ってHoloLensにアプリを提供したりできるようになります。Workbooksも使い方的にいろいろ考えられそうですね。
次はXamarin Inspectorです。
UIの要素を探したり辿って編集したりできますね。
Preview機能の最後はXamarin.Forms XAML Previewerです。
来週にはVisual Studio上でXamarin.FormsのXAML Previewerが使えるぽいです。
という感じで次は今秋の話題。
夏は休暇だとかで忙しい(Joke)けど秋に向けていろいろと。
出るだろうiOS 10と現在Preview 3なAndroid Nへの対応、Visual Studio上でXamarin.Macサポート。
Visual StudioでXamarin.Macのサポートは共通のコードでWinもMacも開発できるし、MacへPCを切り替える必要もないとか。
あと先日も少し触れましたXamarin Studio上でASP.NET Coreのサポート、それから13言語への多言語対応など。
現在、Microsoftは3つのIDEを持ってます。
Windows上のVisual StudioのほかにクロスプラットフォームのVisual Studio CodeとXamarin Studio。
Xamarin Studioは特殊?そんなことはなくコンパイラー部分はRoslyn使ってるし、ビルドはMonoのxbuildなのをMSBuildに統合できるようにしてます。
CoreCLR/ASP.NET CoreのデバッグもXamarin Studioから(Visual Studio CodeのDebugプロトコルで)使えます。
開発言語パックとしてTypeScriptやJavaScript、Go、Pythonなども。
1つのツールで(どのツールでも好きなので)フロントもバックエンドも開発して同じコードを共有して展開できますよ的な。
昨日発表があった.NET Standard Libraryの発想ではベース部分のほとんどをカバーしようという感じ。
で、.NET Standardを超えてコードを共有するには。
さっき挙がったSkiaだったりSQL Liteだったり。それぞれネイティブな部分もってます。
でもその辺は意識しなくてもコード書ける。SkiaSharpならSkiaSharpのAPIを知っていればいい。こんな感じでAPIを提供したいという感じ。
でそういうマネージドな、ネイティブな部分は面倒くさいけどXamarinでは専任スタッフ抱えて取り組んでます的な。
Xamarinスタジオ内での呼称ぽいですけど、Nugetizer-3000プロジェクトというのをやってるようです。
クロスプラットフォーム対応NuGetパッケージつくるプロセスを楽にするツールですかね。詳細はBreakout Sessionかな?
さてFrameworkからLibraryへ、という感じで
次はLinked .NETの話。必要なアセンブリのほんとに使ってる部分だけ抜き出してリンクしてしまおうという感じですかね。
26ステップ(OSアーキテクチャの判断だとかDebugかReleaseかなど)を経て以下のように生成されます。
最後に次のステップとして。
Cycle 7でXamarinをUpdateしつつdotnetConfを見てHandsOnしましょうという感じかな?
キーノートは以上です。
※おまけ:例によって英語のスクリプトです。