Upgrade to Pro — share decks privately, control downloads, hide ads and more …

de:code 2018 振り返り

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for tfukumori tfukumori
July 21, 2018

de:code 2018 振り返り

de:code 2018 で聞いてきたイベントの振り返り

Avatar for tfukumori

tfukumori

July 21, 2018
Tweet

Other Decks in Business

Transcript

  1. 各Frameworkについて .NET Framework Windows上で動作する。 .NET Core Windows、Mac、Linux上で動作する。ただし、.NET Core 3.0で実 装予定のUWPは、Windows上でしか動かない。

    Xamarin Windows、iOS、Android、Mac上で動作する。 .NET Standard .NET Standardは、各フレームワーク間の共通ライブラリの実装に使 ⽤する。
  2. .NET Core 3.0 2018年後半にはPreview版が出てくる。 Desktop Packs Desktop Packsが実装される。 Desktop Packsを追加することで、Windows

    OSの.NET Core上で WPFのアプリケーションが動くことになる。 Microsoft ブログ https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3- and-support-for-windows-desktop-applications/
  3. デスクトップアプリケーションで、なぜ.NET Core が必要となるのか Side by Sideで実⾏されるため、環境依存が少ない。 .NET Framework ライブラリのグローバル参照 or

    ローカル参照を選 択することができる。これはコンパイル時に選択することになる。 最新のAPIは、.NET Coreに先に実装されるため、.NET Coreを使⽤ することで、最新機能を利⽤しやすくなる
  4. Xamarin Xamarin.FomrsがアップデートでCSSに対応 Android Emulator for Hyper-V 対応(⾼速化) Xamarin.Forms on the

    Web Web Assemblyとしてコンパイルすることで、ブラウザ上で動作さ せることができる ソース︓http://github.com/praeclarum/Ooui デモ︓http://ooui.mecha.parts/ 解説︓https://www.telerik.com/blogs/xamarin-forms-on-the-web
  5. Blazor Browser + Razor = Blazor ブラウザ上に.NET実⾏環境ができたということ(UIフレームワーク は提供していない) すべてのブラウザーで動作させることができ、Reactiveなどを知ら なくても、.NETでクライアント側のWeb

    UIをビルドすることができ る。 Web Assemblyとして実装するため、ブラウザにプラグインなどは不 要。 クライアントとC#でのコードの共有、C#の強く型付けされた開 発、.NETの安定性と⼀貫性を受けた開発が実現できる。
  6. この1年の.NET Core .NET Coreも⽣みの苦しみを抜けた状況となっている。 どう⾒てもWindows⽤、Coreにいれるの︖な感じの互換パック Windows Compatibility Pack パフォーマンス、.NET Core

    2.0、2.1にするだけで数割⾼速に C# 7.X活⽤する、細かい最適化多々 ランタイムに⼿を⼊れないと実現無理な新機能の作業開始 C# のコンパイル上のトリックではなくて、.NETのコアに⼿を⼊れ なければいけない機能についても、実装して来ている。
  7. 新機能の実装 新機能については、まずは、.NET Coreに実装している状況となって いる。 .NET Frameworkへの実装は、.NET Coreから.NET Frameworkへの移 植という形となるため、以下のような問題がある。 .NET

    Frameworkに移植されるまでに時間がかかる パフォーマンスについては、問題が出てくる。.NET Coreのほうが 早いという状況がありえる .NET FrameworkはSide by Sideではないので、環境依存となる
  8. .NET Coreのほうがメインストリームに 今後は、.NET Coreの⽅がメインストリームとなる。 .NET Core 3.0 Desktops Packsで実装予定のGUIを使⽤したアプリケ ーションでも、.NET

    Coreの恩恵(パフォーマンス向上、side by side インストール)などがある。 1つ注意点としては、クロスプラットフォームだからといって、 Windows以外でWPFが使えるようになるわけではない。その⽬的 ならば、Xamarinとなる。
  9. .NET Frameworkから.NET Coreへの移⾏ .NET Frameworkから、.NET Coreについては、ターゲットフレーム ワークを変えるだけでビルドできる、という状態にしたい。 .NET Core 3.0では、Desktop

    PacksでWinfows Forms、WPF、UWP が動作する予定 https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3- and-support-for-windows-desktop-applications/ 実際、WPFのGUIを.NET Coreに持ってきてテストする、ということ はしているが、⼤体動く。 動くからといっても、スレッドの挙動の違いとかではまる可能性あ り。たとえば、パフォーマンスを上げるとロックのタイミングが変 わって破壊的変更につながる、ということはあり得る。
  10. リソース The .NET Language Strategy https://blogs.msdn.microsoft.com/dotnet/2017/02/01/the-net- language-strategy/ Digging Deeper into

    the Visual Basic Language Strategy https://blogs.msdn.microsoft.com/vbteam/2017/02/01/digging- deeper-into-the-visual-basic-language-strategy/ ⽇本語記事 https://www.infoq.com/jp/news/2017/03/vb-strategy https://www.infoq.com/jp/news/2017/02/strategic-net