32
新新新 Visual Studio & .NET 新新新新新新新新新新新新 2015 新新新 C# Session #2 1 新新新新新新 新新新新新新新新新新 新新新新新新新新新 () 新新 新2015 新 6 新 25 新 新新 () Copyright© 2015 Shin-ichi Koga All Rights Reserved.

新しい Visual Studio & .NET と新時代のアーキテクチャ

  • Upload
    -

  • View
    2.846

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 新しい Visual Studio & .NET と新時代のアーキテクチャ

1

新しい Visual Studio & .NET と新時代のアーキテクチャ「 2015 世代の C# 」 Session #2

ソフトバンク・テクノロジー株式会社(シニアエンジニア)古賀 慎一

2015 年 6 月 25 日(木)

Copyright© 2015 Shin-ichi Koga All Rights Reserved.

Page 2: 新しい Visual Studio & .NET と新時代のアーキテクチャ

2

このセッションのゴール

Microsoft が注目する 新時代のアーキテクチャ のイメージする

改めて Visual Studio での開発の全体像 を確認する

Visual Studio の新機能 を知る

新しい Visual Studio を使いこなそう!

※Visual Studio 2015 RC と de:code 2015 の情報を元にしているため、今後のアップデート・製品版では名称や仕様が異なる可能性があります

Page 3: 新しい Visual Studio & .NET と新時代のアーキテクチャ

3

自己紹介古賀 慎一

Microsoft MVP for Visual Studio ALM

ソフトバンク・テクノロジー株式会社 Project Management Office (PMO) エキスパートエンジニア

クラウドサービス Online Service Gate® で TFS 導入事

例http://tech.surviveplus.net/archives/1114

前職では 某大手 情報サイトのデータ入稿システム のフレームワークを開発

「仕組み」作りで 如何に高品質・低コストで早い開発を実現できるか?

エンタープライズ向けの実践的な C# サンプルを公開

Page 4: 新しい Visual Studio & .NET と新時代のアーキテクチャ

4

アジェンダ

新しい Visual Studio

マイクロサービスとデータレイク

Visual Studio 2015 の新機能

Page 5: 新しい Visual Studio & .NET と新時代のアーキテクチャ

5

新しい Visual StudioVisual Studio 2015 と Visual Studio Code そして Visual Studio Online

Page 6: 新しい Visual Studio & .NET と新時代のアーキテクチャ

6

新しく Visual Studio Code が登場

Visual Studio 2015 は Windows 用の 統合開発環境

Visual Studio Code は Windows, Mac, Linux 用の エディタ

Visual Studio Online は ALM ・ DevOps の基盤

Visual Studio 2015最も完全な IDE

Visual Studio Code軽量・高速で生産性高いエディタ

Visual Studio Online + Team Foundation ServerCODE / WORK / BUILD / TEST

IDE (Integrated Development Environment)

Application Lifecycle Management / Development & Operations

Editor

Page 7: 新しい Visual Studio & .NET と新時代のアーキテクチャ

7

Visual Studio Code は軽量な高機能エディタ

ダウンロード 約 60MB ( ver.0.3.0 ) https://code.visualstudio.com/

インストール数分で完了して起動

扱えるモノ・出来ること

30 以上の開発言語 (.cs, .js, .ts, .md ...)

Git

タスク実行

runtime : node.js , ASP.net 5

エディタなのに?

Page 8: 新しい Visual Studio & .NET と新時代のアーキテクチャ

8

Mac OS X と Linux で ASP.NET 5 の開発ができるインテリセンスは効くけど、エディタなのでビルドとかできません?

⇒ クロスプラットフォーム OSS ツールを使います

Visual Studio Code

Yeoman generators for ASP.NET 5

YO : scafolding tool

Grunt, Gulp : task-runner/build

tool

Bower, npm : package manager

かなりコマンドを使える必要有り(今のバージョンでは)

