Insider.NETの歩き方(2016年度版):特集:フレッシュマン企画
新人プログラマーの皆さんを主な対象として、これからプログラミングの世界に飛び込もうという方々の役に立ちそうな記事をピックアップして紹介する。
本フォーラム「Insider.NET」は.NET技術を中心に数多くの記事を公開している。本稿では、新人プログラマーの皆さんを主な対象として、これからプログラミングの世界に飛び込もうという方々の役に立ちそうな記事をピックアップして紹介する。いわばInsider.NET内の「方向掲示板」のようなものだ。
ここでは以下のカテゴリに分けて、本フォーラムの記事を紹介していこう。自分の仕事に関係のありそうな分野/言語、興味のある分野/言語などに応じて記事を読んでほしい。
- 開発環境/エディタ
- プログラミング言語
- アプリ開発
- データベース技術
- その他
以下で紹介する記事の中では、画像を掲載しているか(そのものズバリ)[オススメ]表記を入れてある連載/特集が特にオススメだ。まずはそれらに目を通して、徐々にその他の記事にも手を伸ばして、さらに深い知識や最新情報を手に入れるようにしよう。
1. 開発環境/エディタ
本フォーラムは基本的に.NET開発者の方々を対象としている。そんな開発者にとって最も身近な開発環境といったらもちろんVisual Studioだ(以下、VS)。その一方で、最近ではWebアプリ開発のみならず、さまざまな分野でJavaScript/HTML5/CSSなどのいわゆる「Web標準技術」が活用されるようになっている。これらを使う開発者に向けてマイクロソフトが提供しているのがVisual Studio Codeだ(以下、VS Code)。それぞれにオススメの連載/特集記事を紹介しよう。
簡単! Visual Studio 2015入門:マイクロソフト技術にずっぽり浸るなら!
マイクロソフトが全ての開発者に向けて提供するフル機能の開発環境がVSだ。C#やVisual Basic、.NET Frameworkなどマイクロソフト技術を使ってアプリ開発を行うことはもちろん、JavaScriptやPythonなど、マイクロソフト以外の世界の技術や言語のサポートも手厚く行われている。Windowsを開発マシンとして作業をするならVSが絶対のオススメといえる。
「簡単! Visual Studio 2015入門」ではVSを利用したWindowsアプリ開発の基本を紹介している。これまでにVSに触ったことがない、これからWindowsアプリ開発に取り組むという方にはオススメの連載だ。
Visual Studio Code早分かりガイド: Web標準技術を使うユーザーはこちら!
VS Codeはマイクロソフトが提供するテキストエディタだ。VSほど豊富な機能はないがその分軽量で、しかもプログラマーにとって必要となる機能は一式そろっている。また、Mac OS XやLinuxでも動作する。
「Visual Studio Code早分かりガイド」では、その基本知識からGitとの連携、デバッグ方法、拡張機能(エクステンション。VS Codeの機能を拡張する小規模なプログラム)などを紹介している。なお、本稿執筆時点(2016年5月9日)ではVS Code 1.0リリースに合わせて記事の改訂を進めているところだ。
2. プログラミング言語
.NET開発でよく使われるプログラミング言語はC#とVisual Basicの2つだ。さらに最近ではJavaScriptやその機能拡張版であるTypeScriptも存在感を増している。これら3つの言語を学ぼうという方には以下の連載/特集をオススメする。
C#関連連載/特集: やるならやっぱりC#!
C#プログラミングに興味のある方は次の2つの連載に目を通していただきたい。どちらの連載も分量はかなりある。頭から順に読んでいってもよいが、自分が知りたいことや、理解があやふやなところに的を絞ってもよい。
[オススメ] 連載:究極のC#プログラミング(全22回)
この連載ではC# 2.0/3.0で追加されたジェネリクス/ラムダ式/拡張メソッド/LINQなど、現在のC#プログラマーには必須の知識ともいえる機能について解説している。
これらを読み終えた、あるいは十分な知識を積んだら、以下の記事を読み進めていくと最新の技術までをキャッチアップできるだろう。
- 「連載:C# 4入門」: C# 4の新機能をカバーしている
- 「async/await非同期メソッド入門」「Visual Studio 2012の新機能」: C# 5.0の新機能について書かれている
- 「2015年に到来する大変革「次期.NET/ASP.NET/Visual Studio、Windows 10」に備えよう」: C#の現行バージョンであるC# 6についてのセッション内容を含んでいる
C# 6については兄弟サイト「Build Insider」の「C# 6.0で知っておくべき13の新機能」「C# 基礎文法【6.0対応】」などもオススメだ。
改訂版 プロフェッショナルVB.NETプログラミング:もう1つの代表的な.NET言語
VBに興味のある方は以下の連載を読んでおくとよい。対象としているのは.NET用にマイクロソフトが開発したVB(VB.NET)だ。
ただし、この連載は古いバージョンを扱ったものなので、以下の記事にも目を通しておくとよい。
- 「Visual Basic 2010の新機能」
- 「Visual Studio 2012の新機能」
- 「連載:C# 5.0&VB 11.0新機能「async/await非同期メソッド」入門」
- [オススメ]「Visual Basic 14の新機能ベスト10」
TypeScriptで学ぶJavaScript入門:C#やVBじゃなくWeb標準技術ベースで開発を!
上述したように、現在ではJavaScriptも幅広い分野で使われるようになっている。.NET技術を使ってWebアプリを開発する際にもJavaScriptに関する知識は必須といってもよいくらいだ。その一方で、C#やVisual Basicに慣れたプログラマーにとって、JavaScriptの世界には少し異質な部分もある。こうした中で、JavaScriptに静的型/クラス構文/インタフェースなど、.NETプログラマーになじみのある拡張を施したプログラミング言語としてマイクロソフトが提供しているのがTypeScriptだ。TypeScriptについては以下の連載がオススメだ。
この他にもJavaScript関連の記事としては以下のようなものがある。興味がある方はぜひご覧になってほしい。
- 「特集:C#×JavaScript」: 主にC#プログラマーを対象にECMAScript 6(JavaScriptの次世代バージョンの言語仕様)の新機能を説明
3. アプリ開発
一口にアプリ開発といっても、Windows PCで動作するアプリもあれば、WebブラウザをターゲットとするWebアプリ、それから大きな勢いで増加しつつあるモバイルアプリなど、その種類はさまざまだ。本フォーラムではアプリ開発に関して以下のような連載/特集がある。古い記事が多くなっているが、WindowsフォームやWPFの基本は変わっていないので、今でも役に立つはずだ。
Windowsデスクトップアプリ:Windows向け業務アプリ開発の大本命!
ビジネスで使われているPCの大半でWindowsが動作していることを考えると、Windowsのデスクトップアプリはこれからも開発/保守が続けられていくだろう。そのために必要な知識は以下の連載/特集で入手しよう。
- 「連載:Windowsフォーム開発入門【Visual Studio 2010対応】」: Windowsフォームアプリを開発するための基礎知識を紹介
- [オススメ] 「特集:UWPとは何か」: Windows 10で新たに登場したプラットフォームであるUWP(Universal Windows Platform)用のアプリ開発の概要を解説
Windowsフォームは今でも根強い人気がある、Windowsアプリ開発フレームワークだ。シンプルな構造なので、C#の勉強がてら取り組むにもよいだろうし、広く使われているので、実際の仕事でも手掛けることが多いかもしれない。UWPはマイクロソフトが強力に推している新しいアプリ開発プラットフォームだ(その前身はWindows 8で登場したWindowsストアアプリ)。今後、どれだけUWPが普及するかは未知数だが、Windows 10以後の世界を見据えて、どんなものか概要を知っておいてもよいだろう。
もう1つ、WPFと呼ばれるフレームワークもある。WPFアプリ開発に関する知識は、UWPアプリ開発でも役に立つ。これについては「連載:WPF入門」を参照されたい。
Webアプリ: .NET Frameworkを使ってWebアプリ開発!
.NETの世界ではASP.NETと呼ばれるフレームワークを用いて、Webアプリ開発を行う。特に昨今ではMVC(Model−View−Controller)と呼ばれるアーキテクチャに従ったWebアプリ開発が一般的になりつつある。ASP.NETでこれを行うためのフレームワークがASP.NET MVCだ。そのための基礎知識を仕入れる記事としては、少々古いものになるが以下がある。
- 「連載:ASP.NET MVC入門(バージョン3対応)」
- 「特集:ASP.NET 4概説」「特集:ASP.NET 4.5新機能概説」: ASP.NET 4/4.5の情報を掲載
現在のASP.NET MVCのバージョンは5となっている。これについては兄弟サイトのBuild Insiderの「書籍転載:ASP.NET MVC 5 実践プログラミング」が参考になる。
なお、ASP.NETはWindowsだけではなく、OS XやLinuxなど、多くのプラットフォームをサポートするものとすべく、「ASP.NET Core」と呼ばれるオープンソースプロジェクトとして現在活発に開発が行われている(現在はRC2=Release Candidate 2=リリース候補その2が登場している段階だ)。本フォーラムでもASP.NET Coreがリリースされたら、いろいろと記事を提供していく予定だ。
クロスプラットフォーム開発:VSとApache Cordovaでモバイルアプリ開発!
この他、本稿執筆時点(2016年5月9日)で連載中の記事としては、Apache Cordovaと呼ばれるJavaScriptベースのフレームワークを使用したAndroid/iOSアプリ開発の入門記事もある。
この連載ではVS初心者を対象に、Apache Cordovaのインストール、アプリの基本構成、実際のコーディング、リソースやライブラリの活用方法など、モバイルアプリ開発の初めの一歩を踏み出すための知識を説明している。
なお、Webアプリ/デスクトップアプリ/Windows Phoneアプリの開発ではSilverlightと呼ばれる技術も使われている。前述のWPFおよびSilverlightを仕事で使用するのであれば「WPF/Silverlight UIフレームワーク入門」や「連載:次世代技術につながるSilverlight入門」を参考にしていただきたい。ただし、Silverlightについてはそのサポート期限が2021年10月となっていることから、新規にSilverlightでアプリ開発を行うといったことはないだろう。
4. データベース関連技術
データベースについては以下の連載記事がある。
Entity Frameworkは.NET Frameworkで利用可能なデータベースアクセス技術だ。現在のバージョンは6であり、後継バージョンであるEntity Framework Core(旧称:Entity Framework 7)についても開発が活発に行われている。上記連載は古いバージョンを扱うものだが、Entity Frameworkの基礎概念を学ぶには役立つはずだ。
5. その他
本フォーラムではこの他にも多くの記事を公開しているが、その中で読んでおくとよい記事を以下に列挙しておこう。
- [オススメ] 「.NETとは何か?」: .NETの基礎概念を説明。.NETについて概要を把握したい人向け
- 「.NET 2015とは何か」: さまざまなプラットフォームを対象とした新たな.NETの世界について概要をまとめてある
- 「.NET TIPS」: C#/VB/VSなどで開発する際に役立つTIPS集。最近はJavaScriptも取り上げるようになっている
- 「WinRT TIPS」: WindowsストアアプリやUWPアプリ開発で役立つTIPS集
- [オススメ] 「Dev Basics/Keyword」: 開発者が気になるあんな用語やこんな用語を数多く解説(していく予定)
このうち、TIPS集についてはインデックスページで興味ある題材を探してもよいが、多くのものはGoogle検索などで見つかるはずだ。開発時に「ん? どうだっけ?」と思ったら、適当なキーワードを入れて探して検索してみてほしい(そして、願わくは本フォーラムのTIPS集に飛んできてくだされば幸いだ)。
「.NETとは何か?」と「.NET 2015とは何か」は少々古いが、Windowsを(主要な)ターゲットとしていた.NETの概要、Windows以外のOSをも取り込もうとしている.NETの概要を知るためのものだ。深い理解を得たい方にオススメだ。
最後のDev Basics/Keywordでは、開発者の方が気になるキーワードを順次取り上げて、その概要をコンパクトにまとめてお届けする連載記事だ。プログラミング言語を取り上げると反応がよいため言語紹介が多くなっているが、より広範な分野のキーワードも随時取り上げていく予定だ。
オススメ記事の紹介はここまでだ。拾い読みでもよいし、Windowsフォームアプリ開発の記事を読みながら、「ん?」となったところでC#の入門記事を読んでもよいし、時間がたっぷりあればヘビーな連載を頭から読んでいっていただいても構わない。皆さんの仕事や興味、状況に合わせて、本フォーラム内をさまよい歩きながら、どんどんと知識を吸収していっていただければ幸いだ。
少々古い記事が多くなってしまっていることに反省しきりで筆を置くことにしよう(なるべく多くの記事をアップデートしていきたいと思います。ハイ)。
Copyright© Digital Advantage Corp. All Rights Reserved.