Tapestryについて語ろうよ!

■ このスレッドは過去ログ倉庫に格納されています
1Ace
垢版 |
NGNG
JakartaのTapestryフレームワーク使ってますか?
日本ではなかなか情報が手に入らず、本家のドキュメントも
古いバージョンのままなので、使いたいと思って挫折した人多くありませんか?

私はTapestry2.3あたりのころにTapestryの存在を知りました。
それまではStrutsでした。
デザイナーを内輪にかかえていない我が社では外注先から戻ってきた
HTMLからJSPへの変換および、再修正依頼が非常に困難でした。
○JSPへの変換ってつまらないよね!
○デザイナーがStrutsの拡張タグ理解できるわけないだろう!
○できたとしてどうやってデザインするの?
そんなあなたにはTapestryしかありません!
ぜひ日本でもこの2chを中心にTapestryの輪を広げて
Strutsにイカレテいる古臭いプログラマーたちを見返してやりましょうよ!

ちなみに私は携帯&PC向け有料サイトでTapestry使ってます。(^o^)v
登録ユーザ○十数万人、売上○千万円程度の規模です。
携帯は全機種対応確認済みです。
携帯のブラウザのバグ的なものに対応するために、
Tapestryのソースいくつか書き換えてるけどね(^_^;

Tapestryに興味ある人レスよろしくね!
337301
垢版 |
NGNG
317の件はやっぱり無理?
NGNG
>>337
ドキュメントが少ない&
その少ないドキュメントを読みきった香具師が少ないので、

「可能か無理か判断する」のが無理な状態。
339デフォルトの名無しさん
垢版 |
NGNG
>>333 少なくとも型にはまった開発、っていうのは見られるかな。
NGNG
おまいらスピソjがRC1になりますたよ。

Redirect Filter も扱えるようになりましたよ。
341デフォルトの名無しさん
垢版 |
NGNG
age
342デフォルトの名無しさん
垢版 |
NGNG
>>338
同じ事悩んでるヤシがいたか。漏れもかなり探したよ。で、出来た。

WEB-INF/config/Home.page
/comp/ShowProducts.jwc
/contents/Home.html
/comp/ShowProducts.html
みたいなとき、

.applicationに、
<page name="Home" specification-path="config/Home.page"/>
とか
<component-type type="ShowProducts" specification-path="config/comp/ShowProducts.jwc"/>
みたいに書く。

.pageや.jwcには、
<context-asset name="$template" path="WEB-INF/contents/Home.html">
という風に書く。

さらに、templateのデフォルトのsearch pathも変えられるらしいが、
まだ、試してない。317やってみてくれ。
http://www.caddr.com/macho/archives/tapestry-users/2003-12/2948.html
343317
垢版 |
NGNG
>>342
ナイス。時間ができたら試してみます。
344デフォルトの名無しさん
垢版 |
NGNG
>>317
なんだよ、そっちかよ
標準Documentに乗ってるじゃねーか
TemplateSourceDelegateを使ってsearch pathを変更することを期待してるのかと思って
必死でサンプル作って試していたのがショック!!!(T_T)
NGNG
>>344
既知のTipsだとしても、それを情報として知るのと、
自ら試してみるのとでは理解度がまったく違うと思うよ。
決して無駄骨ではないと思われ。
その心意気に、敢えてGJ!!
346342
垢版 |
NGNG
>>344
それ、教えて欲しい。
サンプル公開きぼんぬ
NGNG
>>344
オラも見てみたいズラ。
NGNG
おれはどっちでもいーや
NGNG
見せてもらえるものは見せてもらった方がいいわね、アータ。
350デフォルトの名無しさん
垢版 |
NGNG
3.0リリースから、もう一ヶ月たつのに、一向に盛り上がってこないなあ。

やってるー? みんなー?
351デフォルトの名無しさん
垢版 |
NGNG
つうかFlashMXにはまってるからもういいや
NGNG
>>350
一応MLが立ち上がっているみたいだけど、
2週間でレス2通(ML開設者の挨拶等)、参加者13人、技術的な
質問0。既に廃墟だね…。

ttp://www.freeml.com/ctrl/html/MLInfoForm/tapestry-japan@freeml.com

NGNG
所詮、ニッチなわけで
NGNG
悪くないと思ったんだが、だめかなー。

Strutsより現実的でいいと思うんだがなー。
355デフォルトの名無しさん
垢版 |
NGNG
>>352
場の空気の読めない人が2番目のTapestryのML立ち上げてんだよね
"leader19731221" <s.owada@athens-net.com>
YahooのTapestryのMLに
--------------------
FreeMLにてTapestry-Japan MLを開設しました。

以下のURLにて閲覧、投稿ができますので、是非とも参加下さい。
http://www.freeml.com/info/tapestry-japan@freeml.com
--------------------
何なのこの人?
356デフォルトの名無しさん
垢版 |
NGNG
>>342
できたよ
決定事項
●テンプレート置き場:アプリケーションコンテキストの下の/sample/hoge/
●作成するDelegateクラス名:test.SampleTemplateSourceDelegate

手順
●1.TemplateSourceDelegateの登録
sample.applicationに
<extension name="org.apache.tapestry.template-source-delegate" class="test.SampleTemplateSourceDelegate"/>
を追加
●2.SampleTemplateSourceDelegate.javaにDefaultTemplateSourceのソースをコピー
 2.1 クラス名をDefaultTemplateSourceからSampleTemplateSourceDelegate書き換え
 2.2 インターフェースにITemplateSourceDelegateを追加
 2.3 LOGの引数を「DefaultTemplateSource.class」から「SampleTemplateSourceDelegate.class」に書き換え 2.4 以下のfindTemplateメソッドを追加
●3.テンプレートを書いておしまい
 /WEB-INF/Home.page
 /sample/hoge/Home.html
357デフォルトの名無しさん
垢版 |
NGNG
public class SampleTemplateSourceDelegate implements ITemplateSourceDelegate,ITemplateSource {
    public static final String SAMPLETEMPLATEDIRECTORY="sample/hoge/";
    private IResourceLocation _sampleResourceLocation;
    public ComponentTemplate findTemplate(
        IRequestCycle cycle,
        IComponent component,
        Locale locale)
    {
        IResourceLocation location=component.getSpecification().getSpecificationLocation();
        String name = location.getName();
        int dotx = name.lastIndexOf('.');
        String templateBaseName = name.substring(0, dotx + 1) + getTemplateExtension(component);
        LOG.debug("component="+templateBaseName);
        
        if (_sampleResourceLocation == null){
            IResourceLocation _applicationRootLocation = Tapestry.getApplicationRootLocation(cycle);
            _sampleResourceLocation=_applicationRootLocation.getRelativeLocation(SAMPLETEMPLATEDIRECTORY);
        }
        
        IResourceLocation baseLocation =
            _sampleResourceLocation.getRelativeLocation(templateBaseName);
        IResourceLocation localizedLocation = baseLocation.getLocalization(locale);

        LOG.debug("location="+localizedLocation);
        if (localizedLocation == null)
            return null;
            
        return getOrParseTemplate(cycle, localizedLocation, component);
    }
-------------------------------
358デフォルトの名無しさん
垢版 |
NGNG
public class SampleTemplateSourceDelegate implements ITemplateSourceDelegate,ITemplateSource {
    public static final String SAMPLETEMPLATEDIRECTORY="sample/hoge/";
    private IResourceLocation _sampleResourceLocation;
    public ComponentTemplate findTemplate(
        IRequestCycle cycle,
        IComponent component,
        Locale locale)
    {
        IResourceLocation location=component.getSpecification().getSpecificationLocation();
        String name = location.getName();
        int dotx = name.lastIndexOf('.');
        String templateBaseName = name.substring(0, dotx + 1) + getTemplateExtension(component);
        LOG.debug("component="+templateBaseName);
        
        if (_sampleResourceLocation == null){
            IResourceLocation _applicationRootLocation = Tapestry.getApplicationRootLocation(cycle);
            _sampleResourceLocation=_applicationRootLocation.getRelativeLocation(SAMPLETEMPLATEDIRECTORY);
        }
        
        IResourceLocation baseLocation =
            _sampleResourceLocation.getRelativeLocation(templateBaseName);
        IResourceLocation localizedLocation = baseLocation.getLocalization(locale);

        LOG.debug("location="+localizedLocation);
        if (localizedLocation == null)
            return null;
            
        return getOrParseTemplate(cycle, localizedLocation, component);
    }
-------------------------------
359デフォルトの名無しさん
垢版 |
NGNG
このサンプルはコンポーネントのテンプレートにも使えるよ(^o^)v
/WEB-INF/Hoge.jwc
/sample/hoge/Hoge.html
360デフォルトの名無しさん
垢版 |
NGNG
age
NGNG
日本語ドキュメント整備されればとびつくけどな
362デフォルトの名無しさん
垢版 |
NGNG
このスレも50毎に>>361の結論が出て、その繰り返しで1000行きそうだな。
NGNG
>>354
Strutsから乗り換える教育投資に見合うメリットがあるのか?

おれは、ないと思うんだが。
NGNG
乗り換えるんじゃなくて方向がまったく違う

でも結局>>361
NGNG
>>363
乗り換えるなら、JSPから。
366342
垢版 |
NGNG
>>356
おー、すげぇ。
明日にでも、さっそく試してみるよ。

しかし、こういうの書かなくてもサクサクっと設定出来ないと
普及は厳しいかなぁ、という気がしないでもないなぁ。
NGNG
>>363
Strutsをメンバーの過半数が、機能をフルに使いこなせていたら、
意味は無いだろうね。

Strutsを使っているのになぜかJSPにスクリプトレットを
多用しているようなところだったら、まだ、ある。






でも結局>>361
NGNG
今やってる仕事、strutsなんだけど、ご多分に漏れず、
struts-config.xmlが肥大化。
DynaActionBeanの設定とか、もういやすぎ。
例の分割管理とかそういう対策はアフォみたいだし。。。鬱。
タペットマペット使いたいYO!!
369デフォルトの名無しさん
垢版 |
NGNG
オブジェクト指向の分散管理思想に真っ向から反するStrutsの設定ファイル。
フレームワークが滅びるには十分な理由だ。
370デフォルトの名無しさん
垢版 |
NGNG
同じようなやり方で、ISpecificationResolverを実装する方法もあるよ
こちらの場合.page,.jwcと.htmlは同じフォルダに置ける
NGNG
>>368
XDoclet使えば?
Strutsコンフィグファイルなんてほとんどさわらなくなった。
NGNG
>>369
すでにXDocletのようなものもあるし、J2SE1.5からはメタデータという仕組みも組み込まれて同様のフレームワークの設定がやりやすくなるから、いまとなってはあまり問題ないね。
NGNG
ListEditコンポーネント(とKistEditMapクラス)を使って、
Stale Link状態を事前に検出できるようになる仕組みが、

  Java Doc API を読んでも
  Component Reference を読んでも
  Tapestry In Action を読んでも

なぜだかサパーリわからません。
そんな俺はおhる?
374デフォルトの名無しさん
垢版 |
NGNG
age
NGNG
作者が「テスト助けてくれ〜」と悲鳴ageてるわけだが。
NGNG
名前は結構好きだな。
NGNG
Tapestryはなぜ流行らないのか

ttp://www.fuka.info.waseda.ac.jp/~k_ogino/study/fwzemi/b4/k_ogino040430.ppt
ttp://www.fuka.info.waseda.ac.jp/~k_ogino/study/fwzemi/b4/k_ogino040430resume.pdf
378デフォルトの名無しさん
垢版 |
NGNG
>>377

>>361
NGNG
>>361
NGNG
>>377
企業での開発経験がない、学生だとあんなもんだろ。

NGNG
わたしの現場では派遣先が開発した独自フレームワークしか流行っていない
作るのいいけどさ、もっとマシなの作ってよ
なんかソース見てると一部のクラスは「ほ〜」という感じでかなりレベル高いのに
のこりのほとんどのクラスは「ヘンなやり方〜」ってかんじ
内緒でインナークラス使って自分達のわかりやすいやり方(てか普通のJavaのやり方)に変えてます

NGNG
Tapestry
383デフォルトの名無しさん
垢版 |
NGNG
Tagestry
NGNG
T
NGNG
Tanasinn
NGNG
tapestory
387デフォルトの名無しさん
垢版 |
NGNG
>>377

ナイスだなー
だいたい、高度なアプリケーションにデザイナーがDreamweaver使いたいからという
だらけた理由でプログラマが苦労すること無いんだよ
ページのデザインくらいプログラマだってできるだろ

よって、Tapestryは存在価値なし
NGNG
>>387
ページのデザインってデザイナが(ユーザーの要望により)ちょくちょく変えるもんだから
そのたびにhtmlいじったりjsp化は非現実的

struts使うのならたとえばJBuilderについてるstrutsコンバータとか使わないと大変

現場知らないお子さまはカエレ
NGNG
Spindleってそんなにええのんか?

しかし、ブツを落とさないと稼動前提条件とかインストールの仕方がわからんのは
致命的。はやらす気はなさそう。
NGNG
>>387
Dreamweaverの生産性は異常
だらけた理由とかいって、おまえ、
あ、ごめん、DQNデザイナーを起用してる、DQNプロジェクトの話でしたかpgr
NGNG
ただいま、>>387は顔を真っ赤にしてDreamweaverの体験版を落としております
NGNG
>>390
単なるHTMLエディタだろ?
何がそんなにいいのん?
NGNG
>>392

387?

まずは体験版おとしてやってみろ
Tomcat連携機能とか検証機能とかスタイルシートまわりとかいろいろありすぎてな
NGNG
>>392
カスタムタグなんかにも対応してたりもする
NGNG
>>394
それじゃ、Tapestryいらないじゃん。
NGNG
>>395
実際にやってみろ
カスタムタグはあくまでも解釈されない程度だ
NGNG
Dreamweaverが効果的なのはデザインが重要なウェブサイトだろ?
そんなところにそもそもJavaが絡む余地ないだろ。
NGNG
ページのデザインってデザイナーが必要なほど、難しいもんじゃないし

Dreamweaverの何が生産性高いのかさっぱりわからん
NGNG
>>397
普通のWebサイトでもJava使うだろ。
NGNG
>>398
短期の仕事でデザインとプログラムなんて両方やってられるわけがないだろうに
web方面で短気じゃない仕事なんて聞いたこと無いぞ

あとデザイン能力というかセンスは人それぞれ
htmlをプログラマのほうが熟知していてデザイナはあんまりよくしらない
という状況は多いが、それでも成り立つのはタグが綺麗かどうかとか
htmlの知識とかそんなところじゃないしな

しかし現場知らないお子さまの反DreamWeaver厨は気楽でいいよな
401デフォルトの名無しさん
垢版 |
NGNG
というか単純に「Java」と聞いて
サーブレットじゃなくてアプレットを思い浮かべているだけの
厨が紛れ込んでる希ガス。
NGNG
>>400
短期過ぎるから両方やらざるを得ないのでは
NGNG
>>401
いや、DW使いのやつらは、JavaScriptをJavaと呼ぶケースがほとんど。
"Java"が実際どのようなものか、まったく理解してないケースも多い。
NGNG
デザインが必要か必要じゃないかに、短期か短期じゃないかなんて関係ないのにね。
NGNG
> Dreamweaverが効果的なのはデザインが重要なウェブサイトだろ?
> そんなところにそもそもJavaが絡む余地ないだろ。
デザインが重要なWebサイトにどうしてJavaが絡む余地がないと思えるのか
不思議で仕方がない。
デザインが重要かどうかとJavaを使うか使わないかの関連性が全く見えない。
NGNG
デザインが必要か必要じゃないかと、短期か短期じゃないかと、Javaを使うか使わないかなんて関係ないのにね。
NGNG
こことかは、結構凝ったデザインになってるし。
ttp://www.junkudo.co.jp/
NGNG
タペのスレですよー。
NGNG
話題はJavaの話になってるし。
NGNG
とりあえず、デザイン要素が生じる動的サイト制作には、
生JSPよりもStrutsよりもタペが剥いてると思う。
特に、デザイナーとのコラボが必要な場合。

また、デザイナは特に割り当てられていなくとも、
Webのインタフェースの完成に近い形がプレビューできるというメリットと、
Webインタフェースをコンポーネント指向で作成できるという点でも
タペにメリットあると思われ。

あとは、日本では猫も杓子もStrutsという流れの中で、いかにして
タペの流れを作っていけるかってところだよね。日本語ドキュメント含めてさ。
別に英語ドキュメントだけでもいいけど、それだとやっぱりとっつきにくいんだろうな。。。

たぶん、Tapestry + Cayenne(Hibernate) + Springあたりが、フリーでは最強なんだろうな。
有償製品ではWebObjectsってのが対抗馬だろうね。
NGNG
結局Strutsにしても、JSFまでの時間つぶしだしなぁ。
NGNG
俺struts使ってんだが、タペについて教えてくれ。

1)HTMLのデザインとJavaの開発を切り離してできるって以外にStrutsじゃなくてタペを使うメリットって何かある?

2)Hibernate以外のマッピングツールも使えるの?

3)これから主流になるかもしれないJSFやJSTLとかとタペの関係ってのはどうなの?
NGNG
1)
(イソアクショソの受け売りだが)
・WYSIWYGプレビューを保持したまま動的コンテンツを開発できる。
・JSPコンパイル時間不要

2)むしろCayenneとの相性が良い。

3)すまん知らない_| ̄|○
NGNG
タペもStrutsもあるオプソココミュが作ったフレームワークに過ぎん。
JSFやJSTLは標準仕様だからな。
そもそもの位置づけからして違う
NGNG
標準仕様で実装もあるのに、使われる気配のないJDO
NGNG
JDOはウンコ。
417412
垢版 |
NGNG
>>413
WYSIWYGプレビューってのが不要ならあんまりメリットないのかな。
GUIで開発できるってのなら別だろうけど。

>>414
だからタペでもJSFやJSTLは取り入れる方向に行くのかなと思ってね。
JSFはまだこれからだけど、JSTLはタペでは使えません。これから先もってのならちょっとね。
418デフォルトの名無しさん
垢版 |
NGNG
TapestryのいいところはHTMLとオブジェクトの世界を見事に接続しているところで、
デザインとロジックの分離はその副産物だと思ってます。
(大きなアドバンテージだとは思いますが)

逆にStrutsがダメなのはHTMLの煩雑さをそのままサーバ側に持ち込んで、
さらにコードで書いたほうが速そうなことをわざわざ設定ファイル記述して...
結局一番助けて欲しいところを助けてくれてない。
何のためのフレームワークなのかよくわからないところです。

