レビュー:Visual Studio2017はこれまでで最高です

2年前にVisualStudio 2015をレビューしたとき、MicrosoftのIDEはこれまでで最も複雑な製品になり、Microsoftは将来それを簡素化する必要があると思いました。私はある点で間違っていました。MicrosoftはVisualStudio 2017のいくつかの機能を廃止しましたが、さらに多くの機能を追加しました。しかし、確かに、Microsoftは、その機能を向上させたにもかかわらず、Visual Studio2017でよりシンプルで機敏なIDEを提供することに成功しました。

Windows CommunicationFoundationやWindowsWorkflowFoundationなどの複雑な新しいMicrosoft固有のテクノロジの導入に重点を置いた過去のバージョンのVisualStudioとは異なり、Visual Studio 2017はインストールと動作がより高速になり、より多くのプログラミング言語とプラットフォームをサポートし、開発者の生産性が向上し、適用されます。自然な方法でクロスプラットフォームのワークロードに。

Visual Studio 2015のほとんどのユーザーにとって、Visual Studio2017へのアップグレードは簡単です。その理由を探りましょう。

大きくて小さい

いくつかの点で、Visual Studio 2017は、以前のバージョンのVisual Studioよりも、関連性の低い製品の大きなバッグのように見えます。現在、開発ターゲットの拡大するコレクションには、Windows、Android、iOS、Linux、MacOS、.Net Core、Anaconda、Azure Webアプリと接続サービス、Docker、Office、およびASP.Net、HTML5 / CSS3、JavaScript、Nodeを使用したWeb開発が含まれています。 .js、Python、または(大げさな)TypeScript。SQL Server、Visual Studio Extensions、Rなどの追加のサポートされているテクノロジがあるため、リストは完全ではありません。

ASP.Netを使用したWeb開発をAndroidおよびiOS開発に結び付けるにはどうすればよいでしょうか。XamarinとMonoをモバイル側のテクノロジーとして使用して、上記のすべてをC#で実行する方法があります。ただし、Visual Studio2017のモバイルのオプションはこれだけではありません。

おそらく、C#は好きではありませんが、AndroidとiOS向けに開発したいと考えています。では、C ++やJavaScriptを使ってみませんか?どちらの言語も、モバイル開発のワークロードをサポートしています。深く掘り下げると、すべての人のために何かを共通のインターフェイス(UIとAPIの両方)で結び付けるというVisualStudioの戦略が理にかなっています。結局のところ、ほとんどのソフトウェア開発者は、プログラミング言語と関連技術に関しては必然的に多言語です。 Fortranですべてを書くことができる時代は過ぎ去りました。そして、ほとんどの企業は、「標準的な」開発言語と環境について強い意見を持っています。

しかし、インストールはどうですか?Visual Studioのインストールの巨大なサイズは、20年前の最初のVisualStudio製品以来問題になっています。Visual Studio 2017は、以前のバージョンよりもはるかに多くのモジュラーインストーラーを備えており(下の図を参照)、歓迎すべき改善です。驚くべきことに、最小インストール数は比較的わずかな数百メガバイトです。ただし、Enterprise Editionのフルインストールには、システムにすでに存在する前提条件に応じて30GBから40GBかかります。Microsoftによると、平均インストール数はその約半分です。

フルインストールのサイズは、すべてMicrosoftの責任ではありません。たとえば、GoogleAndroidエミュレータだけで17GB以上を使用します。これは、追加のターゲットシステムをすべてカバーしているにもかかわらず、VisualStudio自体が以前よりもはるかに小さいことを意味します。

新着情報?

現在のサービスパックでVisualStudio 2015からアップグレードしたくなるかもしれない、Visual Studio 2017の新しくてエキサイティングなものは何ですか? Microsoftは、IDEが「起動からシャットダウンまで」高速であり、プロジェクトやソリューションなしでコードを表示、編集、およびデバッグする方法を提供すると主張しています。 Microsoftはまた、コードナビゲーション、IntelliSense、リファクタリング、コード修正、およびデバッグの機能強化により、言語やプラットフォームに関係なく、日常のタスクにかかる時間と労力を節約できると主張しています。確かにそれらはすべて持っていてうれしいですが、生産性の向上はあなたをアップグレードさせるのに十分ですか? IDEについて説明するときに、実際にどのように感じているかを説明しようと思います。

