- PR -

Frameworkって?

投稿者投稿内容
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2002-12-16 15:57
皆様こんにちわ。

まだまだ勉強しなければいけないことがたくさんある
段階ですが、最近よく耳にするFrameworkってありますよね。

StrutsとかStrutsとかStrutsとか・・(これしか知りません。。

皆様は実際使用していますでしょうか?
また、これらを使って本当に良かったと実感できましたでしょうか?
一体何が良かったと感じましたか?
Frameworkを使ううにも、まずFramework自体の仕様、使用方法を
学ばねばならないと思います。それ以上に得られるものがありましたか?

Frameworkとは?という定義でネットなど調べてみても
どれも抽象的(仕方ないかも)でわかりづらいというのが本音です。

これから勉強するつもりですが、皆様がFrameworkというものに
対してどういう考えをお持ちなのか少し興味がありまして投稿しました。
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2002-12-16 23:51
Strutsは使ってませんが、ServletAPIを裸で使っています。
Servlet APIをフレームワークと呼ぶのに抵抗のある人も居るかも知れませんが、
あれは立派なフレームワークだと思います。

私の『浅知恵』では次の様に理解しています。
・再利用可能なコンポーネントだけを沢山集めただけではシステムにならないから
 コンポーネント同士をつなぎ合わせる部分が必要になるでしょう。
・しかし大規模なシステムを作るときに毎回設計するのは大変でしょう。
・だから基本的な枠組みに部品をくっ付けていって、それでは足りない(専用仕様
 など)ところだけ新たに設計すれば楽になるでしょう。

技術的な要素としては
・デザインパターンで柔軟性を持たせる。(細部の実装は交換可能)
・インターフェースだけでなく、ある程度抽象クラスを準備することで、呼び出し
 関係やその順序までパターン化する。(コンポーネント同様、枠組みも再利用
 可能)

小規模なフレームワークを意識しないで作っていることも多いのではないでしょうか。

(間違ってたら、直して下さい。)
yuu
大ベテラン
会議室デビュー日: 2002/06/12
投稿数: 152
お住まい・勤務地: 美味しいケーキ店のそば
投稿日時: 2002-12-17 10:14
今年前半から、あるお仕事で Web アプリ用 開発で Framework を作っていました。言語はJavaではないのですが、 Web アプリでは使われると思われる機能(template,ページ遷移の集中制御、エラー処理、DBアクセス、セキュリティー、セッション、ログ・デバック支援、。。。)は だいたい持っています。作成中に Struts の存在を知ったので、比較の為にWebや本で 調査してみました。

Framework の定義ですが、私は JavaWorld のどこかにあった。従来のライブラリー(API)は
各機能の集まりで、それをどう使うか(mainプログラム)は自由です。しかし Frameworkの場合は、使い方はそのframeworkで決まっていて、main に自分のアプリ固有の機能を そのframeworkのスタイルで組み込む という形の ものだと思います。

framework を使って開発をした結果 感じた事として、
メリットは
1) 開発効率が高い
2) アプリのコードを書く人には、それほどの開発スキルがいらない
3) どのアプリ開発者が書いたでもコードでも、似た構造になるのでメンテしやすい
4) 作業がきれいに分担できる(SE,デザイナー、アプリ作成者...)
5) 品質を高め易い

デメリットは
1) framework の仕様をおぼえないと仕事にならない
2) framework 側のバグ等に 当たると、開発が止まる
3) framework の想定してないようなアプリ・使い方で使おうとすると苦労する
4) もし、framework を自作しようとすると、想定している領域を熟知したSEと
Web,言語...の基本的な事を熟知した開発者が必要
5) 実行効率は最善ではない?

今回の仕事の反省会でも、全員が framework を使って良かった、予想以上の物が出来たという感想でした
七味唐辛子
ぬし
会議室デビュー日: 2001/12/25
投稿数: 660
投稿日時: 2002-12-17 10:32
引用:

デメリットは
1) framework の仕様をおぼえないと仕事にならない
2) framework 側のバグ等に 当たると、開発が止まる
3) framework の想定してないようなアプリ・使い方で使おうとすると苦労する
4) もし、framework を自作しようとすると、想定している領域を熟知したSEと
Web,言語...の基本的な事を熟知した開発者が必要
5) 実行効率は最善ではない?



yuuさん こんにちは 私は 来年から Frameworkを使ってはじめて webアプリを作成
する予定なのですが、 1 ,3は当然のことだと思います、これは設計者、実装担当者
いずれにメンバーにも言えることなんでしょうね。
そこで この辺は 設計を開始するまえに 十分習得しておく必要あると判断してよいのでしょうか? それとも ある程度作りこみながら、スパイラル式にやっているのでしょうか?