Page 9: 新しい Visual Studio & .NET と新時代のアーキテクチャ

9

ASP.NET 5 は Windows / Linux / Mac OS X で動く.NET Core 5 で作ればどこでも動く!を目指している

.NET Core 5

軽量ランタイム(サブセット)

.NET Framework 4.6

完全な .NET Framework とライブラリ

ASP.NET 5FCL (Framework Class Library) for MVC, Web API and SignalR

BCL (Base Class Library) CoreFX (.NET Class Libraries)

CLRCore CLR

(.NET Core Common Language Runtim)

Mono

Page 10: 新しい Visual Studio & .NET と新時代のアーキテクチャ

10

実は Visual Studio 2015 の ASP.NET 5 の開発も同じクロスプラットフォーム OSS ツールを使います( Visual Studio が)

プロジェクトファイルは軽量に。動作設定は .json ファイルに

Visual Studio 2015

Yeoman generators for ASP.NET 5

YO : scafolding tool

Grunt, Gulp : task-runner/build

tool

Bower, npm : package manager

MSBuild でビルドするのではない!

でも、コマンドは不要(自動)

Page 11: 新しい Visual Studio & .NET と新時代のアーキテクチャ

11

VS2015 と Code の位置づけはおそらく ...

Visual Studio Code は未完成 ~ OSS とともに成長中 - Mac OS X, Linux, Windows 用

OSS を理解している人向けの高機能なテキストエディタ&コマンド実行支援

将来は Visual Studio そのものになる? アップデートは早そう

Visual Studio 2015 は統合開発環境の完成形 - 今は Windows 専用

OSS の機能も自動で扱ってくれる

アップデートは時間かかっても、 OSS の知識なしでも扱えるように機能がとりこまれる?

Visual Studio 2015最も完全な IDE

Visual Studio Code軽量・高速で生産性高いエディタ

Page 12: 新しい Visual Studio & .NET と新時代のアーキテクチャ

12

ASP.net は コンテナ型のアプリ仮想化技術で動作

配置はアプリと .NET Core を一緒に xcopy

オンプレミス

Azure Web Apps / 仮想マシン

Docker / Windows コンテナー

Docker https://www.docker.com/

Page 13: 新しい Visual Studio & .NET と新時代のアーキテクチャ

13

Docker はコンテナ型のアプリ仮想化技術Microsoft も Docker に力を入れている ⇒ マイクロサービス対応のた

め?

仮想マシン

コンテナ

PaaS

アプリ

ミドルウェア

OS

ハイパーバイザー

ハードウェア

Docker : コンテナ型

アプリ

Docker エンジン

OS

ハードウェア

IaaS

アプリ

ミドルウェア

OS

ハイパーバイザー

ハードウェア

ライブラリ

Page 14: 新しい Visual Studio & .NET と新時代のアーキテクチャ

14

マイクロサービスとデータレイクマイクロソフトが考える 5 年後を見据えたアーキテクチャ

Page 15: 新しい Visual Studio & .NET と新時代のアーキテクチャ

15

マイクロサービス (MSA : Microservices architecture)

動いているサービスを止めずにアップデートは大変( Amazon.co.jp とか)

全体で巨大1システムだと変更・リリースが難しい

依存関係が複雑

細かいサービスに分かれていれば、部分的にリリースして差し替え可能

アップデートより作り替えの方がリスクが低いはず

※15 年使ったエアコンが壊れたら直すか?買い換えるか?

細かいサービスは、仮想化 OS じゃなくて、コンテナで動くと良いよね

Docker による仮想化が進む ~ Azure / Windows Server も対応していく

Page 16: 新しい Visual Studio & .NET と新時代のアーキテクチャ

16

データレイク (Data lake) と IoT &ビッグデータ

今まで

業務システムが目的のデータを収集、それを整形加工、分析へ・・

これから

IoT で大量に収集される生のデータ(ビッグデータ)

