.NETのBCL、PCL、.NET Standard

BCL

https://ja.wikipedia.org/wiki/%E5%9F%BA%E6%9C%AC%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA
Base Class Library(基本クラスライブラリ)。
System.* (および限られた範囲の Microsoft.*) 名前空間を構成するライブラリのセット。

PCL

https://docs.microsoft.com/ja-jp/xamarin/cross-platform/app-fundamentals/pcl?tabs=windows
Portable Class Library。
クロスプラットフォームで動作するライブラリ。利用可能な環境の組み合わせをプロファイルと呼び、プロファイルごとに利用できるライブラリ機能が定義されている。
現在は非推奨であり、代わりに .NET Standard ライブラリ を勧められている。

.NET Standard

全ての.NET環境が持つべき機能の定義。
.NET Standardの定義に従ってBCLが実装される。

CJK

https://ja.wikipedia.org/wiki/CJK
https://kuxumarin.hatenablog.com/entry/2017/05/02/Xamarin.iOS_%E3%81%A7_System.NotSupportedException._%E3%81%A3%E3%81%A6%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E5%87%BA%E3%81%9F%E3%81%8B%E3%82%89%E8%A7%A3%E6%B1%BA%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F
中国語・日本語・朝鮮語 (Chinese-Japanese-Korean) の略称。

Encoding 932 data could not be found. Make sure you have correct international codeset assembly installed and enabled.

コードページ932=ShiftJISが無いというエラーのときに、CJKをONにしろという記事で知った単語。

MTP - メディア転送プロトコル

https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E8%BB%A2%E9%80%81%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB
WindowsにカメラとかをUSB接続するとドライブとして認識されるアレを処理しているプロトコル

.NET ファミリーいろいろ

.NET Framework

Microsoftが製造した非オープンソースの.NET環境及び、そのクラスライブラリ。
Windowsでしか動かない。

MONO / Xamarin

.NET Framework互換の環境をクロスプラットフォームで実現するためのオープンソース実装。
Linuxでも動作する。Android上で.NETのコードを動かす基盤となっているXamarinもMONOの一種。(AndroidもOSは基本的にLinuxなので)
Xamarinは、MonoTouchやMono for Androidの後継である。

.NET Core

MONOより後発の.NETオープンソース実装。
Windowsのための.NET Frameworkと異なり、最初からクロスプラットフォームで動作するようAPIが設計されている。

.NET Standard

「.NET標準API仕様」とでも言うべきもので、.NET実装が最低限持っているべきAPIを定義している仕様。
これは実装ではなく、いわばオブジェクト指向言語インターフェイスのようなもの。
.NET Standard向けに開発したコードはどの実装でも動く(ハズ)。