トップページ⇒tech
983コメント299KB

クライアントサイドJavaどうよ? part2

■ このスレッドは過去ログ倉庫に格納されています
0001SunがダメNGNG
クライアントサイドでJAVAが普及するためにはどうすればいいか、
マターリ語りましょう。

前スレ
http://pc3.2ch.net/test/read.cgi/tech/1002160815/
0783デフォルトの名無しさんNGNG
>>782
あなたはよくそんなことを客に言えますね。
0784デフォルトの名無しさんNGNG
客となんか話できない末端コーダーですから
0785デフォルトの名無しさんNGNG
しかし、サーバーサイド=Java、クライアントサイド=.NETで進んでいる現代がむかつく、両方覚えるの大変じゃん
SunでもMSでもいいから、どっちか倒してくれ
0786デフォルトの名無しさんNGNG
クライアントサイドでJavaが覇権を握ることはまずありえないが、
かといって.NETにサーバーサイドを支配させるのはどうかと
0787デフォルトの名無しさんNGNG
起動が軽くなってくれればいいんだけどなー…
0788デフォルトの名無しさんNGNG
独占はどっちにしろ害にしかならんな。
Javaと.NETが相互利用できるようになるのが一番ありがたい。
0789デフォルトの名無しさんNGNG
Sunの内部メモが晒され、Javaに未来がないことがはっきりした。
0790デフォルトの名無しさんNGNG
>>789
(゚Д゚)ハァ? ソースは?
0791デフォルトの名無しさんNGNG
>>789の脳内。
0792デフォルトの名無しさんNGNG
SWT!
0793デフォルトの名無しさんNGNG
Sun 内部メモってむしろ電波ゆんゆんだと思うけどな。
Java マンセー、みたいな。
0794デフォルトの名無しさんNGNG
>>790
http://developers.slashdot.org/article.pl?sid=03/02/09/1347215&mode=nested&tid=108
0795デフォルトの名無しさんNGNG
>>794
肝心の部分が見れないんですけど。
0796デフォルトの名無しさんNGNG
プロ�c
0797デフォルトの名無しさんNGNG
Sunの中の人も大変だな。
0798デフォルトの名無しさんNGNG
自ら否定するのか・・・Sunもヤッテクレル
0799デフォルトの名無しさんNGNG
700 以上もレスがついてやがる。
本家 ./ のでかさって、./-J と桁違いなんだな。
0800799NGNG
ああ、./ じゃなくて /. か。

ぁゃゃか、俺は。
0801デフォルトの名無しさんNGNG
>>795
http://www.internalmemos.com/memos/memodetails.php?memo_id=1321
0802デフォルトの名無しさんNGNG
SunはサーバOSでLinuxに勝てる自信がそんなにあるのか?
0803デフォルトの名無しさんNGNG
斜め読みしてみても何が言いたいのか良く分からん。

とりあえず Sun 自身が「Solaris の Java 実装はイマイチ」と思ってるらしい
ということは読み取れるけど、これは「Java 自体がイマイチ」いってるわけではないよね。

「(Solaris の Java はイマイチだから) Solaris よりも Linux に注力することで
Sun の負担を軽減したい」ということなのか?
でも Enterprise 分野って Solaris 主流なんだよな。よくわからん。

後半は「JREでかすぎ」とか「バージョンでの互換性低すぎ」とか
「とっととバグ直せ」とかこのスレで言い尽くされた内容ばかりだな。
0804デフォルトの名無しさんNGNG
>>803
俺も読んでみたけど、なんだかなぁって感じがした。
Solarisの話されても、ウチでは使ってないし。
0805デフォルトの名無しさんNGNG
>>803-804
漏れもExcite翻訳使って読んだ。
やっぱりSolaris上で動くJavaだけの問題だったか。

