- PR -

携帯を含めたさまざまなブラウザを対象にしたServlet/JSP

投稿者投稿内容
johnes
ベテラン
会議室デビュー日: 2007/11/21
投稿数: 50
投稿日時: 2007-11-22 14:21
お世話になります。

今回、携帯電話、PCブラウザを対象としたウェブサイト(ウェブシステム)を作成することになりました。
以下は決定事項です。
・開発言語は Java Servlet/JSP
・「携帯電話専用パート」と「携帯電話+PC兼用パート」の2パートに分かれる
・「携帯電話専用パート」はauとDoCoMoの3G以降端末のみが対象
・「携帯電話専用パート」はauとDoCoMoそれぞれの公式サイト登録を目標とする(かっちり作る必要アリ)
・「携帯電話+PC兼用パート」はau, DoCoMo以外の携帯電話端末も対象(3G以降のみサポート)
・両パートともに全ての対象ブラウザで同じような見た目とする

このような開発経験がないのですが、ちょっとした方向性だけでも考えてみました。

まず、auとDoCoMoですらHTMLの表記がかなり異なるし、携帯電話とPCブラウザではJavaScript使用可不可などの決定的な違いがあるため、au, DoCoMo, PCでJSPファイルを分けようかとも思ったのですが、同じような見た目とすることからコードに共通点が多く勿体無いしメンテナンス効率なども考えて、JSPは共通とすることを考えています。
JSPを共通にしたところで、微妙な違いを吸収する必要があるので、そこはキャリア毎に変換テーブルを作って、変換用クラスを作り、キャリアにあわせたコードを吐き出すようにしようと考えています。Strutsのカスタムタグを使う方法も考えたのですが、携帯電話を使うとなると色々制約がありそうなので、今回はStrutsも使わない方向で考えています。

このケースに近い開発経験の豊富な方も多いかと思われます。そのような方に限らず、一般論としてでも良いので「ここ見ろ」「この考え方はおかしい」「こうした方が効率が良い」など、アドバイスして頂けないでしょうか。
足りない情報があれば、提示できる範囲で提示させて頂きますので、気軽におっしゃって下さい。

以上、宜しくお願い致します。

[ メッセージ編集済み 編集者: 名無し 編集日時 2007-11-22 15:30 ]
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-11-22 14:38
確かに共通する部分が多くなるので単一JSPにしたいところですが、
経験則からすると、変更が多岐にわたると分岐の多いJSPになって
コードクローンの存在以上にメンテナンスしにくくなったりします。

この辺は共通化の程度問題なのだと思いますが、
あまり共通化にこだわりすぎないほうがいいかもしれません。
johnes
ベテラン
会議室デビュー日: 2007/11/21
投稿数: 50
投稿日時: 2007-11-22 15:35
迅速な返答、ありがとうございます。

引用:

nagiseさんの書き込み (2007-11-22 14:38) より:
確かに共通する部分が多くなるので単一JSPにしたいところですが、
経験則からすると、変更が多岐にわたると分岐の多いJSPになって
コードクローンの存在以上にメンテナンスしにくくなったりします。

この辺は共通化の程度問題なのだと思いますが、
あまり共通化にこだわりすぎないほうがいいかもしれません。



やはりそうですか。。
基本的には、css部分の違いくらいであとは共通にできるかなぁと思っていたのですが、auやDoCoMoの公式サイトの必須項目等のガイドラインを見ると、結構違う部分もあるようなので、共通化にこだわりすぎると痛い目を見そうな気がしてきました。。。
重々参考にさせて頂きます。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2007-11-22 15:47
引用:

名無しさんの書き込み (2007-11-22 15:35) より:
基本的には、css部分の違いくらいであとは共通にできるかなぁと思っていたのですが、auやDoCoMoの公式サイトの必須項目等のガイドラインを見ると、結構違う部分もあるようなので、共通化にこだわりすぎると痛い目を見そうな気がしてきました。。。


私も JSP を分けたほうが良いと思います。ビジネスロジックは当然共通化すべきですが。

私は、PC で見られるケータイサイトは見たことはありますが、公式サイトはアクセスしたことすらないのですが、PC用の画面作りとケータイ用の画面作りはかなり違うはずです。
たとえば、テーブル表示は、PC用の画面だと横に何列も td を並べたりしますが、ケータイ用の画面だと横列は1列かせいぜい2列で、縦に並べることが多いのではないでしょうか。ページ替えも違うと思います。フレーム(frame)の有無などもあります。

--
unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86}
GENZO
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 111
お住まい・勤務地: 名古屋
投稿日時: 2007-11-22 21:06
ページ数がそれほど無いのであれば、私もキャリアごとにJSPを作ったほうが何かと微調整が出来るのでよいと思います。逆に、ページ数が多いのであれば、コンテンツを変換するミドルウェアを利用するのも良いと思います。

この手の製品はキャリアごとに表示可能なHTMLに変換してくれるというのもありますが、製品によってはgifやjpegなどの画像ファイルもキャリアごとに表示可能な形式に変換してくれるところに利点があります。

ちょっと古い情報ですが、以下参考までに。
http://www.atmarkit.co.jp/fmobile/special/convertcatalog/convert01.html
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-11-23 01:09
自分も正に携帯用・PC用とサイトを作っていますが、Strutsを改造して使っています。

・携帯とPCでアクションは別々
・ビューも別々
・業務ロジックは共通

という感じですね。

ただし、携帯用のビューとなるJSPは手を加えていて、
xxxx.jspがベースとJSPとした場合、xxxx_au.jspやxxxx_docomo.jspを作って、
合致するキャリアのJSPがあれば利用、なければベースのJSPって感じにしています。

各キャリア共通の場合は殆どxxxx.jspがあればOKですが、
キャリア単位で相違がある部分だけxxxx_au.jspのようなものを作っています。
そのために多少Strutsを改造している感じです。
後は絵文字専用の出力タグがあれば十分ですね。

以上、参考までに。
johnes
ベテラン
会議室デビュー日: 2007/11/21
投稿数: 50
投稿日時: 2007-11-26 09:30
引用:

GENZOさんの書き込み (2007-11-22 21:06) より:
ページ数がそれほど無いのであれば、私もキャリアごとにJSPを作ったほうが何かと微調整が出来るのでよいと思います。逆に、ページ数が多いのであれば、コンテンツを変換するミドルウェアを利用するのも良いと思います。

この手の製品はキャリアごとに表示可能なHTMLに変換してくれるというのもありますが、製品によってはgifやjpegなどの画像ファイルもキャリアごとに表示可能な形式に変換してくれるところに利点があります。

ちょっと古い情報ですが、以下参考までに。
http://www.atmarkit.co.jp/fmobile/special/convertcatalog/convert01.html



返信ありがとうございます。

今回はページ数が20〜30になる予定で、あまりにも数が多いというわけでもないですし、少ないともいえない微妙な数ですが、教えていただいたコンテンツ変換ミドルウェアも非常に魅力的なので使ってみたいところです。が、恐らく開発費、運用費の問題でNGとなりそうです。。。
JSPを分けて微調整する方向で話を進めようと思います。
johnes
ベテラン
会議室デビュー日: 2007/11/21
投稿数: 50
投稿日時: 2007-11-26 09:36
引用:

かつのりさんの書き込み (2007-11-23 01:09) より:
自分も正に携帯用・PC用とサイトを作っていますが、Strutsを改造して使っています。

・携帯とPCでアクションは別々
・ビューも別々
・業務ロジックは共通

という感じですね。

ただし、携帯用のビューとなるJSPは手を加えていて、
xxxx.jspがベースとJSPとした場合、xxxx_au.jspやxxxx_docomo.jspを作って、
合致するキャリアのJSPがあれば利用、なければベースのJSPって感じにしています。

各キャリア共通の場合は殆どxxxx.jspがあればOKですが、
キャリア単位で相違がある部分だけxxxx_au.jspのようなものを作っています。
そのために多少Strutsを改造している感じです。
後は絵文字専用の出力タグがあれば十分ですね。

以上、参考までに。


返信ありがとうございます。

なるほど、そのやり方は効率的ですね!
その辺の多少の改造にはstrutsを使った方が効率も良さそうですね。

今回の開発は結構特殊なケースになるかと思いますので、適材適所でいいやり方を取り入れさせていただきますね。

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