「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>技術]]

*目次 [#z496696f]
#contents

*概要 [#lfc90bf2]
-定義を明確にするためメモ。

-現時点で明確な定義は無いが、
--案件レベルで作成した、
--質の低い独自実装の

>フレームワーク全般を指す用語と思われる。

-自作フレームワークとも呼ばれる。

*詳細 [#j0892686]

**オレオレ・フレームワークの考察 [#q031a609]
-「オレオレ・フレームワーク」という用語は、
--厳密には、フレームワークの要件を満たしていないライブラリやテンプレートにも適用される。
--基本的に、disりのコンテキストで利用されるので、プロダクトに何らかの問題があることを示している。

-基本的にシェアが取れているプロダクトに対して、~
「オレオレ・フレームワーク」と言う言葉は使用しないため、~
「オレオレ・フレームワーク」であるか?否か?の必要条件として~
「シェアが取れていない」と言う条件がありそう(ただし十分条件ではない)。

-「シェアが取れていない」プロダクトには以下の様なプロダクトがある。
--[[車輪の再開発>#m97ae984]]
--[[低品質なプロダクト>#s57c0713]]
--[[ニッチ プロダクト>#m5b73cf7]]

***車輪の再開発 [#m97ae984]
純粋に既にシェアを取っているプロダクトの「車輪の再開発」をするようなケースは、~
ユーザにとってのメリットも少なく、「オレオレ・フレームワーク」とdisられることになる。

-帰ってきた!平成最後のオレオレフレームワークの作り方 - Speaker Deck~
https://speakerdeck.com/uzulla/gui-tutekita-ping-cheng-zui-hou-falseoreorehuremuwakufalsezuo-rifang

***低品質なプロダクト [#s57c0713]
-「シェアが取れていない」、「オレオレ・フレームワーク」は、~
品質に問題があることが多く、「オレオレ・フレームワーク」とdisられる。
--特にUX等の品質が低くてみんなをイライラさせるプロダクト。
--殻に閉じ篭って品質が上がらないプロダクト(将来性が無いので習得したくない)。

-フリーランスなどからしてみると
--習得したい知識では無いし、
--足枷のように見える。

***ニッチ プロダクト [#m5b73cf7]
-ニッチとは「隙間」を意味する「特定のニーズ」や「小規模の市場」のこと。
-「特定のニーズ」や「小規模の市場」なので、そもそもシェアが取れない。

**フレームワークが開発される経緯 [#kbcd5f26]

***車輪の再開発 [#bb12a613]
-[[ランタイム・フレームワーク>https://opentouryo.osscons.jp/index.php?%E3%83%A9%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0%E3%83%BB%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF]]と同一のレイヤを開発するケース
--.NET系は純正品の完成度が高く、コレの開発をヤルことは殆どなかったが、
--黎明期のJavaでは、フレームワークが乱立した時代があった模様。

-シェアとの関係
--シェアを取るつもりだったが、結果的にシェアをとれなかったプロダクト
--そもそも、シェアを取るつもりでやっていないプロダクト

>※ 前者は単なる残念。~
 後者は単なる趣味なら問題ないけど、チーム開発になるとキツイ。

***低品質なプロダクト [#g67975c5]
-殻に閉じ篭って品質が上がらないクローズドなプロダクト

-密結合な [[Dry(Don't repeat yourself)]] のために、~
案件レベルで追加するレイヤは、きっとオレオレ・フレームワークになる。

***ニッチ プロダクト [#p0f21d45]
-自分のドメインの特定のニーズに合わせて

--既存品の上位スタックを追加開発するケース
--上位スタックを独自スタックで置換するケース

>等が考えられる。

-[[開発基盤>https://opentouryo.osscons.jp/index.php?%E9%96%8B%E7%99%BA%E5%9F%BA%E7%9B%A4%E3%81%A8%E3%81%AF#tc6c363a]]の開発などはこのケースに該当する。

**オレオレ・フレームワークの十分条件 [#a7af3920]
「シェアが取れていない」に、以下の2つの条件を組み合わせると、十分条件となりそう。

***車輪の再開発 [#qb69e021]
結果として、シェアの取れていない(若しくは初めからシェアを取るつもりのない)、車輪の再開発プロダクト

***低品質なプロダクト [#t5982fa2]
結果として、品質が上がらず、シェアの取れていない(若しくは初めからシェアを取るつもりのない)任意のプロダクト

**ニッチ プロダクトには品質向上が必要 [#z24adb3f]
-ニッチ プロダクトについては、シェアを取れていないが、~
→ オレオレ・フレームワークの必要条件とはならなそう。

-自分のドメインの特定のニーズには必要になる。~
例えば...
--チーム開発には必要なレイヤになる。
--大規模化した時に、維持・保守を可能にする。

-以下のトレードオフのバランスをとることが重要になる。
--何もせず、特定のニーズに問題を抱えたものにする。
--設備投資を行い
---特定のニーズを満たす。
---構築した設備の維持・保守の課題の発生と解決。

&color(red){「オレオレ・フレームワーク」という用語にビビって何もしないエンジニア、};~
&color(red){生産性低いから、先ずは最低限、テンプレートぐらいは作って公開するとイイと思う。};

*参考 [#w53c7148]

**OSSコンソーシアム [#m238697d]

***開発基盤部会 Blog [#xe077b41]
-結局オレオレ・フレームワークってどんなモノ?定義を明確にしてみた。~
https://www.osscons.jp/jows0y6mi-537/

-タイムライン上で「自作フレームワーク」的な文字列を観測した件。~
https://www.osscons.jp/jozpkgczv-537/

-使いやすいフレームワークって、どうやって開発するの?~
https://www.osscons.jp/jonpyeir0-537/

-ランタイム・フレームワークについて少々、思ったことを書く。~
https://www.osscons.jp/jodumpwiu-537/

-第三のオレオレ産地は、パッケージ、SIテンプレート(基盤実装)かも。~
https://www.osscons.jp/joz3vkccu-537/

-オレオレ・フレームワーク ならぬ オレオレ・プラットフォーム的な。~
https://www.osscons.jp/jopt8sb31-537/

-オレがフレームワークと言うかエンジニアリングがオレ(的な極地~
https://www.osscons.jp/jowangap0-537/

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS