.NET Framework の新機能を超簡単に説明する

  • 22
    いいね
  • 0
    コメント

以前「.NET Frameworkのバージョン対応表」という記事を書いたのですが、「新機能」に書かれているものが何なのか分かりづらかったので超簡単にまとめてみました。

本当に超簡単な説明しかありませんので、詳細を知りたい方はリンク先を参照してください。

.NET Framework バージョン対応表

.NET Framework Visual Studio C# 新機能
1.0 2002 1.0 -
1.1 2003 1.2 ODBCとOracle Database用のデータ接続
IPv6
2.0 2005 2.0 64ビットシステム
.NET Micro Framework
ジェネリック
イテレータ
3.0 2005 2.0 WPF・WCF・WF・WCS
3.5 2008, 2010 3.0 ASP.NET MVC
ASP.NET AJAX
LINQ
ラムダ式
暗黙的型付け(var)
4 2012 4.0 F#言語
Dynamic Language Runtime
MEF
Velocity
Windows タッチ
ADO.NET Entity Framework
Parallel Extensions(Parallel/PLINQ)
dynamic型
オプション引数/名前付き引数
4.5 2013 5.0 Windowsストアアプリ
非同期プログラミング(async/await)
4.6 2015 6.0 RyuJIT
.NET Native
Roslyn
Caller Info
4.7 2017 7.0 Windows Formsの高DPI
WPFのタッチ
拡張された暗号
タプル
パターンマッチング
Core 1.0 2015 Update 3 6.0 ASP.NET Core
オープンソース化
Mac/Linux/iOS/Android対応
Core 1.1 2015 Update 3, 2017 6.0 1380個のAPI追加
Core 2.0 2017 Preview 15.3 7.0 .NET Standard 2.0対応
ASP.NET Core 2.0

.NET Framework 1.1 の新機能

ODBCとOracle Database用のデータ接続

標準的なリレーショナルデータベース接続に対応。

IPv6

OSI 参照モデルにおいてネットワーク層に位置付けられるプロトコルです。
IPv4 よりも多くの IP アドレスを使用することができます。

.NET Framework 2.0 の新機能

64ビットシステム

現在の主流となっている 64 ビット版の Windows に対応。

.NET Micro Framework

小型組み込み機器向けに開発された .NET Framework です。
バージョン4.0からはオープンソース化され、GitHub で公開されています。
http://netmf.github.io/

ジェネリック

型をパラメータとして与え、その型に対応したクラスやメソッドを生成する機能です。
https://msdn.microsoft.com/ja-jp/library/512aeb7t.aspx

イテレータ

イテレータまたは反復子と呼ばれ、配列やコレクションにおいて次の要素へアクセスする機能です。
https://msdn.microsoft.com/ja-jp/library/dscyy5s0(v=vs.90).aspx

.NET Framework 3.0 の新機能

WPF(Windows Presentation Foundation)

「Windows Forms」に代わる新しい UI サブシステムです。
ビュー部分は C# や VisualBasic ではなく XAML(ザムル) と呼ばれるマークアップ言語で記述します。
https://msdn.microsoft.com/ja-jp/library/aa970268(v=vs.110).aspx

現在では、さらに新しい UI サブシステムである UWP(Universal Windows Platform) が登場しています。
https://msdn.microsoft.com/ja-jp/windows/uwp/get-started/whats-a-uwp

WCF(Windows Communication Foundation)

Webサービス、.NET Remoting、Distributed Transactions、メッセージキュー(MSMQ) を統合した新しい通信サブシステムです。
https://msdn.microsoft.com/ja-jp/library/dd456779(v=vs.110).aspx

WF(Windows Workflow Foundation)

ワークフローを定義・実行・管理するための技術です。
https://msdn.microsoft.com/ja-jp/library/dd489441(v=vs.110).aspx

WCS(Windows CardSpace)

ID管理するための技術です。
https://msdn.microsoft.com/ja-jp/library/aa480189.aspx

.NET Framework 3.5 の新機能

ASP.NET MVC

「ASP.NET Webフォーム」に代わる新しい Web アプリケーションを開発するためのフレームワークです。
https://www.asp.net/

ASP.NET AJAX

Web アプリケーション上で AJAX(Asynchronous JavaScript + XML) を利用するための機能です。
https://msdn.microsoft.com/ja-jp/library/bb398874(v=vs.100).aspx

