WinForms 業務SE のための ASP.NET 生存ガイド — 全10回完結 (目次)

みなさんこんにちは!ヒロポンです!!

「来週から ASP.NET 案件アサインね」と言われて、画面の前で固まったこと、ないですか??

WinForms で 5 年やってきた業務 SE が、いきなり Web 案件に放り込まれる。

Razor とか IIS とか routing とか、別世界の単語が一気に押し寄せてくる。

X 見てると、流通系・金融系の SES から「来月から Web 案件、頼むね」って言われて凍ってる業務 SE、ほんま多い。あーー、みんな同じ顔してるんだなーって思いますよ。

連載「WinForms 業務SE のための ASP.NET 生存ガイド」は、その瞬間に開く 1 本目として書きました。全 10 回完結のシリーズです。

私自身、流通系 SIer で WinForms から ASP.NET MVC 5 案件に放り込まれた時、最初の 2 週間で踏んだ罠と、踏まずに済んだ判断軸を全部まとめてあります。

今回 (Root) は連載の目次です。2 週間で恥かかない 4 ステップに各章をマッピングして、業務 SE が「どこから読むか」「何を飛ばすか」を決められるように組みました。

目次

忙しいあなた向けに最初にまとめ

  • ASP.NET MVC 5 案件を 2 週間でキャッチアップする最短ルートは、①環境作る ② ADO.NET 触る ③ Todo アプリ作る ④ ハマり先取りの 4 ステップ
  • 連載全 10 章を 4 ステップに対応させた早見表 (中盤の compare-table) で、業務 SE は読む順番を 3 分で決められる
  • Razor / DI / IIS は 後回しでいい。動くものを自分の手で 1 つ作るのが「恥かかない最低限」の最短ルート (私の流通系 SIer 時代の実体験ベース・案件初週で習得)
  • 朝礼で「ASP.NET 案件入ったが、ここを 2 週間で押さえる」と言える弾薬として、今回の 10 章マップを 1 枚化したのがこの目次

以上!!!

誰のための連載か

今回の連載は、以下のような業務 SE 向けに書いてあります。

  • WinForms 経験 3 年以上、業務系の基幹システム保守チーム経験あり
  • C# 7.3 / .NET Framework 4.7.2 / SQL Server 2016 / Oracle 12c の世界で生きてきた
  • ASP.NET は触ったことがない or 学生時代に触ったきり
  • 現場で「来週から ASP.NET 案件」と言われて、家で 2 週間で何をするか迷ってる
  • モダンな .NET 8 + Blazor + Tailwind の世界はまだ要らない。業務系のレガシー Web 案件を回せるレベルが欲しい

私自身、流通系 SIer で WinForms 5 年やった後、ASP.NET MVC 5 (.NET Framework 4.7.2 系) のリプレース案件に入った経験があります。

連載はその時の「2 週間で何を押さえれば DBA や元 PG リーダーに『あいつ大丈夫か??』と思われずに済むか」を逆算した内容です。

最先端の .NET 8 + Minimal API とか、Blazor Server とかは触れません。Razor も、業務系で使う最低限まで。捨てる判断が連載の通奏低音です。

連載 10 本の俯瞰 — 2 週間で恥かかない 4 ステップに対応する読み順

連載は 10 章ありますが、業務 SE が 2 週間で消化する読み順で並び替えると、こんな感じ。

業務SE が 2 週間で ASP.NET を恥かかないレベルまで押さえる 4 ステップフロー — 各ステップで読むべき連載 child を併記

Razor / DI / IIS デプロイは Step ④ まで来てから読めば十分。

最初の 1 週間は環境構築と ADO.NET だけで終わるくらいの粒度で進めてください。

これ、煽りなしの実体験ベースです。1 週目は環境と ADO.NET だけ、2 週目で Todo を組みながらハマりを潰す。こんな感じのリズム。

通奏低音 3 軸 — 連載全章で繰り返し出てくる判断軸

10 章を貫いてる軸が 3 つあります。

これを最初に押さえておくと、各 child を読む時の咀嚼速度が変わります。

軸① HTML レイヤーか ASP.NET レイヤーかの分離思考

ASP.NET でハマった時、最初にやるべきは「今のエラーは HTML 側か ASP.NET 側か」を切り分けること。

これだけで原因切り分けが半分終わります。

たとえば「ボタン押しても画面が動かない」時、HTML 側 (form タグの action 属性 / submit) と ASP.NET 側 (Controller のメソッドが呼ばれているか) を別々に検証する。

WinForms の Designer がない世界では、この分離思考が判断軸の柱になります。

軸② 困ったらミニマム検証

業務 SE が本番事故を起こさないための鉄則です。

「再現する最小コードを書く」

何かハマった時、案件のコード一式で再現しようとしないで、新規プロジェクトで 10 行のサンプルから組み上げる。

これだけで原因 8 割が見えてきます。

連載 child の各章で「最小サンプル」のコードブロックを必ず置いてあるのは、この軸を実演するため。コピペで動く 10-20 行を業務 SE の手元に置きます。

軸③ 生 HTML + CSS → そこに Razor 式を入れていく

UI 構築は、いきなり Razor を書こうとしない

まず生の HTML + CSS で見た目を組んで、それから C# 変数の差し込み箇所に @変数 を入れていく。

これが私の流通系 SIer 時代から変わらない流儀で、WinForms の Designer 操作を頭の中で HTML 構造に投影する練習法にもなります。

X で同業から「Razor 触り始めた瞬間に画面が崩れる」って話を何度か聞いたことがあるんですが、これは大抵 HTML 側のマークアップを後回しにして Razor 式を先に書いてるパターン。

逆の手順でやるとほぼ崩れません。

全 10 章の早見表 — 通奏低音 × 4 ステップで整理

ASP.NET 連載 10 章早見表 — 通奏低音 3 軸と 2 週間 4 ステップで章ごとに整理

合計読了時間は約 116 分。

2 週間で消化する想定なら、1 日あたり 8-9 分。朝の電車の中で 1 章ずつでも回せる粒度です。

Step ① 環境作る — 連載 child #1, #2

ASP.NET 案件アサインを受けたら、まず手元の VS 2019 (or 2022) で「ASP.NET Web アプリケーション (.NET Framework)」テンプレートからプロジェクトを 1 個作ります。MVC を選択。

これだけで動く Web プロジェクトが起動する状態を作るのが Step ①。

ここで業務 SE が一番戸惑うのが「Form がない、Designer がない」。