>>789は電波だよ。あの全文ちゃんと呼んでいない厨房。
C#死滅スレPart7でさっきまで暴れていたあいつだよ。
なぜか不思議というか奇妙なくらいにかなりJavaを目の敵にしているみたいなんだ。
0806デフォルトの名無しさんNGNG
おいおい、厨房は隔離スレに引きこもってろよ
0807デフォルトの名無しさんNGNG
>>805
放置を覚えられないやつは何をやっても駄目。 みつを
0808デフォルトの名無しさんNGNG
業務でクライアントアプリケーションをJavaで実装します。
1.4 になって実行速度はほとんど問題ないのですが、
起動時間が遅いのが問題です。起動・終了の多いアプリケーションなので。

そこで次のようなものを考えました。(まだ実装していません。)
JVMをあらかじめひとつ起動しておいて待機します。
ソケットで実行したいクラス名をそいつへ通知します(Cで実装します)。
受け取ったクラス名からインスタンスを生成してあげます(別スレッドで)。

アプリケーションの起動 = ソケットで実行したいクラス名を通知 ということです。

ここで問題になるのが、コードの書き方によっては JVM 自体を落としてしまうということです。
呼ばれたクラスで System.exit() なんて書いてたら、呼出元もろとも即死ですよね?
それと、呼ばれたクラスでエラーが発生したら・・・? これは、呼出元で
catch(Throwable t) {} しとけば大丈夫ですよね。

なにかいいアイデアないですかね?
0809デフォルトの名無しさんNGNG
>>808 自前のセキュリティマネージャをインストール。
でも昔全く同じことをやったとき(1.2とかそのへん)、System.exit()を
投げてきたスレッドグループをどうするかでVMごとの違いがあって
はまったな。単純にSystem.exit()してきたグループをkillすると
AWTまわりのオブジェクトを破棄するVMとかかえたままのVMがあったりして。
最近のはわからん。でも自分でクライアントアプリケーションも実装する
なら「System.exitはつかわない。もしつかったらセキュリティマネージャ
で捕まえてassertのメッセージを出す」くらいでいいだろうね。
0810デフォルトの名無しさんNGNG
> 起動時間が遅いのが問題です。
> 起動・終了の多いアプリケーションなので。

その時点でJavaを選択肢から外さないのがおかしい。
0811デフォルトの名無しさんNGNG
>>810
まぁ、回避策はいくつかあるからねぇ。
0812デフォルトの名無しさんNGNG
無駄な苦労を背負い込みたいならともかく、
判断は冷静にしようね。
0813デフォルトの名無しさんNGNG
IBM製やBEA製のJREって、どうよ?
0814デフォルトの名無しさんNGNG
>>812
これから作るんだったらJava以外の選択肢も選べるだろうけど
もー作っちゃってる場合はJavaで起動時間短縮する工夫した方が早いっしょ。
0815デフォルトの名無しさんNGNG
JET3.0使ったやついる?
コレ結構いいよクライアントサイドにはもってこいだな
SWTも使えるし・・・
いま、体験版だけどマジで製品版買おうかな?
JETで作ったSWTのサンプルexeプログラム(Winのエクスプローラ風)ここからDLしてみそ
ttp://www.xlsoft.com/jp/products/jet/jetswt.html
0816デフォルトの名無しさんNGNG
>>814
冷静な判断という言葉の意味を判ってないのね。
0817808NGNG
Java以外に GUI が書ける言語は VB くらいしか知りません。
アプリケーション上に表示されるGUI部品が動的に変わるので
VB には荷が重いかと思いました。

