1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

あなたは何を開発する?マルチプラットフォーム言語C#にできること

Pocket

はじめに

C#を使ってみようと考えていますか?
以前は、C#は基本的にWindows専用の言語でした。
しかし、現在ではC#はWindows・Mac・Linux・iOS・Androidなど、幅広いプラットフォームに対応する言語に成長しています。
これにより、C#ではより多くのことができるようになりました。

この記事では、C#初心者の方のためにC#にできることを紹介していきます。
ぜひご一読して、自分がやりたいことができるかチェックしてみましょう。

C#にできること

デスクトップアプリ開発

一番基本的な使い方は、デスクトップアプリ開発でしょう。
C#では、2つのGUIフレームワークがあり、フォームを使ったアプリを簡単に開発できます。
もちろん、コマンドプロンプトで動作するコンソール(CUI)アプリも作れます。

一つ目の「WinForms」は古くからあるGUIで、イベントドリブンプログラミングが特徴です。
統合開発環境である「Visual Studio」に用意されたフォームデザイナーを使って、ボタンやテキストボックス、チェックボックスなどをフォームに配置し、ボタンクリックなどのイベント発生時に実行したいことをプログラミングします。
直感的に開発できるため、初心者の方にオススメです。

二つ目の「WPF(Windows Presentation Foundation)」はWinFormsの欠点を解消するべく作られたGUIで、WinFormsよりも高度なグラフィック表現ができます。
画面の構成には専用の「XAML(Extensible Application Markup Language)」というXMLに似た専用言語を使います。
覚えることが多く、やや上級者向けです。
WPFは残念ながらあまり普及しませんでしたが、XAMLはWindows 10のストアアプリ(UWP)開発に引き継がれており、今後も使われ続けていくものと思われます。

上記の2つはWindows専用ですが、Xamarinというサードパーティ製(現在はマイクロソフトに買収されている)のフレームワークを使えば、LinuxやMacで動作するデスクトップアプリも開発できます。

ウェブサイト・ウェブサービス開発

もちろん、C#はウェブサイトやウェブサービスも開発できます。こちらも大きく分けて2つのフレームワークがあり、それぞれに特徴があります。
一つ目は「ASP.NET Web From」で、WinFormsのようにドラッグ&ドロップでウェブ画面をデザインできることが大きな特徴です。
スレートレスな(状態を持たない)ウェブの特性を意識させない設計になっており、状態(変数など)を引き継いだまま画面遷移できます。
生産性が高く、スピードを重視する比較的シンプルな開発に向いています。

二つ目は「ASP.NET MVC」で、その名の通りMVC(Model-View-Controller)アーキテクチャを採用しています。
画面とロジックを分離できるため、テストしやすいコードが書けます。
厳密なテストが必要な複雑なプロジェクトに向いています。
ウェブサービスの他、Web APIも開発でき、アプリのバックエンドとしても活用できます。

スマートフォンアプリ開発

前述のXamarinでは、AndroidやiOS、Windows Phoneのアプリ開発も可能です。
それぞれのプラットフォームで共通する部分はコードベースを共有することができ、
生産性が向上します。
もちろん、プラットフォーム固有の機能も扱うことができ、ネイティブコードにコンパイルされるので性能も心配いりません。また、ゲーム開発ツール(兼ゲームエンジン)のUnityを使えば、C#を使ったゲームアプリ開発もできます。
業界で広く使われており、入門書も多いので、初心者の方にオススメです。Android・iOS・Windows Phoneの他、Windows・Mac・Linuxにも対応しています。

VR・MRアプリ開発

今最先端の開発分野といったら、やはりVR(仮想現実)やMR(複合現実)でしょう。
VRは、HMD(ヘッドマウントディスプレイ)上に仮想空間を構築する方法で、ユーザーはあたかも別の世界にいるような錯覚を受けます。
デバイスとしては、PlayStation VRやOculus Riftが有名です。

一方、MRは現実世界に仮想空間を重ね合わせる方法です。
VRではユーザーの視界はすべて仮想空間ですが、MRではシースルーディスプレイやカメラを使うなどして現実と仮想を融合させます。
MRを実現するデバイスの代表格としては「HoloLens」が挙げられます。
VR・MRアプリは、どちらも前述のUnityで開発できます。
Unityはゲームエンジンですが、ゲームしか開発できないというわけではなく、アイディア次第でさまざまなアプリを開発できます。

まとめ

C#は長らく使われ続けており、プログラミング言語の人気ランキングでも常に上位にランクインしています。さまざまな使いみちがありますが、現在一番注目されているのはUnityによるゲームアプリ開発でしょう。
UnityではJavaScriptも使えますが、言語としてはやはりC#のほうが優れていると思います。
ゲーム開発に興味がある方は試してみてはいかがでしょうか?

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

プログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る