WinForms の感覚だと「ボタン置いてダブルクリックでイベント書く」だったのが、Razor View (HTML) と Controller (C#) に分かれます。

この 2 本を読んでから VS で 1 プロジェクト作ると、「あ、これ Form_Load と一緒や」という腹落ち感が来ます。

所要時間 1 日 (実質 30 分の作業 + 90 分のコード理解)。

Step ② ADO.NET 触る — 連載 child #4

環境ができたら次はデータアクセス層。

ここで業務 SE が誘惑されるのが 「Entity Framework Core 入れた方がモダンっぽいかな…」 という思考なんですが、入れなくていい

業務系の ASP.NET MVC 5 案件では、DataAdapter + DataTable + 生 SQL の世界でほぼ回せます。

WinForms 時代の知識がそのまま流用できる。Step ② はそれを確認するフェーズです。

X で見た現場の声で「読み込みは Dapper、作成・削除は EF6 のまま」というハイブリッド運用してる業務系チームの話、結構あるんですよね。

連載 #4 はその判断を業務 SE 視点でフォローした記事です。

EF6 → EF Core 移行の落とし穴 (LINQ 抽象化が本番の足を引っ張る) も同業から何度か聞いたことがあって、業務系では EF6 のまま運用が現実解という結論にしてます。

Step ③ Todo アプリ作る — 連載 child #3, #5, #6

環境と ADO.NET が触れるようになったら、Todo アプリの最小機能 (一覧 / 追加 / 削除) を自分で作ってみる。これが Step ③。

この 1 個のアプリを作る過程で、ASP.NET MVC 5 の主要 4 要素 (Form↔View / Controller / Routing / DataAccess) が全部 1 巡します。

本やドキュメントで章ごとに学ぶより、動くものを 1 個作る方が業務 SE には早い

Todo アプリは 3-5 日で組めるはず。

組む過程で 「自分がハマりそうなポイント」 が自然に浮かび上がります。

それを Step ④ で先に潰しに行きます。

Step ④ ハマり先取り — 連載 child #7, #8, #9

Todo アプリを組んでて「あれ、なんかボタン押しても画面が動かないんだけど??」となった時に開く章群です。

本番に出てから踏むと信頼回復コストが重いので、Step ③ の段階で先取りして潰しておくのがコツ。

連載 #7 (CSS) は私の流通系 SIer 時代の本番事故ベースで書いた章です。

ブラウザキャッシュで「直してデプロイしたのに直ってない」と業務側に電話で謝った経験を晒してます。

同じ事故、X で見ててもほんま多い。Step ④ で先取りしておく価値があるやつ。

連載読破した方向けの次ステップ

連載 10 本を読破して Todo アプリが組めるようになったら、業務 SE としての「ASP.NET 案件を回せる最低限」はいい感じに到達してます。

次に進むなら 2 方向あります。

(A) 技術軸の次連載へ: 次の連載「TypeScript Web 生存ガイド」を準備中です。C# 業務 SE が TypeScript + Web フロントの世界に踏み込む時の壁を 5 つに分けて、連載 #1 から順次公開予定。csproj と tsconfig.json の対応関係から入る予定です。

(B) キャリア軸: ASP.NET MVC 5 が触れる業務 SE は、業務系 SIer / 受託 / SES の市場で単価レンジが見えやすい人材。次のステップとして案件単価交渉や転職を考えてるなら、業務 SE のキャリア軸記事も書いてます (関連記事末尾参照)。

ASP.NET 連載は 「ASP.NET 案件で恥かかない」までを担保した連載です。

その先 (.NET 8 / Blazor / Tailwind / マイクロサービス) は別連載で扱う予定。

捨てる判断 + 段階構築は連載の通奏低音そのものなので、ここで一旦区切るのも作戦のうち、ということで。

まとめ

ASP.NET MVC 5 案件アサインを受けた業務 SE が 2 週間で恥かかないレベルまで到達するには、①環境作る ② ADO.NET 触る ③ Todo アプリ作る ④ ハマり先取りの 4 ステップを順に踏むのが最短ルートです。

連載全 10 章を 4 ステップに対応させた早見表 (中盤に置いた compare-table) を見て、業務 SE は「今どの章を読むべきか」を 3 分で決められるようにしました。

Razor / DI / IIS は後回しで OK。動くものを自分の手で 1 個作るのが最初の優先事項です。

朝礼で「ASP.NET 案件入ったが、2 週間でここを押さえる」って言える弾薬として、この目次ページを業務 SE の手元に 1 枚化しました。

連載読破後の次連載 (TypeScript / Web 生存ガイド) は近日公開予定なので、合わせて手元に置いてもらえると、業務系 SES から Web 軸への横展開で先回りできます。

よくある質問

Q1.連載は順番通り (#1 → #9) に読むべきですか?

A. 順番通りでも良いんですが、業務 SE には 「2 週間 4 ステップ」順で読むのを推奨します (今回の早見表参照)。具体的には #1 → #2 → #4 → #3 → #5 → #6 → #7 → #8 → #9 の順。ORM (#4) を Routing (#3) より先に読むことで、Step ② → ③ の流れに沿った頭の整理になります。

Q2.ASP.NET Core 5/6/8 に飛ばずに、なぜ MVC 5 (.NET Framework 4.7.2) なんですか?

A. 業務系の現場で実際に動いてるレガシー資産が ASP.NET MVC 5 (.NET Framework 4.7.2) 中心だから、です。流通系・金融系の SIer で 2020 年前後に作られた業務 Web 案件は、ほぼこの世代。.NET Core 5 / 6 / 8 への移行案件はまだ「次フェーズの話」のところが多い。業務 SE が 今アサインされたら直面する技術スタックから書いてあります。.NET 8 へのジャンプは別連載で扱う予定。

Q3.Razor を触らずに ASP.NET 案件は回せますか?

A. 完全には回せませんが、連載 #1 (Form ↔ Razor View) + #2 (Controller) の 2 章だけで Razor は最低限の読み書きができるようにしてあります。Razor の全機能 (Helper / Section / Layout の応用) を覚えなくても、業務系画面なら 8 割は組める粒度です。深く掘り下げたければ連載読破後に Microsoft Learn の Razor 構文ドキュメントを参照すれば十分。

執筆者

ヒロシ — 業務 SE 7 年 (正社員 2 / フリーランス 5)。現職は SEO 直轄部の AI アドバイザー兼 PL、副業で中小 SIer の CTO。SES 複数社・フリーランスエージェント複数経由の経験ベースで「業務 SE 視点」の技術 + キャリア記事を書いています。

🐦 X: @hiro_progra0524 (日々の現場メモ更新中)
📝 About Me で経歴詳細を見る

連載全 10 章 + 関連記事

連載「WinForms 業務SE のための ASP.NET 生存ガイド」全 10 章 (この記事は #0 Root):

以上!

連載読破した方、ASP.NET MVC 5 案件で迷ったらいつでもこの目次に戻ってきてください。どんどんシェア待ってるぜ!!

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

どんどんシェア待ってるぜ!!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次