(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2002-12-17 11:49
引用:

Kissingerさんの書き込み (2002-12-16 23:51) より:
Strutsは使ってませんが、ServletAPIを裸で使っています。
Servlet APIをフレームワークと呼ぶのに抵抗のある人も居るかも知れませんが、
あれは立派なフレームワークだと思います。

私の『浅知恵』では次の様に理解しています。
・再利用可能なコンポーネントだけを沢山集めただけではシステムにならないから
 コンポーネント同士をつなぎ合わせる部分が必要になるでしょう。
・しかし大規模なシステムを作るときに毎回設計するのは大変でしょう。
・だから基本的な枠組みに部品をくっ付けていって、それでは足りない(専用仕様
 など)ところだけ新たに設計すれば楽になるでしょう。

技術的な要素としては
・デザインパターンで柔軟性を持たせる。(細部の実装は交換可能)
・インターフェースだけでなく、ある程度抽象クラスを準備することで、呼び出し
 関係やその順序までパターン化する。(コンポーネント同様、枠組みも再利用
 可能)

小規模なフレームワークを意識しないで作っていることも多いのではないでしょうか。

(間違ってたら、直して下さい。)



こんにちわ。

私も今までは、servletAPIを素で使っていました。
例えば、外注さんにある部分の実装をお願いしたとして
その後他人が作ったコードをメンテすることになるのですが
非常にツライと感じました。

基本的に他人が作ったものは解読しづらいのはわかりますが
そもそもの設計思考が違うようで、例えば私なんかはJSPの
利点として、デザイン部分をリコンパイルなしに簡単に修正
できるものとして考えています。

しかし、外注さんに作ってもらったものを見ると、デザイン
部分(それこそタグなど)を外のクラスからの戻り値として
作りこんでいて、テーブルの幅を変えたいという単純な
修正にもソースに手を加えなければならなかったのです。

Frmaeworkを使用すれば、おそらくこの辺の辛さは解消されるのでしょう。
しかし、外注さんに頼む際、今度は「このFrameworkを理解している会社」
という条件が外注選定に追加されるのかと思います。

他社のことはよく知りませんが、全社的にFrameworkを育成内容に
取り入れている会社などはまだまだ少ない気がしますよね。

その辺はどうなんでしょうね。自社内のみでの開発ならなんら
問題はなさそうですが。
teto
ベテラン
会議室デビュー日: 2002/07/31
投稿数: 61
投稿日時: 2002-12-17 12:21
>Frmaeworkを使用すれば、おそらくこの辺の辛さは解消されるのでしょう。
>しかし、外注さんに頼む際、今度は「このFrameworkを理解している会社」
>という条件が外注選定に追加されるのかと思います。

というか、外注使うときに丸投げしてません?
そりゃ、保守性なんてあるわけでなし。

少なくともサーバーサイドjavaのプロジェクトの製造を外注して、
保守フェーズは自社でやるなら、なんらかしらのフレームワークを
こちらで作るなり、指定するなりするのが普通だとおもいますが。
これできないと、javaプロジェクトは利益あがらないとおもいます。
(ASPとかPHPにしましょう)

yuu
大ベテラン
会議室デビュー日: 2002/06/12
投稿数: 152
お住まい・勤務地: 美味しいケーキ店のそば
投稿日時: 2002-12-17 14:21
七味唐辛子さん、こんにちは

>そこで この辺は 設計を開始するまえに 十分習得しておく必要あると判断してよいの
>でしょうか? それとも ある程度作りこみながら、スパイラル式にやっているので
>しょうか?

私の担当した仕事では、Framework の作成は先行しながらも、アプリの実装と平行だったのでスパイラル式でした。
ただ最初に3回くらい トレーニングを行いました。また、週1〜2回程度のFrameworkのバージョンアップをしていましたので、そのたびに 新機能の説明、サンプルアプリの作成、質疑応答を 繰り返し。
メールでも頻繁にコミニュケーションを取っていました。

今回の Framework は内作だったので、ドキュメント系が 不足気味になってしまった分
OJT的な要素を増やしたので、比較的 順調に行ったのかな? と思っています。
たぶん、Struts とかを使う場合は、プロジェクト内に1人は Struts のプロを育てないと
問題解決に時間がかかったり、効率的な使い方が出来ないのではないかな? と思います。
七味唐辛子
ぬし
会議室デビュー日: 2001/12/25
投稿数: 660
投稿日時: 2002-12-17 15:41
yuuさん ありがとうございました。
FrameworkはCFrameworkとかいうのを使う予定ですが、
たしかに 最初に3回くらい トレーニングしたほうがいいかもしれませんね。

スキルアップ/キャリアアップ(JOB@IT)