- PR -

リッチクライアント技術は使える?使えない?

投稿者投稿内容
Wata
ぬし
会議室デビュー日: 2003/05/17
投稿数: 279
投稿日時: 2003-07-29 01:07
引用:

Java Web Startを使えば、アプレットのObjectタグと同様に、必要に応じて
クライアントにJREをインストールを促すことができたと思います。


スミマセン。↑の書き込みは単純に私の勘違でした。
java Web Start(以下 JWS)はjnlsのリンクをクリックしたときに
JREがインストールされていてかつJWSがない場合に、JWSのインストール画面に
ページに飛ばされるようで、これをJREがない場合は同様にJREのインストール画面に
飛ばされるように勝手に思い込んでいました。
ですので、JREについてはJWSでできるのはアップグレードだけですね。

ところで本題のリッチクライアントの件ですが、最近の話題にあるような、最前面に常駐したり、あるいはウィンドウを透過させたりなどというのはあくまで特殊なケースですよね。リッチクライアントととしての要件になるようなものではないと思います。
こういったものを除外したうえで考えても、Swing、またはSWTのUIはVBやVCにも劣るものなのでしょうか?

私は、javaベースのクライアントアプリとしては、実行時メモリ使用量やVM起動待ち時間が最大のデメリットで、他はVBやVCに劣るようなものではないと思っています。
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2003-07-29 02:04
『全てに於いて勝っている』というのでなければ(それぞれ一長一短がある
なら)、優劣をつけるには基準が必要と思われるのですがどうでしょうか?

操作性/応答性/見た目の良さ/プログラムし易さ/便利なコンポーネント
が揃ってるかどうか/情報が多いか/将来性/保守性/安定性/可搬性 …

主観もあると思うのですが、使い方、使う環境によってもどれを重要視する
か違ってくるはずです。

以下は私事ですが、ここ3年ばかりは全て Swing/Javaです。 最初は起動時
間が気になってたのですが、問題になってないようです。

たとえば、私の古い開発マシンでは Swingのアプリを起動するのに 20秒以上
かかってたのですが、最近のマシンでは 6〜7秒程度で立ちあがってきます。

Swingの操作時の反応も悪くないらしく、昨年納品したプログラムに対しては
『今時のJavaはこんなに速く動くの?』とわざわざ電話が掛かってきた事も
あります。特にテクとか使ってないのですがね。
なべぞう
ベテラン
会議室デビュー日: 2003/07/07
投稿数: 98
お住まい・勤務地: 岡山県
投稿日時: 2003-07-29 09:44
引用:

LEDさんの書き込み (2003-07-28 22:25) より:
あと、気になっていたのですが、もともとのなべぞうさんの質問は、「SWTの有用性に対し
ての疑問」なので、他の要素を議論してもなべぞうさん的にはOKですか?という点です。か
えって、SWTなどのUIに限定して議論したほうが良いでしょうか?



LEDさんおはようございます。
私としては議論の範囲を限定せず、自由にやって頂ければOKです

最近の議論の中でWataさんより赤線を引くサンプルがありました。正直
こんなことまで出来ちゃうのと驚きましたが、コーディングが必要なん
だと落胆もしました。やはり手軽にできないと辛いですね。


unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2003-07-29 11:12
unibon です。こんにちわ。

引用:

なべぞうさんの書き込み (2003-07-24 11:07) より:
@ITでも"SWTは有用"という記事を見かけますが、みんなホンキでそ
う思っています?


主観もありますが、Swing はなんだか再描画がもたつく感じがしてイマイチです
(Windows のネイティブなアプリケーションと比較して)。
どのように「もたつく」のかを具体的に表現できないのですが、
CPU やビデオボードが高速化して全体の動きが速くなったとしても、
再描画のロジックがなんだか違和感があり、
どんなに隠したとしても(隠す必要があるのかは別にして)、
Swing で作ったことがバレてしまいます。
Swing といっても結局は AWT の特徴を引きずっているためだと推測します。
#あまり速さは気にしないですが、再描画の仕方が気になります。

その点、SWT で作ったアプリケーション
(私は Eclipse しか使ったことないのですが)、
は、そのようなもたつく感じがないので、バレません。
#私は SWT のアプリケーションは作ったことはないのですが。

あと、JRE(Java PlugIn)の再配布についてですが、
別段 Sun のインストーラを使わなくても、
単に DLL などのファイルをインストール先のフォルダにコピーするだけでよいはずなので、
Windows の普通のアプリケーションと同じような配布方法ができるはずであり、
さほど負担にはならないはずです。
ただ、自前のインストーラを使ってしまうと、
Java のバージョンアップから分岐してしまいますが、
広い意味でのダイナミックリンクに対するスタティックリンクが持つ、
メリット・デメリットがそのままあてはまりますので、
そういうソリューションがあっても良いと思います。
ふうた
大ベテラン
会議室デビュー日: 2001/08/23
投稿数: 198
お住まい・勤務地: 岡山
投稿日時: 2003-07-29 13:26
引用:

