.NET Coreとツール類の今

3,405 views

Published on

dotnetConf 2016 Japanで発表した資料です。

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,405
On SlideShare
0
From Embeds
0
Number of Embeds
2,346
Actions
Shares
0
Downloads
7
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

.NET Coreとツール類の今

  1. 1. ~ dotnetConf 2016 Japan ~ .NET Coreとツール類の今 五十嵐 祐貴(いがらし ゆうき) @bonprosoft Microsoft Student Partners Fellow, Microsoft MVP サトヤ仙台
  2. 2. 自己紹介 五十嵐 祐貴 (いがらし ゆうき) @bonprosoft Microsoft Student Partners Fellow Microsoft MVP for Visual Studio and Development Technologies 東北大学工学部 / サトヤ仙台代表 / セキュリティ・キャンプ http://vbcpp.net/about/
  3. 3. セッションのゴール .NET Core向けに使えるツール類の 最新動向を知る 各種ツール類の立ち位置を知る .NET Coreアプリケーション開発の 最初の手がかりを得る ハッシュタグは #dotnetconfJpです
  4. 4. 突然ですが問題です • .NET Coreで最低限開発に必要なツールを 整えるのに必要な時間はどれくらい? A) 5分 B) 10分 C) 30分 D)1時間
  5. 5. Demo  .NET Core Development with .NET Core SDK+CLI
  6. 6. .NET Core SDK + .NET Command Line Interface tools • 環境構築(Windows) 1. http://dot.net から.NET Core SDK Installerをダウンロード 2. インストール スタンドアロン版も以下から入手可能 (ただし最新ビルド版が降ってくるので注意) https://github.com/dotnet/cli インストールスクリプトも利用可能 dotnet-install.ps1 / dotnet-install.sh https://docs.microsoft.com/en- us/dotnet/articles/core/tools/dotnet- install-script
  7. 7. .NET Core SDK + .NET Command Line Interface tools > dotnet ※ https://github.com/dotnet/cli/tree/rel/1.0.0/src/dotnet/commands o アプリケーションの実行 > dotnet example.dll o アプリケーションの開発(要SDK) new 新規プロジェクトの作成 restore プロジェクトに必要なパッケージの復元 build/run プロジェクトをビルド test ユニットテストを実行 pack NuGetパッケージとしてパッケージング publish 発行用にファイルをまとめる など[※]
  8. 8. 余談: .NET Core SDK Installerの中身 • WiXインストーラを展開 o dotnet-dev-win-x64.1.0.0-preview2-003121.msi o dotnet-sharedframework-win-x64.1.0.0.msi o dotnet-host-win-x64.1.0.1.msi o dotnet-hostfxr-win-x64.1.0.1.msi • さらにmsiも展開…
  9. 9. 余談: .NET Core SDK Installerの中身 o dotnet-dev-win-x64.1.0.0-preview2-003121.msi dotnet.dll (dotnet [Command]の中身), csc.dll など o dotnet-sharedframework-win-x64.1.0.0.msi dotnet.dllなど動作させるのに必要な共有ライブラリ群 o dotnet-host-win-x64.1.0.1.msi ランタイム本体 o dotnet-hostfxr-win-x64.1.0.1.msi ランタイムを実行するために必要なライブラリ
  10. 10. .NET Coreで開発しようと思ったら… .NET Core SDK with CLI with Visual Studio Code with Xamarin Studio with Visual Studio • 主に以下のツールが利用可能 o クロスプラットフォームで開発・デバッグが可能
  11. 11. (再掲)突然ですが問題です • .NET Coreで最低限開発に必要なツールを 整えるのに必要な時間はどれくらい? A) 5分 B) 10分 C) 30分 D)1時間 .NET Core SDK with CLI with Visual Studio Code with Xamarin Studio with Visual Studio
  12. 12. Visual Studioを用いた.NET Coreアプリ開発 • Visual Studio 2015 o 現状はWindows上でのみ動作 o .NET Coreに対しても強力な開発支援を提供 o 無償版のCommunityエディションも公開 学生や個人開発者は従来の有償版機能を 無料で利用可能に • 導入方法 1. Visual Studio Update 3を適用 2. .NET Core 1.0 for Visual Studio をインストール https://go.microsoft.com/fwlink/?LinkId=817245
  13. 13. Dockerとは • コンテナ型のアプリケーション仮想化技術 o コンテナ同士は独立 o サーバー仮想化とは異なり、OSカーネル等は共有 o Dockerfileに依存関係や構成を記述 ⇒ 高速かつオーバーヘッドの少ないデプロイ・移行が可能 画像は http://patg.net/containers,virtualization,docker/2014/06/05/docker-intro/ より
  14. 14. Dockerとは • WindowsにおけるDockerの利用 o 外部のDockerホスト(Linux)に接続 o Docker for Windows (Public beta) Hyper-V上にDockerホストとなるLinuxマシンを配置し接続 o Docker Toolbox VirtualBox上にDockerホストとなるLinuxマシンを配置し接続 Linux コンテナ
  15. 15. Dockerとは • WindowsにおけるDockerの利用 o 外部のDockerホスト(Linux)に接続 o Docker for Windows (Public beta) Hyper-V上にDockerホストとなるLinuxマシンを配置し接続 o Docker Toolbox VirtualBox上にDockerホストとなるLinuxマシンを配置し接続 o Windows Server Container o Hyper-V Container Linux コンテナ Windows系 コンテナ
  16. 16. .NET Core Docker Image • Docker向けの.NET Coreイメージ o Linuxコンテナ以外にWindowsコンテナ 向けのイメージも公開済み https://hub.docker.com/r/microsoft/dotnet/ > docker pull microsoft/dotnet
  17. 17. Visual Studio 2015とDocker • Docker Tools for Visual Studio 2015 – Preview o Visual StudioからDockerイメージ/コンテナの 作成や管理を行うことが可能に o Windowsコンテナもサポート予定
  18. 18. Demo  .NET Core Development with Visual Studio 2015  Docker Tools for Visual Studio
  19. 19. クロスプラットフォームな開発支援環境
  20. 20. • クロスプラットフォームで動作する高機能なエディタ o https://github.com/Microsoft/vscode o 30以上の言語に対応 o OSS系ツールと強力な連携  npm – Node パッケージマネージャー  Bower – Twitter社製クライアントサイドパッケージマネージャー  Grunt, gulp – ビルドタスク自動化ツール(タスクランナー) など o 拡張機能の導入によりさらに高機能に Visual Studio Code + +
  21. 21. Demo  Visual Studio Code Overview
  22. 22. Visual Studio Codeを用いた.NET Coreアプリ開発 • C# extension o .NET Core向けの開発支援・デバッグ用拡張機能 IntelliSense, 定義へ移動, すべての参照を検索 など… o 内部のエンジンにはOmniSharpを採用 https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp > ext install csharp .csprojの読み込みが一時的に無効状態(OS XとLinuxのみ) ⇒ OS X / Linux上でのMono / Unityアプリケーションの開発には “Legacy C# Support extension”を使いましょう(公式アナウンス) なお、両方の拡張機能の共存は不可能
  23. 23. Yeoman / Yeoman generator for ASP.NET Core > yo aspnet • .NET Core向けテンプレート生成ツール o クロスプラットフォームで動作 o 様々な種類のプロジェクトテンプレートの作成が可能 o Sub Generatorを用いるとクラス単位での生成も可能 • 導入方法 1. Node.jsをインストール https://nodejs.org/en/ 2. Yeomanをインストール npm install –g yo 3. Bowerをインストール npm install –g bower 4. ASP.NET Coreのジェネレーターをインストール npm install –g generator-aspnet
  24. 24. dotnet new vs. yo aspnet
  25. 25. dotnet new vs. yo aspnet
  26. 26. dotnet new vs. yo aspnet Q. yo aspnet ってなくなるんですか? A. いや、そんなことはない。 新しいテンプレートツールを作って、 VSや dotnet new / yo aspnet などで 利用可能にしたい。(超意訳) https://github.com/dotnet/cli/issues/2052#issuecomment-207031714
  27. 27. Demo  .NET Core Development with Visual Studio Code  Yeoman Generator for ASP.NET Core
  28. 28. Xamarin Studioを用いた.NET Coreアプリ開発 • Xamarin Studio o Macで動作する.NET/Xamarinをターゲットとした 統合開発環境 o 現在はWindows版は提供されていない • 導入方法 1. アドイン リポジトリ管理でAlpha channelを有効化 2. Add-in ManagerでDNXをインストール
  29. 29. Xamarin Studioを用いた.NET Coreアプリ開発 • 導入方法 3. Xamarin Studioを再起動すると… 新規プロジェクト 作成画面
  30. 30. .NETの将来 .NET FRAMEWORK .NET CORE XAMARIN TOOLS
  31. 31. まとめ • .NET Coreアプリケーションは クロスプラットフォームで開発可能 • 開発環境の導入は非常に簡単 • 多くのツールがオープンソースとして公開済 今すぐ開発に挑戦してみよう! 祝 .NET Core 1.0 RTMリリース

×