-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_OreOreFramework
-
定義を明確にするためメモ。
-
現時点で明確な定義は無いが、
- 案件レベルで作成した、
- 質の低い独自実装の
フレームワーク全般を指す用語と思われる。
-
自作フレームワークとも呼ばれる。
-
「オレオレ・フレームワーク」という用語は、
- 厳密には、フレームワークの要件を満たしていないライブラリやテンプレートにも適用される。
- 基本的に、disりのコンテキストで利用されるので、プロダクトに何らかの問題があることを示している。
-
基本的にシェアが取れているプロダクトに対して、
「オレオレ・フレームワーク」と言う言葉は使用しないため、
「オレオレ・フレームワーク」であるか?否か?の必要条件として
「シェアが取れていない」と言う条件がありそう(ただし十分条件ではない)。 -
「シェアが取れていない」プロダクトには以下の様なプロダクトがある。
純粋に既にシェアを取っているプロダクトの「車輪の再開発」をするようなケースは、
ユーザにとってのメリットも少なく、「オレオレ・フレームワーク」とdisられることになる。
- 帰ってきた!平成最後のオレオレフレームワークの作り方 - Speaker Deck
https://speakerdeck.com/uzulla/gui-tutekita-ping-cheng-zui-hou-falseoreorehuremuwakufalsezuo-rifang
-
「シェアが取れていない」、「オレオレ・フレームワーク」は、
品質に問題があることが多く、「オレオレ・フレームワーク」とdisられる。- 特にUX等の品質が低くてみんなをイライラさせるプロダクト。
- 殻に閉じ篭って品質が上がらないプロダクト(将来性が無いので習得したくない)。
-
フリーランスなどからしてみると
- 習得したい知識では無いし、
- 足枷のように見える。
- ニッチとは「隙間」を意味する「特定のニーズ」や「小規模の市場」のこと。
- 「特定のニーズ」や「小規模の市場」なので、そもそもシェアが取れない。
-
ランタイム・フレームワークと同一のレイヤを開発するケース
- .NET系は純正品の完成度が高く、コレの開発をヤルことは殆どなかったが、
- 黎明期のJavaでは、フレームワークが乱立した時代があった模様。
-
シェアとの関係
- シェアを取るつもりだったが、結果的にシェアをとれなかったプロダクト
- そもそも、シェアを取るつもりでやっていないプロダクト
※ 前者は単なる残念。
後者は単なる趣味なら問題ないけど、チーム開発になるとキツイ。
-
殻に閉じ篭って品質が上がらないクローズドなプロダクト
-
密結合な Dry(Don't repeat yourself) のために、
案件レベルで追加するレイヤは、きっとオレオレ・フレームワークになる。
-
自分のドメインの特定のニーズに合わせて
- 既存品の上位スタックを追加開発するケース
- 上位スタックを独自スタックで置換するケース
等が考えられる。
-
開発基盤の開発などはこのケースに該当する。
「シェアが取れていない」に、以下の2つの条件を組み合わせると、十分条件となりそう。
結果として、シェアの取れていない(若しくは初めからシェアを取るつもりのない)、車輪の再開発プロダクト
結果として、品質が上がらず、シェアの取れていない(若しくは初めからシェアを取るつもりのない)任意のプロダクト
-
ニッチ プロダクトについては、シェアを取れていないが、
→ オレオレ・フレームワークの必要条件とはならなそう。 -
自分のドメインの特定のニーズには必要になる。
例えば...- チーム開発には必要なレイヤになる。
- 大規模化した時に、維持・保守を可能にする。
-
以下のトレードオフのバランスをとることが重要になる。
- 何もせず、特定のニーズに問題を抱えたものにする。
- 設備投資を行い
- 特定のニーズを満たす。
- 構築した設備の維持・保守の課題の発生と解決。
「オレオレ・フレームワーク」という用語にビビって何もしないエンジニア、
生産性低いから、先ずは最低限、テンプレートぐらいは作って公開するとイイと思う。
-
結局オレオレ・フレームワークってどんなモノ?定義を明確にしてみた。
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/
移行メモ
- 同名の見出し(「車輪の再開発」「低品質なプロダクト」「ニッチ プロダクト」)が 3 つの節に重複して現れ GitHub Wiki でアンカが衝突するため、 2 回目以降は括弧で文脈を補って一意にした。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替えた。&color(red){...};による赤字強調は、太字に置き換えた。- Open 棟梁 Wiki(opentouryo.osscons.jp)へのリンクは、 当該サイトが未移行のため URL のままとした。
Tags: 移行, オレオレ・フレームワーク, 自作フレームワーク, 車輪の再開発, ニッチ, 開発基盤, 品質
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。