ディスク容量が不足している、または製品のすべての側面に関心がないなどの理由でフルインストールを実行したくない場合は、Visual Studio2015インストーラーよりもモジュラーインストーラーの方がはるかに便利です。一方、Visual Studioをインストールする頻度はどれくらいですか?年に数回、数週間ごとに更新されますか?改善に感謝しますが、ディスク容量に制約がない限り、たとえば128GBのソリッドステートディスクが付属するラップトップで開発する場合を除いて、大きな影響はないはずです。

一方、より高速なIDEは大きな影響を及ぼします。Visual Studioの起動とソリューションの読み込みは、Visual Studio 2008の「プロジェクトの開始時に水を沸騰させてお茶を淹れる方がいい」から現在の「立ち上がってストレッチする」まで、過去数回の反復で著しく高速になりました。プロジェクトが開いている間、数秒です。」コードからプロジェクトやソリューションを除いたものを扱うことに関しては、Visual Studio 97以来、私はそれを20年間だけ望んでいました。

Microsoftは、IDEから直接Microsoft Azureでアプリケーションとサービスを構成、ビルド、デバッグ、パッケージ化、および展開できるAzureツールの組み込みスイートを売り込んでいます。Azureを使用している場合は、それがメリットです。Azureコンソール、Azureコマンドライン、およびVisual Studioの間を移動すると、気が散ってフローが中断される可能性があります。ただし、AWSがプライマリクラウドである場合は、これについてまったく気にしないかもしれません。

最後に、Microsoftは、Visual Studio 2017とXamarinを使用すると、Android、iOS、およびWindows用のモバイルアプリの構築、テスト、およびデバッグがこれまでになく迅速かつ簡単になることを約束します。 Xamarinが最終的にAndroidとiOSでバグなしで動作するようにシェイクダウンされ(私は広範囲にテストしていません)、XAMLデザイナーがコンピューターを路上に投げ出さずに使用できるようになった場合、それは大きなプラスになります。

後者の問題について、Microsoftは、XAMLデザイナーを開くためのオーバーヘッドの約90%がなくなったと主張しています。その主張と一致して、「デザイナーを読み込んでいます...」というメッセージが表示された5秒間の一時停止を確認しました。これは、デザイナーが読み込みにかかっていた1分ほどよりも確かに優れています。また、ウィジェットをデザインサーフェスにドラッグすることと、XAMLコードウィンドウに入力することの両方に対して、より高速な応答が見られます。 2つのウィンドウの同期中の遅延は依然として目立ちますが、VisualStudioがクラッシュした可能性があるとは思われなくなりました。

Visual Studio2017でApacheCordovaまたはVisualC ++を使用してクロスプラットフォームモバイルアプリを開発することもできます。JavaScriptとCordovaを使用したモバイル開発のユースケースは明確であり、多くの人々がクロスプラットフォームのモバイルアプリですでにJavaScriptに依存しています。しかし、なぜiOSとAndroidの間でVisual C ++クロスプラットフォームライブラリの開発が必要なのですか?それを高く評価する多くのモバイルC ++開発者がいることがわかりました。モバイルゲームやコンシューマーアプリの場合、通常はCまたはC ++の一般的なコードがプロジェクトのかなりの割合を占めており、UIはObjective C ++またはJavaで記述されています。

Visual Studio 2017はWindowsからのiOSおよびMacOS開発の一部をサポートしていますが、それでもMacが必要です。どうして?コンソールアプリケーションとASP.Netfor MacOSをデバッグし、MacOS用のGUIを構築し、iOS用のアプリを構築およびデバッグします。

C ++は、まさに最新のポータブル言語のモデルであり、複数のオペレーティングシステムで実行されるアプリケーションの開発によく使用されます。これが、MicrosoftがこのリリースでLinux開発用のC ++サポートも追加し、C ++標準への準拠を改善した理由の一部です。

何が起こったの?

Visual Studio 2017では、めったに使用されない機能がいくつか不要になりました。ただし、現在、フィヨルドを固定していた機能のいくつかに依存している可能性があります。それらはまだ利用可能ですが、古いバージョンを新しいバージョンと並べて実行する場合に限ります。Visual Studioの複数のインスタンス(特に古いバージョン)を単一のディスクにインストールすると、実際にはディスク容量の問題が発生するため、それでも採用が妨げられる可能性があります。