フレームワークと言うものを世に知らしめた時点でStrutsの役割は終わったと思ってます。

JSFはSunがEclipseに合流するのをあきらめた時点でダメですね。
SunはGUI作るのが下手なんで。
NGNG
>>418
> さらにコードで書いたほうが速そうなことをわざわざ設定ファイル記述して...

XDoclet使えば?
NGNG
たしかにstruts-config.xmlの生成はxdocletに任せてだいぶ楽になった。
あれいちいち手書きしてたときは間違い多くてまいったよ
NGNG
Tapestryもstrutsみたいに実行時エラーがウザイので
設定ファイルのチェックは必須かな。自分はAntを使用。

<!-- DTDレベルで設定ファイルをチェック -->
<target name="checkconf">
 <xmlvalidate>
  <fileset dir=".">
   <include name="**/*.application" />
   <include name="**/*.page" />
   <include name="**/*.jwc" />
  </fileset>
 </xmlvalidate>
</target>

これ+自作のXML内クラス名チェッカーでXMLファイル内の
クラス名を検証して実行時前に徹底的に誤りを検出してまつ。
NGNG
jwcidを簡単に入れられる。WebObjectsみたいなGUIがあったらどうですか?
ドラッグ&ドロップで名前を付けることができるツールが
dream weaverのプラグインでついたりすればいいのになぁ。
結局id付けなきゃいけないような気がしてます。
もうidとか付けるのVBライクなコピー&ペーストから卒業しようよ。
とかいてみるテスト
NGNG
>>420
他にコードで書いたほうが速そうなことをわざわざ設定ファイル記述してるの?
<html:message>のこと?

