25
Visual Studio.NET : Part I .NET ソリューション開発部 Visual Basic/Visual C++/C# プロダクトマネジャー 田中達彦 Session ID : GS - 06

[2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Embed Size (px)

Citation preview

Page 1: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Visual Studio.NET : Part I

.NETソリューション開発部Visual Basic/Visual C++/C# プロダクトマネジャー田中達彦

Session ID : GS-06

Page 2: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Agenda : Part I

Visual Studio.NETの設計思想

Windowsアプリケーションの構築

Webアプリケーションの構築

データベースアプリケーションの構築

Page 3: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Agenda : Part II

Visual Studioの進化

Visual Basic.NET新機能

Visual C++.NET新機能

Visual C#

各言語の比較

Visual Studio.NETの生産性

Visual Studio.NETへの移行

Page 4: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

注意

今回のデモで使用するVisual Studio.NETは開発中のものであり、デザイン、仕様は製品版において変更される場合があります

このスライド中の用語についても、製品版で変更される場合があります

Page 5: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Visual Studio.NETの設計思想

Visual Studio 6.0

Visual Studio 7.0

バージョンアップ

Page 6: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Visual Studio.NETの設計思想

Visual Studio 6.0

Visual Studio 7.0

バージョンアップ

.NET Platformのために新たに設計

Page 7: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Visual Studio.NETの設計思想

Windows (CE, ME, 2000, and .NET)

Orchestration

.NET Enterprise

Servers

BuildingBlock

Services

.NETFramework

Base Classes

Data & XML

UserInterface

Common Language Runtime

WebServices

~ .NET Framework ~

Page 8: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Visual Studio.NETの設計思想

.NET Frameworkフルサポート

Webサービス作成の簡易化

複数の開発言語のサポート

生産性/拡張性の高い統合開発環境

ゴール:全世界600万人のVisual Studioユーザーが、 .NET Platformに簡単に移行できるようにすること

Page 9: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Windowsアプリケーションの構築

.NET FrameworkのWindowsフォームを使用

Windowsフォームとは

.NET FrameworkとWin32APIのパワーを利用した、リッチなクライアント アプリケーションを構築するためのフレームワーク

コントロールとコンテナのためのアーキテクチャ

RAD環境を使用

~Windows フォーム~

Page 10: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Windowsアプリケーションの構築

デプロイメントが容易

レジストレーション不要

安全性

.NET Frameworkとの統合

Webサービスの利用

データの利用

~Windowsフォームのメリット ~

Page 11: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

GDI+による拡張グラフィックスのサポート

拡張レイアウト

フォームの継承

印刷のサポート

アクセシビリティ

拡張性

コントロールの拡張

~Windowsフォームのメリット ~Windowsアプリケーションの構築

Page 12: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

ActiveXのサポート

国際化

Windows NTとWindows 2000上ではUnicodeで動作

Windows 9x上では内部でUnicodeを使用

~Windowsフォームのメリット ~Windowsアプリケーションの構築

Page 13: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

~シンプルなフォームの例~Windowsアプリケーションの構築

using System;

using System.WinForms;

using System.Drawing;

public class MyForm : Form {

public static int Main(string[] args) {

Application.Run(new MyForm());

return 0;

}

public MyForm() {

this.Text = “Hello World”;

this.BackColor = Colors.SlateBlue;

}

}

Page 14: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

コントロールの追加

コントロールはモードレス

~シンプルなコントロールの例~Windowsアプリケーションの構築

Button button1 = new Button();

button1.Location = new Point(256, 64);

button1.Size = new Size(120, 40);

button1.Text = “ここをクリック";

this.Controls.Add(button1);

Page 15: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

イベントの追加

~ イベント ~Windowsアプリケーションの構築

....

button1.AddOnClick(new System.EventHandler(button1_Click));

....

private void button_Click(object sender, EventArgs ev) {

MessageBox.Show("Hello Win Forms World!");

}

Page 16: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

複数のイベントのハンドリング

~ イベント ~Windowsアプリケーションの構築

Button button1 = new Button() ;

Button button2 = new Button() ;

....

button1.AddOnClick(new System.EventHandler(buttonClicked));

button2.AddOnClick(new System.EventHandler(buttonClicked));

....

//イベントハンドリングのメソッドprivate void buttonClicked(object sender, EventArgs ev) {

if (sender==button1) {

MessageBox.Show(“Button1が押されました!");} else if (sender==button2) {

MessageBox.Show(“Button2が押されました!");}

}

Page 17: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Windowsフォームデザイナ上でのドラッグアンドドロップによる開発

メニューエディタ

コントロールのダブルクリックによるイベントの追加

プロパティ ウィンドウによるプロパティの変更

Webサービスの参照

~ Visual Studio.NETによるサポート ~Windowsアプリケーションの構築

Server Explorerサポート

Page 18: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Webアプリケーションの構築

Webサービスの構築方法

ASP+を使用した方法

ATL Serverを使用した方法

Visual Studio.NETによるWebサービスのサポート ウィザードによる雛型の作成

開発者はロジック部分のインプリメントに集中できる

~Webサービスの構築~

Page 19: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Webアプリケーションの構築

AttributeによるWebメソッドの指定

Visual Basicの例

C#の例

~Webサービスの構築~

Public Function <WebMethod> TestMethod1 (....)

[WebMethod]

void TestMethod1 (....)

Page 20: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Webアプリケーションの構築

IDEによるサポート Server ExplorerによるWebサービスの指定 ソリューションにWebサービスを追加

IntelliSenseサポート

Webサービスに含まれるWebメソッドをIntelliSenseでサポートする

~Webサービスの使用~

Page 21: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

Webフォームデザイナ上でのドラッグアンドドロップによる開発

Linear Layout / Grid Layoutの選択

コントロールのダブルクリックによるイベントの追加

プロパティウィンドウによるプロパティの変更

Webサービスの参照

~Webフォームのサポート ~

Server Explorerサポート

Webアプリケーションの構築

Windowsフォームと同様の生産性を実現!

Page 22: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

データベースアプリケーションの構築

コンポーネント デザイナ

ADO+データ オブジェクトをビジュアルにデザイン

ADO+データセットを自動的に生成

XMLデザイナ

XMLデータとXSDスキーマをビジュアルにデザイン

高度なXML編集機能

~ Visual Studio.NETでのサポート ~

Page 23: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

データベースアプリケーションの構築

Webサービス/参照

Web上のXSDスキーマとデータセットの配信と読み込み

データフォームウィザード

WindowsフォームとWebフォーム上での構築

n階層及びクライアント/サーバーのサポート

~ Visual Studio.NETでのサポート ~

Page 24: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I

まとめ

Visual Studio.NETと.NET Frameworkは密接な関係にある

UIからサーバーコンポーネントまで全て.NET Frameworkで実現できる

.NET Frameworkをいちばん効率よく使用できる開発環境がVisual Studio.NETである

Page 25: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part I