ブラウザアドインからメディアと豊富なインタラクティブアプリケーションを配信するためのWindowsPresentation Foundationの不適切なサブセットであるSilverlightは、2010年代初頭に大流行し、現在は非推奨になっています。SilverlightキャンプとHTML5キャンプの間のマイクロソフト内部の権力闘争はスキップします。Silverlightが失われたと言えば十分です。したがって、Visual Studio2017でSilverlight開発サポートが省略されているのは当然のことです。古いSilverlightアプリケーションを維持する必要がある場合は、Visual Studio2015を引き続き使用する必要があります。

同様に、MicrosoftはWindows Phoneスマートフォンを製造しなくなり、古いWindowsPhoneおよびWindowsStoreバージョンを廃止してWindows10を採用します。保守する必要のあるWindowsPhoneのバージョンに応じて、Visual Studio2015またはVisualStudio2012のいずれかを使用してください。

MicrosoftはVisualStudio 2017からUMLモデリングを廃止し、UMLにさらに投資する予定はありません。代わりに、レイヤーモデリング、依存関係図、およびコードのアーキテクチャレイヤーチェックがあります。レイヤーモデリング拡張機能を作成してデプロイすることもできます。

Visual Studio 2017で本当にUMLが必要な場合は、現在利用可能な数百のUMLツールの1つを使用できます。その多くは無料でオープンソースであり、現在VisualStudio拡張機能が含まれているものもあります。

Visual Studio2017のインストール

Visual Studio2017を2台のWindows10マシンにインストールしました。非常に小さなSSDを搭載したラップトップと、適切なサイズのハードディスクを搭載したタワーです。3月の第2週に予定されている最終リリースバージョンではなく、2月からのリリース候補を使用していたことに注意してください。ラップトップにはすでにVisualStudio2015がインストールされています。タワーには、Visual Studio2017の前身であるVisualStudio15プレビューがインストールされていました。MSDNのWebインストーラーを使用しました。実際、ISOインストールイメージが提供されているのを見たことがありませんが、それが存在しないという意味ではありません。

Visual Studio 2017インストーラーが、ラップトップのSSDに両方のバージョン用の十分なスペースがないことを確認したときに、Visual Studio2015を削除できるほど賢いことを望んでいました。そのような運はありません。 Visual Studio2017とVisualStudio 2015の両方を同じマシンにインストールするユースケースがあるため、Visual Studio2017のインストールは基本的にはうまくいきませんでした。 Visual Studio2015やSQLServerなどの関連テクノロジの古いバージョンに似たものを手動でアンインストールする必要がありました。この作業には約1時間かかり、絶え間ない介入が必要でした。その後、Visual Studio 2017の非常に大きなチャンクをインストールすることができました。インストーラーは、選択したワークロードとモジュールのディスク容量要件の実行タブを保持し、選択したすべてが適合することが確認されるまで続行しませんでした。

手動でアンインストールするのは不必要な苦労だと正直に思いました。一方、私の仕事が簡単になったと思う唯一のことは、古いVisualStudioバージョンのアンインストールウィザードでした。

タワーで、Visual Studio 2017のすべてのワークロードを選択し、[インストール]を押すことができました。このプロセスには1時間かかる場合があります。歩いて戻って完成したので、よくわかりません。VisualStudioのインストールについてそれを言うことができたのはこれが初めてだと思います。

新しいモジュラーインストールは大きな勝利のようです。提供される選択肢は論理的に「ワークロード」に分割され、ワー​​クロード内で、残りのXamarinMobileワークロードをインストールするためにラップトップで最初に除外しなければならなかったGoogleAndroidエミュレーターなどの特定のコンポーネントを簡単に含めたり除外したりできます。おそらく数百メガバイトしかインストールできず、作業環境を維持できます。これは、責任が集中し、ディスクが小さいチームメンバーに最適です。

より速く、よりスマートに、より良く

私がIDEを使用(および開発)してから25年以上が経過している限り、ゲームの名前はプログラマーの生産性です。ミニコンピューターやワークステーションの古き良き時代でさえ、ソフトウェアを作成するための最大のコストは開発者の給与でした。ハードウェアとソフトウェアのコストが数万ドルではなく数千ドルで測定され、プログラマーの年俸が5万ドル未満ではなく10万ドルを超えるようになった今、プログラマーの生産性は収益にとってさらに重要です。Microsoftを引用して、生産性の向上と開発者の「喜び」を目的としたVisual Studio2017の機能を見てみましょう。

スコアカード 能力(30%) パフォーマンス(30%) 使いやすさ(20%) ドキュメント(10%) (10%) 総合スコア(100%)
Visual Studio 2017 10 10 9 8 9 9.5