Shinさんの書き込み (2003-07-28 11:10) より:

Windowsの事は詳しくないんですが、ActiveXコンポーネントなどは
AppletみたくWEBでユーザに配布できるのではないでしょうか?
そうなると配布コストはかかりませんよね?




いろいろ話が広がっていますが、ここだけ反応させてください。

ActiveXコントロールですが、これはダウンロードして使用するもので、プログラムとデータの分離という意味では、これはプログラムにあたります。(そういう意味では、アプレットとは根本的に動きは違います。)
ちなみに、FlashもActiveXコントロールに含まれます。

確かにActiveXだと配布のコストは軽減されます。ただし、環境が制限(IEのみ)されるなど「配布は楽だけど問題点もあり」みたいな感じではないでしょうか?
(このあたりは、詳しくないのでフォローをお願いしたいです。)

ちなみに[インターネットオプション]-[全般]にある「インターネット一時ファイル」の中で「設定」ボタンを押して表示されるダイアログで更に「オブジェクトの表示」ボタンを押すと、インストールされているActiveXコントロールが表示されます。

今気が付いたのですが、JREのIE用インストーラもActiveXなのですね。(でも、上記で確認すると「壊れています」と表示されている。。。まあ、インストールの時しか使わないのだからいいのでしょうけど。)
びしばし
大ベテラン
会議室デビュー日: 2002/03/13
投稿数: 181
投稿日時: 2003-07-29 14:07
引用:

unibonさんの書き込み (2003-07-29 11:12) より:
あと、JRE(Java PlugIn)の再配布についてですが、
別段 Sun のインストーラを使わなくても、
単に DLL などのファイルをインストール先のフォルダにコピーするだけでよいはずなので、
Windows の普通のアプリケーションと同じような配布方法ができるはずであり、
さほど負担にはならないはずです。
ただ、自前のインストーラを使ってしまうと、
Java のバージョンアップから分岐してしまいますが、
広い意味でのダイナミックリンクに対するスタティックリンクが持つ、
メリット・デメリットがそのままあてはまりますので、
そういうソリューションがあっても良いと思います。



ここなんですが、Sun の Licence Agreement に反しない形で可能なのでしょうか。
私のつたない英語力ではどうも「再配布時にはパッケージを改変しないこと」とあるように読めるのですが。

InstallShield など親インストーラが JRE のインストーラを子として実行させる、というケースは何度か見たことがありますが、勝手に rt.jar や各種 DLL の必要なものだけをコピーしておしまい、というものは見たことがありません。

私の前回の発言も上記を心配した上でのもので、私も同様に「JRE 配備のいい方法」がないか頭を悩ませております。いい解決案をお持ちでしたら教えて頂きたく存じます。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2003-07-29 14:31
unibon です。こんにちわ。

引用:

びしばしさんの書き込み (2003-07-29 14:07) より:
ここなんですが、Sun の Licence Agreement に反しない形で可能なのでしょうか。
私のつたない英語力ではどうも「再配布時にはパッケージを改変しないこと」とあるように読めるのですが。


改変というのは、パッチを当てたり、jar ファイルのアーカイブの差し替えなど、
ファイルの内容を変えてしまうようなことを指している、
と私は解釈しています。
インストールの具体的なしかた(ファイルのコピー方法)までは
規定していないと考えています。

引用:

びしばしさんの書き込み (2003-07-29 14:07) より:
InstallShield など親インストーラが JRE のインストーラを子として実行させる、というケースは何度か見たことがありますが、勝手に rt.jar や各種 DLL の必要なものだけをコピーしておしまい、というものは見たことがありません。


私の根拠のひとつになるのですが、
たとえば有名な製品として Zero G 社の InstallAnywhere というインストーラだと、
このインストーラが Sun のインストーラを呼び出さずに、
独自に JRE のファイルをコピーしているように思えます。
http://www.zerog.com/index.html
#Free Edition もあるようです。
ちなみに JBuilder のインストーラもこれだったと思います。
とんび
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-07-29 15:02
引用:

最近の議論の中でWataさんより赤線を引くサンプルがありました。正直
こんなことまで出来ちゃうのと驚きましたが、コーディングが必要なん
だと落胆もしました。やはり手軽にできないと辛いですね。



 VB,VCだとコーディングなしで出来るんですか?
あまり一般的な仕様だとは思えないのでコーディングなしで出来てもあまりうれしくないような気がするんですが。
 参考までにVB,VCだとどうなるのか教えてもらえれば幸いです。

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