リアルタイムでストリーム処理する流れ

未整形データを一旦溜めて、整形加工して使用する流れ

Azure ML, Azure Data Factory, Azure Data Lake ...

Page 17: 新しい Visual Studio & .NET と新時代のアーキテクチャ

17

Visual Studio と Azure の機能追加

Visual Studio で開発するアプリの配置先

PaaS, IaaS, Docker コンテナ ... マクロサービスへ?

Visual Studio で開発するアプリに接続する機能

Azure AD, Azure Mobile Service, Azure ML, Azure Data Factory, Azure Data Lake ...

Azure + Visual Studio = Microsoft が注目するアーキテクチャを実

Page 18: 新しい Visual Studio & .NET と新時代のアーキテクチャ

18

Visual Studio 2015 の新機能強化された完全な統合開発

Page 19: 新しい Visual Studio & .NET と新時代のアーキテクチャ

19

Visual Studio 2015 + VSO + Azure 新機能オープン化

クロスプラットフォーム

Xamarin -C# でネイティブアプリを作る仕組み

Cordova - HTML/JS をアプリにする仕組み

DevOps

コーディング、デバッグ ( CodeLens強化 , LightBulb, IntelliTest, IntelliTrace強化 )

リポジトリ、ビルド、テスト、デプロイ (Visual Studio Online)

運用管理・監視 (Azure Application Insights)

Page 20: 新しい Visual Studio & .NET と新時代のアーキテクチャ

20

コードレンズ ( Visual Studio 2013 以降)

ソースコードをいつ?誰が?どう?変更したかをコードの近くに表示

ここから担当者に連絡出来る( IM, メール , 電話)

単体テスト結果確認、テスト実行もコードからできる

※一部の図は MSDN Blogs ( http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/12/code-lens-for-git-quot-team-activity-view-quot.aspx ) より引用

Page 21: 新しい Visual Studio & .NET と新時代のアーキテクチャ

21

コードレンズ 強化 "Team Activity View“

Visual Studio 2015 ではグラフィカルに「見える化」

メソッド毎: C#, Visual Basic

ファイル毎: JavaScript, C++, SQL  ※ Git のみ、 TFVC 対応も計画あり

開発者が情報収集 ⇒ ツールが情報収集 開発者が開発に集中出来る

※図は MSDN Blogs ( http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/12/code-lens-for-git-quot-team-activity-view-quot.aspx ) より引用

Page 22: 新しい Visual Studio & .NET と新時代のアーキテクチャ

22

Light Bulb ~リファクタリング&コード分析強化

コードをリアルタイムに分析、提案を表示

電球アイコンクリック( Ctril + . )で候補を表示⇒プレビュー⇒実行