C# のほうが良いとも思うのですが、文法はともかくクラスライブラリの
使い方やクセを覚えるのにそれなりに時間がかかると思いまして。(C#未経験)
(Swingもそれなりに使えるようになるのに時間かかったし…)
0818デフォルトの名無しさんNGNG
>>817
Swingよりハラクダヨ。そんなにディープなことが出来ないようになってるし。
0819808NGNG
>>815
以前ちょっとだけ使ったことがあります。実行速度をちょっとでも速くしたい、
というのならともかく、配布を簡単にしたいということであればオススメしません。

スタンダードエディションでは、実行クライアントへ JRE と JET を
配布する必要があります。結局、足枷が増えるだけですね。

Webで公開されているサンプルのように JRE から独立したフルネイティブで
コンパイルするにはプロフェッショナルエディション + SWT使用 が必要です。
0820808NGNG
>>818
ちょっと本屋に行って、VS.NET体験版付き買ってきます。
0821デフォルトの名無しさんNGNG
iアプリを作るソフトがJavaで糞すぎて.NETアプリになったとどこかにあったが。
0822デフォルトの名無しさんNGNG
>>821
DoJa Builderは、DoJa(iアプリ)アプリケーション開発ツールです。
NTTドコモのiアプリ開発を強力にサポートします!
http://www.skyarts.com/japan/products/programing/dojabuilder/index.html

Q:なぜ.NET Frameworkが必要なのですか?

 DoJa Builder Ver 1.xはJavaアプリケーションでした。しかし、
そのことにより以下の問題点がありました。

起動が遅い
動作が重い
GUIが使いづらい
ホイールマウスが使えない(JDK1.3の場合)
ダイアログが後ろに行くと元に戻しにくい
  これらのことからユーザーの開発効率をあげるためにはVer1.xを引き継いで
Javaアプリケーションのままバージョンアップを行うことは難しいと判断しました。
0823デフォルトの名無しさんNGNG
今のところ
Java ─ めんどい。
.NET ─ らく。高機能。
0824デフォルトの名無しさんNGNG
.NETアプリだと1回目の起動は遅いが(もちろんJavaよりは速い)
2回目以降はものすごく速い。
起動・終了繰り返すものなら適当だと思う。
0825デフォルトの名無しさんNGNG
>>822
そう、それそれ。ありがとう。
悲しい現実ですね。
0826808NGNG
VS.NET評価版付きの書籍買ってきました。これからインストールです。
ところでみなさんクライアントサイドでのJavaあきらめて .NET ですか?
0827デフォルトの名無しさんNGNG
>>816
「冷静な判断という言葉の意味」って何?
0828デフォルトの名無しさんNGNG
>>826 Winでしか動かないものには興味が無いから.NET使う予定無い。
Unix系でしか動かないものなら興味ある。
0829デフォルトの名無しさんNGNG
>>827
意味の意味について問いただすと深いぞ。
0830デフォルトの名無しさんNGNG
>>828
mono試してみて
0831デフォルトの名無しさんNGNG
>>830
動かない on FreeBSD
0832デフォルトの名無しさんNGNG
起動が遅い
動作が重い
GUIが使いづらい

これを2ちゃん以外の場所で目にするとは・・・現実って残酷ですね
0833デフォルトの名無しさんNGNG
>>828
じゃ、Cで決まりですね。
0834デフォルトの名無しさんNGNG
>>832
しかもiアプリ開発に.NETというところがミソですな。
0835デフォルトの名無しさんNGNG
>>832 そういうページをレンタルサーバ使って公開すればいくらでもそんなことかける。
0836デフォルトの名無しさんNGNG
>>832
実際に製品を作って、売ってる人たちの言葉だからな・・・
結構なクレームが来たんだろう。
0837デフォルトの名無しさんNGNG
>>836 とにかく、クライアントサイドJavaがもっと普及するのは
もっと待たないといけないと言うことだな。
ハードウェアの性能向上を待つのみ
0838デフォルトの名無しさんNGNG
>>837
そう言われ始めた頃から既にCPU、メモリともに10倍の進歩を遂げてるけど、
未だに待ち続けてるよね。

待ち疲れますた・・・
0839デフォルトの名無しさんNGNG
結構大きめのシステムになると Javaだから遅い、ということには
ならないすね。誤差になってきます。
たとえば 朝一度立ち上げて 夕方まであげっぱなし、なんて運用の
プログラムだと Javaでも十分いけるです。
Swing部品がいけてない、ってのは たしかに初心者の開発者が
そう誤解しても仕方ない面がありますけど、
好きなだけ いじくりまわせるので、一度凝った部品作ったことがあれば、
VBなら部品購入しなきゃできないような機能も
簡単につくれるようになるす。
わたしは Delphi も VBも C#もさわりますが、Javaのクライアントもいいすよ。
0840デフォルトの名無しさんNGNG
>>836
つまり、一般配布用には使い物にならないってことだよね。
メーカーさんには申し訳ないけど、いい実験例だったと思うよ。
0841デフォルトの名無しさんNGNG
それならネイティブで作ればいいのに。また実験を繰り返してるね、そこ。他人事だけどさ。
0842デフォルトの名無しさんNGNG
ここで妄言を撒き散らすよりはマシなんでネーノ?
0843デフォルトの名無しさんNGNG
>>841
それは言っちゃダメでしょ。
0844デフォルトの名無しさんNGNG
妄言ってたとえば839?
あ、837か。
0845デフォルトの名無しさんNGNG
あきらめが肝心。
0846デフォルトの名無しさんNGNG
>>844
>>1-999 までの全てを妄言と認定します。
0847デフォルトの名無しさんNGNG
>>836 メーカー側のプログラマの作り方が気になる。
一つのメソッドに無駄にオブジェクトをnewしているとか
不要なオブジェクトにnullをポイントしていないとか
ループ文の外側でできることをわざわざ内側で無駄に処理しているとか、
気になる。

>>838 もっと待て。

>>839
Javaは一度起動すると他の言語で作ったものと速度差が少なくなるものが多いんだな。

>>841
SwingがほかのGUIと同じくらいパフォーマンスになるには
どんなコーディングにすればいいのか、という分析をしてからそういう発言をしてくれ。

>>841 代わりになるものが無いからJavaで作っていると思う。
0848デフォルトの名無しさんNGNG
>>822 プログラミングにはJavaで
開発環境だけが.NETということで
携帯電話が.NET対応になったわけじゃないのか。
0849デフォルトの名無しさんNGNG
必死だな
0850デフォルトの名無しさんNGNG
>>849
「(藁」が抜けてますよ。
0851デフォルトの名無しさんNGNG
>>850 NGワードに入れられているからわざとはずしてんじゃね?
0852デフォルトの名無しさんNGNG
>>851
笑った。見ちゃった?
0853デフォルトの名無しさんNGNG
もしかしてリア厨連呼の人か?
死滅スレに引きこもってろよ
0854デフォルトの名無しさんNGNG
何年経ってもダメだと思うが。
0855デフォルトの名無しさんNGNG
OracleとかJBuilderとかが、自分専用JREをインスコしやがるのが
激しくむかつくんですが。

常にランタイム同梱ならSmalltalkで作ったって同じだな。
0856デフォルトの名無しさんNGNG
>>855
Oracle とか Borland に文句言えば?
0857デフォルトの名無しさんNGNG
> 常にランタイム同梱

JREはバージョン違いでの動作の違いが甚だしいから、
そうするしかないよ。
0858デフォルトの名無しさんNGNG
>>855 インスコできないようにコントロールできなかたけ?
0859デフォルトの名無しさんNGNG
839です。
他言語との比較でいうと、マルチプラットフォームなのと
資源配布が異様に楽なのを のぞけば、
「あまりかわらない」というレベルでしょうか。

「Javaだと開発がラクだと聞いたぞ、その分開発費が浮く
だろうから安くしろ」なんていうお客様もいらっしゃいますが、
クライアントJavaを普段開発してるモノとしては
何をお寝言をおっしゃっていらっしゃってございますか、
という感想ですね;〜)
0860デフォルトの名無しさんNGNG
マルチプラットフォームは寝言っしょ。
0861デフォルトの名無しさんNGNG
>>859 C++と比べればJavaが楽だといいたかったのでわ
0862デフォルトの名無しさんNGNG
DoJa Builderははじめて聞いたわ、スクリーンショットいる限り普通のDoJaと変わらない気がするし
Javaのiアプリツール、別に使いにくいとは思わんかったけどなぁ
Forteレベルのソフトは重くて使い物にならないけど
0863デフォルトの名無しさんNGNG
>>862 antやEclipseは?
IDEにたよらずant、がいいねえ。
0864デフォルトの名無しさんNGNG
>>819
JETもJRE(Sun)も入ってないPCで試したけど>>815のサンプル動いたぞ
体験版は入ってないと動かないと書いてあったが・・・
勘違いしてんじゃねーの?
JETの仕組みはよくしらんが、ただ単にclassファイルを
exeに置き換える、つまりJavaのAPIをWinのAPIに置き換えて
コンパイルしなおしてんじゃないの?
だから、出来あがったexeファイルは純粋なWinの実行ファイルじゃないの?
0865デフォルトの名無しさんNGNG
> つまりJavaのAPIをWinのAPIに置き換えてコンパイルしなおしてんじゃないの?
……
0866デフォルトの名無しさんNGNG
>>864 WinのAPIってなんすか?
さすがにWin32 APIってことはないですよな。
APIとJVMを間違えていると思われ
0867デフォルトの名無しさんNGNG
>> つまりJavaのJVMをWinのJVMに置き換えてコンパイルしなおしてんじゃないの?
意味不明。
0868デフォルトの名無しさんNGNG
>>867 短絡的すぎ。もっと頭を柔らかく
0869デフォルトの名無しさんNGNG
>>866
> WinのAPIってなんすか?
> さすがにWin32 APIってことはないですよな。
とか言ってるよーな人に短絡的、とか言われちゃったよ。
0870デフォルトの名無しさんNGNG
>>869 ただの揚げ足取りか。暇そうだな。
0871デフォルトの名無しさんNGNG
>>870
あんたもね。
0872デフォルトの名無しさんNGNG
モナーの立場が…
0873デフォルトの名無しさんNGNG
>>871 まあそうだな。それより>>864のいいたいことが気になる。
JETをただでつかえればええんだけどな〜
0874デフォルトの名無しさんNGNG
>>873
GCJ の開発にでも参加するとかすれば?
0875864NGNG
いや、だから細かい突っ込みしないでくれよ
おれJavaくわしくないし大体プログラマじゃないので・・・
で、いいたいことっていうのは
「JETって言うのはJavaでかかれたコードを
C/C++とかに翻訳してコンパイルするんじゃないか?」って言うこと

DLしたファイルがなぜ俺の環境で動いたのか知りたい
0876864NGNG
たとえば
Javaならprintln("abc");と書くのを
JETを通せばprintf("abc");とかに自動的に読み替えて
C/C++ソースファイルとして読み込んでコンパイルするんか?
ということ
0877864NGNG
こう書いてあるが・・・
「JET は Windows のための Java パフォーマンス ソリューションです。
J2SE 1.4 をサポートし、Microsoft Windows 上の環境で
Java VM の必要性をなくします。Java のアプリケーションを、
C++ のスピードで実行、メモリ フットプリントを軽減し、
リバース エンジニアリングに対してもプロテクトされた
ネイティブの Win32 実行ファイルに変換します。」
0878デフォルトの名無しさんNGNG
Binary to Binary の変換でつね。JET にしてみれば *.class ファイルがソース
にあたる。ところで >>815 は禿しく社員っぽい。
0879デフォルトの名無しさんNGNG
このスレは自演がバレバレなのが玉にキズだな。
0880デフォルトの名無しさんNGNG
http://pc2.2ch.net/test/read.cgi/tech/1044983072/56-61
0881デフォルトの名無しさんNGNG
ああ、社員よJETをEclipseプラグインとして組み込みできるようにしてくれ
0882デフォルトの名無しさんNGNG
>>874 GCJって単なる論理計算だけだとHotspotVMが行う動的コンパイルと
速度的に大差ないんだよね。時間的にはどちらもg++の数倍程度。
JNI絡んだベンチマークはやったことがないんだけどどうなんだろ。
■ このスレッドは過去ログ倉庫に格納されています