[C# 3.0]LINQ(Language Integrated Query)

リレーショナルデータベース、XML、コレクションなどの様々なデータソースに対して、共通の文法で問い合わせが可能な機能です。
https://msdn.microsoft.com/ja-jp/library/bb397676.aspx

[C# 3.0]ラムダ式

メソッド定義を式として扱える機能です。
https://msdn.microsoft.com/ja-jp/library/bb397687.aspx

[C# 3.0]暗黙的型付け(var)

型推論による暗黙的型付けする機能です。
https://msdn.microsoft.com/ja-jp/library/bb384061.aspx

.NET Framework 4 の新機能

F#言語

OCaml をベースに開発された関数型とオブジェクト指向のマルチパラダイム言語です。
https://msdn.microsoft.com/ja-jp/library/dd233154(v=vs.110).aspx

Dynamic Language Runtime

Ruby や Python などの動的言語を .NET Framework 上に実装可能です。
https://msdn.microsoft.com/ja-jp/library/dd233052(v=vs.110).aspx

MEF(Managed Extensibility Framework)

拡張可能なアプリケーションを開発するためのフレームワークです。
https://msdn.microsoft.com/ja-jp/library/dd460648(v=vs.110).aspx

Velocity

分散キャッシュAPIです。

Windows タッチ

タッチパネル操作を利用したアプリケーションを開発できます。
https://msdn.microsoft.com/ja-jp/library/windows/desktop/dd562197(v=vs.85).aspx

ADO.NET Entity Framework

オブジェクト指向プログラミングとリレーショナルデータベースを利用したアプリケーションを開発するためのフレームワークです。
https://msdn.microsoft.com/ja-jp/library/bb399572(v=vs.110).aspx

[C# 4.0]Parallel Extensions(Parallel/PLINQ)

並列プログラミング機能を簡単に記述できるプログラミング機能です。
https://msdn.microsoft.com/ja-jp/library/dd460693(v=vs.110).aspx

[C# 4.0]dynamic型

実行時に変数の型を決定する機能です。
https://msdn.microsoft.com/ja-jp/library/dd264736.aspx

[C# 4.0]オプション引数/名前付き引数

メソッドの引数にデフォルト値を指定したり、名前を付けることができる機能です。
https://msdn.microsoft.com/ja-jp/library/dd264739.aspx

.NET Framework 4.5 の新機能

Windowsストアアプリ

Windowsストアで配信可能なアプリを開発することができます。
https://developer.microsoft.com/ja-jp/windows/

[C# 5.0]非同期プログラミング(async/await)

非同期プログラミングを簡単に記述できるプログラミング機能です。
https://msdn.microsoft.com/ja-jp/library/hh191443.aspx

.NET Framework 4.6 の新機能

RyuJIT

新しい JIT コンパイラです。
コンパイル時間が短縮され、パフォーマンスが向上しています。

.NET Native

.NET言語で開発されたプログラムをネイティブ化することができます。
https://msdn.microsoft.com/ja-jp/library/dn807190(v=vs.110).aspx

.NET Compiler Platform

.NETコンパイラープラットフォームです。
開発コードネームは「Roslyn(ロズリン)」と呼ばれていました。
https://github.com/dotnet/roslyn

[C# 6.0]Caller Info

C++ でいうところの「__FILE__」「__LINE__」マクロのような呼び出し元情報を取得するためのプログラミング機能です。
https://msdn.microsoft.com/en-us/library/mt653988.aspx

.NET Framework 4.7 の新機能

Windows Formsの高DPI、WPFのタッチ、拡張された暗号などがサポートされました。
https://github.com/Microsoft/dotnet/blob/master/releases/net47/README.md

[C# 7.0]タプル

タプルは複数のオブジェクトを一つのオブジェクトにまとめることができる構文です。
これによりメソッドが多値戻り値を返すことができるようになりました。
https://github.com/dotnet/docs.ja-jp/blob/master/docs/csharp/tuples.md

[C# 7.0]パターンマッチング

is 演算子と switch 文が拡張され、型による分岐と分解ができるようになりました。
https://github.com/dotnet/docs.ja-jp/blob/master/docs/csharp/pattern-matching.md

.NET Framework Core 1.0 の新機能

ASP.NET Core

Web アプリケーションを開発するための新しいフレームワークです。
開発コードネームは「ASP.NET MVC 5」と呼ばれていました。
https://docs.asp.net/en/latest/

オープンソース化

「.NET Core」「ASP.NET Core」「.NET Compiler Platform」「Visual Studio Code」「PowerShell」などがオープンソース化され、GitHub で公開されています。

Mac/Linux/iOS/Android対応

これまで Windows 以外の環境で .NET アプリケーションを動作させるには互換環境である「Mono」を利用するのが一般的でした。
「.NET Core」では正式に Mac、Linux、iOS、Android に対応しています。

.NET Framework Core 1.1 の新機能

新たに 1380 個の API が追加されました。
.NET Framework Core 1.1 では .NET Standard 1.6 がサポートされています。
https://github.com/dotnet/core/blob/master/release-notes/1.1/1.0-1.1-api-diff/1.0-1.1-api-diff.md

.NET Framework Core 2.0 の新機能

.NET Standard 2.0 がサポートされ、大幅に API が追加されます。
https://github.com/dotnet/standard/tree/master/docs/netstandard-20

Announcing ASP.NET Core 2.0.0-Preview1 and Updates for .NET Web Developers
https://blogs.msdn.microsoft.com/webdev/2017/05/10/aspnet-2-preview-1/