>逆にStrutsがダメなのはHTMLの煩雑さをそのままサーバ側に持ち込んで、

ごめん。意味分からん。もうちょっと具体的に教えて。
それに対してタペのアプローチ方法も教えて。
NGNG
> JSFはSunがEclipseに合流するのをあきらめた時点でダメですね。
> SunはGUI作るのが下手なんで。

JSFはSunだけのものではないんだが。
NGNG
IBMの方が先に製品版出したしな。


そして忘れられてるタペ
NGNG
もともと存在を認識されていなタペ
427デフォルトの名無しさん
垢版 |
NGNG
ところで、barracudaと比較したヤシはおらんのか?
NGNG
http://www.sanspo.com/geino/top/gt200406/gt2004060503.html
NGNG
しばらく意味がわからんかった。
写真集について語るか。
NGNG
Tapestry in Actionの一部がPDFで公開されているね。

ttp://today.java.net/today/2004/05/13/Tapestry.pdf
NGNG
>>430
2章と5章でしょ。
マニング社のサイトでも公開されてるよ
432デフォルトの名無しさん
垢版 |
NGNG
age
433デフォルトの名無しさん
垢版 |
NGNG
agege
434デフォルトの名無しさん
垢版 |
NGNG
すみません、SPRING板でも同じ質問をさせていただいたのですが、
どなたか、SUN APP サーバー8とWEBWORKを上手に
使う方法御存じないでしょうか。GRANTの設定を少々変更することは
マニュアルにありますが、
私、APPサーバー付属のDEPLOYTOOLをANTの替りにしたいのです。
CMPーEJBとWEBWORKで開発が上手にできたらと、考えております。

御存じの方がいらっしゃいましたら、どうぞよろしくおねがいします。 かしこ。
NGNG
いつの間にSprint板ができたんだろう・・・
NGNG
(ノ∀`)アチャー
■ このスレッドは過去ログ倉庫に格納されています