※図は Visual Studio 2015 RC リリース ノート ( https://www.visualstudio.com/news/vs2015-vs ) より引用

Page 23: 新しい Visual Studio & .NET と新時代のアーキテクチャ

23

リファクタリング & コード分析が Light Bulb に統合名前の変更、不要な using の削除、属性の追加 etc...

NuGet からコード分析ルールを取得出来る

Microsoft Code Analysis for Azure 0.4.0-betahttps://www.nuget.org/packages/Microsoft.VisualStudio.Azure.CodeAnalysis/

自分でもルールを作れる!

※図は Visual Studio 2015 RC リリース ノート ( https://www.visualstudio.com/news/vs2015-vs ) より引用

開発者がチェック・調査

 ⇒ツールがチェック・提案

 開発者が開発に集中出来る

Page 24: 新しい Visual Studio & .NET と新時代のアーキテクチャ

24

IntelliTest ~ 単体テストの自動作成

Create Unit Test - 復活!単体テストコードをメソッドから作成

Run IntelliTest - 新機能!コードカバレッジ 100% テストパターンを作成 (旧称: Smart Unit

Test)

※単体テストサンプルはこちらからダウンロードできます ( https://code.msdn.microsoft.com/TFSVSO-dc7b8c9d )

開発者が網羅 ⇒ ツールが網羅的に作成 開発者が開発に集中出来る

Page 25: 新しい Visual Studio & .NET と新時代のアーキテクチャ

25

接続済みサービス & Azure AD 認証の構成

Visual Studio からギャラリーを検索

アプリで使用するサービスを選択、設定を入力して構成

Azure Active Directory

Connected Service

アプリを Azure Application Insights, Azure Mobile Services, Azure Storage, Office 365, Salesforce に接続

Page 26: 新しい Visual Studio & .NET と新時代のアーキテクチャ

26

Azure Active Directory 認証の構成

Visual Studio 標準で Azure AD の構成機能

※一部の図は Visual Studio 2015 RC リリース ノート ( https://www.visualstudio.com/news/vs2015-vs ) より引用

開発者が SDK 入手・構成 ⇒ ツールが構成  開発者が開発に集中出来る

アプリを Azure Active Directory に接続

Page 27: 新しい Visual Studio & .NET と新時代のアーキテクチャ

27

タイムラインツール・診断ツールと IntelliTrace

WPF と Windows ストア 8.1 アプリの検査・診断・パフォーマンス向上を

メモリー使用量

CPU 使用率

かかった時間  etc ...

デバッグ時「見える化」

※図は MSDN Blog ( http://blogs.msdn.com/b/wpf/archive/2015/01/16/new-ui-performance-analysis-tool-for-wpf-applications.aspx ) より引用

Page 28: 新しい Visual Studio & .NET と新時代のアーキテクチャ

28

タイムライン+ IntelliTrace で強力に見える化

IntelliTrace ( 2010 以降)

問題が起こるまでを録画して再生するイメージ - 変数の変化やイベントを確認出来る

お客様の環境で IntelliTrace ログを収集、自社 PC の Visual Studio で(ほぼ) F5 デバッグが可能

タイムラインで「このとき」から「このとき」何が起きていたか?を確認

※図は MSDN Blog ( http://blogs.msdn.com/b/wpf/archive/2015/01/16/new-ui-performance-analysis-tool-for-wpf-applications.aspx ) より引用

開発者が記録・再現(多くは見えなかった)

 ⇒ツールが記録・再現・見える化

 開発者が開発に集中出来る

Page 29: 新しい Visual Studio & .NET と新時代のアーキテクチャ

29

Visual Studio Online の新しい BUILD

こままでのビルド定義は XML definitions に

新しい Build definitions では

TFVC, Git の他 GitHub など

他のサービスのコードがビルド出来る

Azure Cloud Services, Website にリリースできる

Xamarin.Android/iOS, Xcode のビルドもできる

全てを自動ビルド・自動テスト・自動リリース出来るようになる日も近い?

Page 30: 新しい Visual Studio & .NET と新時代のアーキテクチャ

30

Application Insights ( プレビュー )

モバイル アプリ& Web アプリ の問題の検出、クラッシュの診断、

利用状況の追跡

Azure, IIS, J2EE サーバー ... ホストに関わらず使用可能

※一部の図は MSDN Blog (http://blogs.msdn.com/b/visualstudioalm/archive/2015/01/07/application-insights-and-azure-websites.aspx ) より引用

Page 31: 新しい Visual Studio & .NET と新時代のアーキテクチャ

31

誰でも Visual Studio の完全な ALM/DevOps を活用

実装とデバッグのための強力な機能

継続的デリバリ、継続的モニタリング、継続的ラーニング

Visual Studio OnlineCODE / WORK / BUILD / TEST

Visual Studio 2015コーディング / デバッグ

Microsoft Azure

ホスト / 接続サービス / 運用管理・監視

Page 32: 新しい Visual Studio & .NET と新時代のアーキテクチャ

Copyright© 2015 Shin-ichi Koga All Rights Reserved. 32