Visual Studio.NET : Part II
.NETソリューション開発部Visual Basic/Visual C++/C# プロダクトマネジャー田中達彦
Session ID : GS-07
Agenda : Part II
Visual Studioの進化
Visual Basic.NET新機能
Visual C++.NET新機能
Visual C#
各言語の比較
Visual Studio.NETの生産性
Visual Studio.NETへの移行
注意
今回のデモで使用するVisual Studio.NETは開発中のものであり、デザイン、仕様は製品版において変更される場合があります
このスライド中の用語についても、製品版で変更される場合があります
Visual Basic.NET新機能
ユーザーのニーズに合った機能を提供
洗練された言語への進化
壁の除去
Visual Studio.NETへの統合
.NETアプリケーションの容易な開発
~設計思想~
Visual Basicプログラマのスキルをそのまま.NETへ移行可能
Visual Basic.NET新機能
最新のUIの構築
Windowsアプリケーション
Webアプリケーション
DLL地獄からの脱出
xcopyデプロイメント
~ VBランタイムから.NET Frameworkへ~
Visual Basic.NET新機能~ コードの例~
Imports System.MathNamespace GeometryPublic Module Module1
Public Class Triangle
Dim tri As New Triangle(2, 3, 4)
Console.WriteLine(tri.Compute())
Dim ma, mb, mc As Integer
Dim s As Double = (ma + mb + mc) / 2Return Sqrt(s * (s - ma) * (s...
Imports System.Math
Namespace Geometry
Public Module Module1
Sub Main()
Dim tri As New Triangle(2, 3, 4)
Console.WriteLine(tri.Compute())
End Sub
End Module
Public Class Triangle
Dim ma, mb, mc As Integer
Overloads Public Sub New(a As Integer, b As Integer, c As Integer)
ma = a : mb = b : mc = c
End Sub
Public Function Compute() As Double
Dim s As Double = (ma + mb + mc) / 2
Return Sqrt(s * (s – ma) * (s – mb) * (s – mc))
End Function
End Class
End Namespace
Visual C++.NET新機能
.NET Frameworkのフルサポート
C++プログラマにRAD言語と環境を提供
C++の資産と知識を活用
Visual Studio.NETへの統合
~設計思想~
Visual C++.NET新機能
ネイティブWebサービスの構築
ATL Server
COMコンポーネントの.NET対応
C++マネージ拡張
Attributeによるコーディング量の減少
~ネイティブコードの活用~
Visual C++.NET新機能
Webアプリケーションのための拡張
ATLの思想を継承
小さく速いコンポーネント
パフォーマンスを要求されるWebサービスの構築に最適
~ ATL Server ~
Visual C++.NET新機能~ ATL Server ~
Request
Dispatcher
ATL Server
Services
VCISAPI.DLL
Web C
lient HTTP Request
HTTP Response
Request
Handler
SRF
Files
Your App
Visual C++.NET新機能
.NET Frameworkへのアクセス
言語レベルの相互接続性
.NET Frameworkの使用例
~ C++マネージ拡張~
#using <mscorlib.dll>
using namespace System::Console;
void main()
{
WriteLine(L"Hello, World");
}
Visual C++.NET新機能
Common Language Runtimeを使用
~ C++マネージ拡張~
#using <mscorlib.dll>
__gc class intList {
int i;
intList *next;
};
void main() {
for(int i = 0; i < 10; i++) {
intList *pNode = new intList;
}
}
Visual C#
C/C++ファミリー言語の中で最初のコンポーネント指向言語
イベント、メソッド、プロパティ
設計時、実行時のAttribute
XMLを使用したドキュメントの融合
~設計思想~
ヘッダーファイル、IDLが不要
C/C++開発者のためのRAD言語と環境
各言語の比較
Visual Basicは初心者から企業内アプリケーションまで幅広くサポート
Visual C++はハイパフォーマンスを要求されるアプリケーションの構築に使用
Webアプリケーションの構築にはVisual InterDev
~ Visual Studio 6.0世代~
各言語の比較
.NET Frameworkを使用する場合、どの言語でも高い生産性とパフォーマンスを実現 Visual Basicユーザーは、Visual Basicを使い続けたまま .NET Frameworkの世界に入ることが可能
ネイティブコードが必要な場合のみVisual C++を使用
全く開発言語を知らない初心者にはVisual C#
~ Visual Studio.NET世代~
Visual Studio.NETの生産性
1つのIDE(統合開発環境)
エディタ、デバッガを共有
複数の開発環境を起動する必要がない
進化したIDE ソリューション エクスプローラ、クラス ビュー、
タスク一覧、ツールボックス、ダイナミック ヘルプ、コマンドウィンドウ
マクロ
~統合された開発環境~
Visual Studio.NETへの移行
Visual Basic 6.0プロジェクトの読み込み
Visual Basic.NETのプロジェクトに変換
変換できない部分にToDoコメントを付加
Visual Basic 6.0からVisual Studio.NETへの変換方法については、Webやホワイトペーパーで提供
~ Visual Basic ~
Visual Studio.NETへの移行
C++マネージ拡張による移行
コンポーネント化されたアプリケーションをC++マネージ拡張によって .NET Frameworkに移行可能
ATLで作成したロジックをWebサービス化して提供
~ Visual C++ ~
Visual Studio.NETへの移行
コンポーネント化の推進
Web、ホワイトペーパーの確認
.NET Frameworkの情報の収集
MSDNユニバーサル
.NET Framework SDK
~移行のヒント ~
まとめ
Visual Basic、Visual C++とも.NETのために進化している
.NET Frameworkを使用する際、言語はいちばん得意な言語を使用すればよい
http://www.microsoft.com/japan/developer/vstudio/nextgen/