「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
テクノロジやエンジニアリング関連のベネフィット創出
プロジェクト、プログラムの結果の過去情報をまとめる。
詳細 †
UIサブシステム †
概要 †
- 過去事例をみてみると、セグメント、ターゲットにハマっているかが重要と言える。
- また、昨今では、Webサービスなどで利用されることが≒トレンドに乗る条件と
なっているため、IDEなどにロックインされていないことが重要になってきている。
事例 †
- VB6のフォームアプリケーション
(その後の.NETのWindows Forms)
非常に高い生産性で、エンプラで多用されている。
- Webアプリケーション(MPA → AXAX)
- エンプラのWebアプリでは、コレがデファクト。
- また、Webサービスなどもコレでかい活されるケースはまだまだ多い。
- Web Forms(JSF)
柔軟な対応が可能なMVCが流行ってはいるが、
セグメント的にはハマる分野もまだまだ多い。
- Webアプリケーション(SPA)
- エンプラの生産性にリーチしないことがある。
- ミドルウェアなどの管理画面には使用される。
- スタートアップ後の成功したWebサービスなどで利用される。
(如何にエンドユーザにリーチするか?的な要件のコンテキストで)
- スマホ(ネイティブ)アプリ
- 基本的にSPAと同じだが、
- ネイティブなので、
- 性能的に優れている。
- ネイティブ・アクセス的に優れている。
テスト関連 †
概要 †
- 過去事例をみてみると、セグメント、ターゲットにハマっているかが重要と言える。
- テスト関連は、プラクティスなので、そのプラクティスが誕生したセグメント以外にはハマらない可能性がある。
事例 †
アーキテクチャ関連 †
概要 †
- 書籍レベルにまでなればいいが、組織内での取り組みは微妙。
- デザインパターンなど空気的な存在になってようやく効果が出てくる。
- マイナーな状態ではナカナカ効果が出てこない
(テンプレートやIDEなどのサポートがない状態では難しい)。
事例 †
- オブジェクト指向 分析/設計/プログラミング(OOA、OOD、OOP)
OOD、OOP辺りは空気化してイイ感じになっている。OOAは普及しなかった感。
- サービス指向(SOA)、マイクロサービス
しかし、SOAやマイクロサービス系は、理論をこねくり回したわりに、
Webメソッド実装できりゃーエエとかそのレベルになっている。
- ドメイン駆動設計(DDD)→ クリーンアーキテクチャ
DDDも≒クリーンアーキテクチャ位で落ち着くのが良いのかも知れない。
- クラウド・アーキテクチャ
- 主語がデカイのでは?オンプレをクラウドにもっていくなら変更は不要
- ただし、要件次第で、以下のような対応が必要になるケースは多い。
- クロスドメイン認証に対応
- WebAPIやDBのリトライポリシー策定&実装
参考 †
その他 †
トレンドは無視できない。 †
以下のような話で、結局、トレンドは無視できない。
- トレンドに乗ってない技術は、disconになってサポートが切れる。
- デマンドサイドのニーズとしても増えてくる。
ニッチ系は事業と深い関連が必要 †
- つまり、
- トレンド ≒ 外部要因であるが、
- ニッチ ≒ 内部要因である
と言うことになる。
成長可能な分野でないところに投資してもダメ †
- 例えば、垂直統合型のソフトウェア産業が斜陽化しているとする。
- そんな中で、クラウド(プラットフォーム)が出てきて、
焦って、垂直統合型スキームのまま投資しても勝てる訳が無い。
ライフサイクルは早くなってきている。 †
- SoRだけでなく、SoEでのIT利用が進み、
- 一応、技術は(基礎研究部分というより、応用部分が)、進歩していると言える。
- その結果として、ランタイム系のライフサイクルは短くなっている。
- なので、早いライフサイクルの中で、廃れない技術を見極め、ピックアップすることの重要性が高まっている。
- ただし、SPA系のフレームワークの栄枯盛衰をみると、予測不可能と思われるケースも多い。
- 事業的に、急いでいなければ、慌てず待つ。と言う選択肢を選択する事も重要になる。
参考 †
UI系 Subsystem & Framework †
- Windows Form vs WPF
- ASP.NET Web Forms vs ASP.NET MVC
- 従来型のWebアプリ vs SPA(Single-page Application)
- 様々なSPAフレームワーク
- ネイティブ vs ハイブリッド
開発ツール †
- IDE vs RAD vs EUC vs Template & Package (開発支援ツールの種類)
- ADO.NET vs ORM (Entity Framework, Dapper)
- SVN vs Git vs TFS
その他 †
- ASP.NET Forms認証 vs ASP.NET Identity
UIサブシステム関連 †
テスト関連 †
アーキテクチャ関連 †