クライアントサイドJavaどうよ? part2
■ このスレッドは過去ログ倉庫に格納されています
0001Sunがダメ
NGNGマターリ語りましょう。
前スレ
http://pc3.2ch.net/test/read.cgi/tech/1002160815/
0008デフォルトの名無しさん
NGNGとりあえずSunにクレームつけるわけでもなく
「クライアントサイドでJAVAが普及するためにはどうすればいいか」
なんて語るのは妄想で終わってしまい悲しいとは思わないのかな?
0009デフォルトの名無しさん
NGNGIFを語る歴史愛好家みたいなものだから、
そんなこと言わずにつきあってくれよ。
00101
NGNG無駄が嫌いなタイプ?
無駄を楽しめないと面白くないだろう。無駄を楽しもうぜ!
そもそも、趣味なんて全部無駄じゃない。それが楽しいから趣味なんでしょ?
まぁ、ただ単に前スレが1000なりそうだったから、新スレを建てたまで。
クライアントJAVAに関する話題なら何でもいいと思うよ。揚げ足取らないでね。
0011sun shine
NGNGFreeBSDのJavaどうよ?、ぐらいに負けていただけませんか。
PocketのなかのJavaはどう?でも可。
0012前スレ1000
NGNG2ch歴半年にして初めて1000ゲットした。・゚・(ノД`)・゚・。
0013デフォルトの名無しさん
NGNGサンシャインか、惨氏ねか、それが問題だ
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNGインタフェースは美しいと思う。実装は・・・実装の善し悪しを語るようなものではないだろう。うん。
0017デフォルトの名無しさん
NGNG雑誌じゃあんまり話題にならないOSでも、
Linux同等の環境が用意されてるの?
FreeBSDじゃ何か騒動が有ったとか聞いたけど。
0018デフォルトの名無しさん
NGNGSWTの設計は俺も理解不能、速度重視だとああなるのか、それとも設計者が糞なのか・・
あんなのJavaじゃない
0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNGwww.evs.co.jp
社長池上は、
・ASPもダメ
→わずか6ヶ月で撤退(結局、モノは出来なかった)
・Frameworkもダメ
→ニュースリリースは出したが、やっぱりモノは出来ていない
・人材派遣(それも違法請負派遣)
→バカでも立ち上げやすい、違法請負派遣業にやっと落ち着く。でももうだめぽ
の3ダメ男。これはもう、逝け神ぽ。
皆さん、こんな会社にサポートされたいですか?
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
0021デフォルトの名無しさん
NGNG0022sun shine
NGNG残念ながら、*BSD用のJ2SDK(JDK)はSunからリリースされていません。
Linux版をエミュレータで使う事が出来ます。何を持って同等なのかは
わかりませんが、同じJ2SDK(JDK)が使えます。
0023デフォルトの名無しさん
NGNG日本語入力時に未確定文字列(ひらがな等)が、別ウィンドウに表示されてしまって、
見にくいんですが。
0024名無しさん@XEmacs
NGNGそれはそう言う仕様だから。Input Method Frameworkを
実装してないから。
以前jEditのコミュニティでInput Method Frameworkを実
装してくれって言ったんだけど、放置されてる。外人には
必要性が分らんらしい。まあ自分で実装するしかないって
こった。
0025デフォルトの名無しさん
NGNG( ´_ゝ`)フーン
Javaでそんな問題あるなんて知らなかった。JTextFieldとか使ってないのかあ。
0026デフォルトの名無しさん
NGNG.NET SWTが出てきて、これだけははっきりした。
0027デフォルトの名無しさん
NGNG皆が挙って使う道具作りは難しい。
0028デフォルトの名無しさん
NGNG>Javaでそんな問題あるなんて知らなかった。
WindowsだってRichEditとか使わんで
自力描画とかやってれば似たような問題が起こりますが…
>JTextFieldとか使ってないのかあ。
使ってません。ソース読んでみれば?
0029デフォルトの名無しさん
NGNGmonazilla にも登録したりしているようだが、
Linux (正確には FreeBSD の Linux emulation) で動かなくなってる。
http://www.geocities.co.jp/SiliconValley-Cupertino/8188/jbv.html
java.net.BindException: Permission denied
ってエラーが出るので
スーパーユーザでやってみたところ、エラーは出なくなったが
結局ウインドウは開かないままだった。
まあ別にいいっちゃあいいんだが、java でクライアントアプリを作る人って
貴重なので微妙に応援していたり。
しかしいろんな環境で動かそうとすると、Debug Anywhere になる、という罠、
なのかな?
0030デフォルトの名無しさん
NGNGC/C++ で GUI アプリ移植したことある奴なら Java の移植くらい屁とも思うわけ
がないだろーな。一部「100% Run Anywhere」な理想郷があると盲信して裏切られ
たリアル素人だけがブツクサ言ってるだけだ。
0031デフォルトの名無しさん
NGNGGLUIで作ったアプリは一文字も変更しないでいけましたが?
微妙な応援ありがとー
jBV。はGUIとHTTPサーバーの2種類のビューを備えていましたが、
Ver.0.40での設計見直しに伴いGUIビューのサポートを終了しました
エラーは、デフォルトでTCP/IPのポート80を使用するため発生しています。
やっぱりマズイみたいなので、
1024番以降をデフォルトにするように修正しておきます
0033デフォルトの名無しさん
NGNG∧_∧____オワッタナ・・・
/(・ー・) ./\
/| ̄∪∪ ̄|\/
|___終__|/
,,,,∪∪,,, ,,
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGにならないのってどういうとき?
0036デフォルトの名無しさん
NGNG・GUI まわりを作るとき
・データベース周りを作るとき
・"C:\\Hoge" とかハードコードするバカが居るとき
とか。
まぁ大抵は「いろいろな環境で動くアプリを作ることは出来ますが、何も
考えないで作ったアプリがどこでも動くという意味ではありません」だな。
そこを勘違いしてる連中が多すぎ。
0037デフォルトの名無しさん
NGNGAnytime
0038デフォルトの名無しさん
NGNGJavaを使うとき
003929
NGNGjBV。って Swing を使ったインターフェイスを捨てて
proxy っぽく動作するようになったのか。
dat を直読みして適当に成形して表示すれば
そこそこ速度が出そうな気がするのだが、難しいのだろうか?
まあ自分でやろうとは思わないが (w
ちなみに PC-Unix では 「IE 以外の人は〜」の文と top.html の
中身全部が文字化けする。
漢字コード回りもちゃんと書かないと Run Anywhere にならなそう。
Kylix3 もそろそろだろうけど、過度の期待はしちゃ駄目なんだろうな。
0040デフォルトの名無しさん
NGNG>・データベース周りを作るとき
>・"C:\\Hoge" とかハードコードするバカが居るとき
は分かるんだけどさ,
>・GUI まわりを作るとき
ってもともと標準ライブラリにGUIが組み込まれてるのに何故?
携帯とかって意味?
0041デフォルトの名無しさん
NGNG真面目につめていくと細かいところで色々躓きそうなヨカン。
標準入出力やストリームだけを相手にしてるのと
比べればやっぱり一筋縄ではいかないよ。
でも他の言語での「移植作業」に比べれば劇的な工数節約になってるはずなんだけど
みんな移植工数0を期待してるから悪目立ちするんだよな。
0042デフォルトの名無しさん
NGNG>おいらは自作のJavaアプリがLinuxのGNOMEでドラッグアンドドロップが動かなかった。
ああ,なるほど。そんなこともあるんですか。
#JavaはSwingアプリ作った時に何か遅いのが嫌で辞めてしまったので
#良く分かってないのです。叩かないでちょ。
dat直読みって早いけど、初回にスレ読むときしか使えないからね
(2回目以降も使ってるブラウザもあるけど、使ってないものもある)
まあ自分でやろうとは思わないw
文字コードの問題は、無指定だとOS標準文字コード使う処理が
まだまだ残ってるんで、多少やっぱりなって感じです。
通信関連の部分は、ほとんど指定したつもりだったけど・・・
報告さんくすでした。
近々Linux環境を整えるので、その時にでも修正してみます
0044デフォルトの名無しさん
NGNG今はどうかしらないけど、俺もそれ経験した気がする。
たしかNetscapeのブックマークは拾えたので、Motif系なんじゃないかと
0045デフォルトの名無しさん
NGNGダウソしてきて実行したときって、前のバージョン
にもどすことって可能?
0046デフォルトの名無しさん
NGNG冗談はよせ
0047デフォルトの名無しさん
NGNG具体例(体験談?)キボンヌ
KilixとかコードウォリアーとかJavaよりマルチプラットフォーム楽?
autoconfはどうなの?とかとか
0048デフォルトの名無しさん
NGNG46ではないが、日本含めて4ヶ国語対応アプリ一発でできたよ、
Windowsプラットフォームで動作確認、まぁJavaならあたりまえといえば当たり前だけど
ネイティブだと国ごとにいろいろうっとおしいからな
0049デフォルトの名無しさん
NGNGん?通りすがりのものですが,
どのプラットフォームからどのプラットフォームへ移植したのですか?
0050デフォルトの名無しさん
NGNGハードウェアアクセラレーションが使えるようになり、
素晴らしくスムーズに表示できるようになってたよ。
これはクライアントサイドの朗報じゃないかと。
0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG移植じゃなくて、新規でつくったんだよ
日本語Windowsで作っておいて、世界中にばらばいてやった
0053デフォルトの名無しさん
NGNGまたひとつwrite once debug anywhereの要因が増えちゃったねえ
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNG0056名無しさん@XEmacs
NGNGそれはアプレットだろ
0057デフォルトの名無しさん
NGNGハァ?じゃあ何故>>48のような関係無い話をしたのですか?
ただの勘違いだったのならスマソ
0058名無しさん@XEmacs
NGNG>>48は頭弱いんだろ。
0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNG言わんとしている事はよく理解できるが、ロケール間の動作互換性とプラット
フォーム間の移植性はまた別の問題。まぁ各国語版 Windows を異なるプラット
フォームと捉えることも出来ますが。
0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNGオブジェクトの使いまわしをしなければならない(あらかじめ作っておいた Event オブジェクトを listener に渡す)ほどの状況というのは、標準的にはどのくらいなのでしょうか。
1秒間に数回は起こるイベントでも、イベントオブジェクトを一個作るくらいなら気にしなくても OK なのでしょうか。
0063デフォルトの名無しさん
NGNG想定している動作環境で問題なければいいんでない?
0064デフォルトの名無しさん
NGNGそうっすね。気にしないどきます。
0065デフォルトの名無しさん
NGNGスレッドセーフってどういうこと?
コンストラクタなんかでも、例えば
--
class ACls {
..int x, y;
..public ACls( BCls b){
....x = b.getX()
....y = b.getY();
..}
}
--
この b.getX(), と b.getY() 実行する間に、b の の x と y の値がズバッと変わっちゃったりしたら、
ACls のオブジェクトの x, y の値は変なものになってしまうってこともありうるんですか。
(そうするとキリが無いような気がする)
0066U ◆tFsGiu0c
NGNGコンストラクタをスレッドセーフにする必要はないと思うけど:-)
普通のメソッドだったらそういうことです。ただ同期をとるのは
最小限にしないとパフォーマンスに悪影響があります。
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGいや、この場合状態を持ってるのは b だから、コンストラクタ実行中に
別スレッドが b の状態を非アトミックに変えたら変なことになるかも。
あとコンストラクタ内で static フィールドいじるようなときはスレッド
セーフになるように意識しなきゃいけないし。
0069U ◆tFsGiu0c
NGNG>いや、この場合状態を持ってるのは b だから、コンストラクタ実行中に
別スレッドが b の状態を非アトミックに変えたら変なことになるかも。
なるほどね。じゃあ、
synchronized(b) {
}
で囲む必要があるわけか。でももし仮にgetX、getYがstaticフィールドの
値を返すのであればこれも意味ないね。
>あとコンストラクタ内で static フィールドいじるようなときはスレッド
セーフになるように意識しなきゃいけないし。
それはもちろん。
0070デフォルトの名無しさん
NGNGこんなのどうですか?
JDesktopPaneとJInternalFrameを使って、
動的に読み込んだクラスをJInternalFrameに
表示するアプリを作る。(ある意味仮想デスクトップ)
各アプリは、InternalFrameで表示できる形にしておく。
仮想デスクトップなアプリを常時立ち上げておき、
そこにそれぞれのアプリを呼び出せば、
それぞれの立ち上げは速いはず。
今試してますが、結構いけそうな・・・
InternalFrame対応のアプリ
(ほとんど単にJFrameをJInternalFrameに置き換えるだけ)
がどんどん増えていけば、標準的な環境になるかも?
0071デフォルトの名無しさん
NGNG単にランチャーではだめなの?
007270
NGNGInternalFrameだと統合環境みたいで
かっこいいかなと思いました。(^^;
どちらにせよ、
内部的に読み込むことで、それぞれSwingを
立ち上げなおさなくていいから
その分の時間が軽減できると思うのだけれど。。
0073rubyist
NGNG0074名無しさん@XEmacs
NGNGhttp://www.jdistro.com/
とりあえず、あんたの言うようなものは既に開発されてる。
0075デフォルトの名無しさん
NGNGつーかどうしてJavaでクライアントサイドつくるヤツってこうセンスがないんだろう
Swingそのものも問題だけどSwingを扱ってるヤツらのセンスも相当問題だ
0076デフォルトの名無しさん
NGNGJavaが第一義とするのは「美しさ」であることを理解していない
ヴァカは今すぐ殺んでほしいですね。
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNG言語屋のオナニー?
0080デフォルトの名無しさん
NGNG美しくないという意見は多いのは事実。
事実ぐらい受け入れろよ。
0081デフォルトの名無しさん
NGNG誰の意見?
まさか2ちゃんでそういう発言が多い
とか言わないよね(藁
008270
NGNG>>71
ランチャで十分でした。
>>74
やっぱり思いつくようなものは
たいがい作られてますね。
めざせKDEってとこでしょうか。
使い方はわかりにくいですが。
>>75
センスってどの辺の話?
0083デフォルトの名無しさん
NGNG「Mac でハードウェアアクセラレーションが使えるようになった」
→「Debug Anywhere の要因が増える」
っていう話の流れを他でも見かけますが、これってどういう理屈なんでしょう?
「(Win の?) Java 1.4 でビデオメモリに直アクセスするようになったので
描画が速くなった」という話とは根本的に違うことなのでしょうか?
あと、Mac で速くなるのは Swing の Mac Look and Freel だけ?
それとも Swing 全体について速くなるのでしょうか?
なんか中途半端な知識で書いてるので
突っ込みどころ満載な文章でスイマセヌ。
0084デフォルトの名無しさん
NGNG008550
NGNG> →「Debug Anywhere の要因が増える」
> っていう話の流れを他でも見かけますが、これってどういう理屈なんでしょう?
APIの中身は変わったけれど、外見は変わらないので、既存のコードは
理屈上問題なく動く。
でも人間のやる仕事に完璧はないので、もしかしたらピュアJava版Java2Dと
OpenGL版(だったと思う)Java2Dで動作が違うことはあり得る。
それでDebug Anywhereの要素が増える。
DirectX版Java3DとOpenGL版Java3D程度の差だろうな。
だから、
> 「(Win の?) Java 1.4 でビデオメモリに直アクセスするようになったので
> 描画が速くなった」という話とは根本的に違うことなのでしょうか?
これは違わない。
> あと、Mac で速くなるのは Swing の Mac Look and Freel だけ?
> それとも Swing 全体について速くなるのでしょうか?
MacのSwingがネイティブコード使ってるってのは本当?
もしもそうなら、Mac Look and Feel以外は速くなると思うんだけど。
たぶんSwing全体で速くなるけど、どちらかというと重要なのは
たとえばJavaでフラッシュ的なことやゲームとかを書きたい時とかじゃないかと。
画像に複雑な回転だとか拡大縮小をかけてピュアJava版と比較してたが、
ピュアJavaだと秒間5か6フレーム程度だったが、
ハードウェアアクセラレーションかかってるのは500フレームとか
無茶な数字が出ていて、そのくせメモリ消費量は減っていた。
JDKのおまけのJava2Dのデモもサクサク動いてた。
あれで何か書いてみたいなあ。
0086デフォルトの名無しさん
NGNGギャグにもならんな
>>センスってどの辺の話?
どの辺もなにも全部、アイコンもメニューも何もかも
Swingはクラス設計はよく出来ている(というか美しく出来ている)
だけにUIのダサさは許せん、即刻腕のいいデザイナーを雇うべき
MacのJavaは高速でAqua LookAndFeelを兼ね備えているらしいので気になっているが
MacOS Xそのものがもう少し軽く、使いやすくならないと買う気にはならない
0087デフォルトの名無しさん
NGNGMFC見ろよお前ら
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNGああいうのはすぐに見飽きるもの。Flash 程度の Swing 用 Look and Feel ビルダー
(スキン感覚程度で使えるもの) を求む。
0090デフォルトの名無しさん
NGNGなにとはいえないが、なんか変な気がする
なにがこう私に感じさせるのだろうか・・・
0091デフォルトの名無しさん
NGNG古いバージョンに対する後方互換を維持しながら、おなじ層を担当する
(初期には想定していなかった)新機能を織り込んでいこうとすると、
マクロ的な見方ではでかいばかりでこ汚い、というものになってくとお
もう。コレは仕方ないことかも。
今から入ってくるヒトには分け分からんこともあるだろうね。
java.ioとjava.nioなんて、なんで両方あるか(なんでこんな分け方
してるのか)納得できるnewbeeっているのかね。
0092デフォルトの名無しさん
NGNGヴァカですか?
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNG今月のソフトウェアデザインに関連記事があります。
「Macには元々ココア&objectiveCというネイティブな開発環境があって、
それがjavaから呼び出せるようになった。」と解釈したけど。。。
なのでswingでもピュアjavaでもなさげです。
ちょっと興味出てきたけど。
009594
NGNGちょっとでも性能を上げようとするとどんどん汚くなってくよね。。
なので可読性&汎用性か性能のどちらを重視するかで
話は変わってくると思う。
ただ性能重視の場合、Cで書いたほうが賢い。
009694
NGNGそれってmetalとmotifのことを指してるの?
WindowsLookAndFeelを使えばべつに普通だし、
SkinLFとか使えば見た目は好きにできるので
ダサいも何もって感じなのですが。
0097デフォルトの名無しさん
NGNGWindows風であってWindowsそのものではない
その微妙な違いがクライアントに評判悪いという話をどこかのスレで見たよ
0098デフォルトの名無しさん
NGNGとりあえず、使えるところではなるべくfinalにすること、
くらいしか思いつきません。
0099デフォルトの名無しさん
NGNG実機を高速なものにする
010096
NGNGはあ。。。勉強不足でした。
そういう次元の話なんすね。
個人的にはL&Fで好きにできるのが
気に入ってますが。
>>98
java特有の方法なら、
できるだけコードを美しく書いて
あとはマシンのパワーでカバーって
ことになる?
それ以外なら
・なるべくインスタンスを使わずに1クラスで書く
・インスタンスは使いまわす
とかなんでしょうか。
0101デフォルトの名無しさん
NGNGアルゴリズムを勉強して、設計も勉強しろ。
0102デフォルトの名無しさん
NGNG・オブジェクト指向を捨てる
010398
NGNG>>101
Java特有の話ではないじゃないか。
>>100
・なるべくインスタンスを使わずに1クラスで書く
これよくわかん
>>102
Javaのインラインアセンブラ萌え
どこかのコードで、高速化のためかフィールドをtransient宣言しまくってるのを
見た事有るんだけど、意味あるんだろうか。
0104名無しさん@XEmacs
NGNGjavaは(VMの起動を除いて)遅いのではなく、処理にかかるコストが見えにくく
なってるだけで、ロジックの処理速度自体は、他の言語と大して変らない。
便利さを犠牲にすればスピードアップは可能
Reader/Writerより、Stream. Stringよりbyte[]かchar[].
JDKクラスライブラリよりプリミティブ型を使って自前で実装
とか。
> どこかのコードで、高速化のためかフィールドをtransient宣言しまくってるのを
> 見た事有るんだけど、意味あるんだろうか。
直列化のコストが減る。
010596=72
NGNG>>・なるべくインスタンスを使わずに1クラスで書く
>これよくわかん
>>102 におじ
あとgcとフィールド変数のnull化をしっかり行う。
なんにせよどんどんjavaらしさはどんどんなくなってくね。
あとはVM立ち上げのオーバーヘッドをなくすために
ランチャ(以下略)
010698
NGNG>javaは(VMの起動を除いて)遅いのではなく、処理にかかるコストが見えにくく
>なってるだけで、ロジックの処理速度自体は、他の言語と大して変らない。
状況によってはJavaの方が原理的に早くできる可能性があったりするしね。
・実行時に実行環境(CPUのモデルなど)の情報が得られるので、
実行環境にあわせて最適化する事が出来る。
・GCがメモリのデフラグしてくれるので、ヒープメモリの取り扱いに有利
・実行時の統計(if文でどっちに分岐するか等)を元にして、
動的に最適化することができる。
これをJREが実装してるか否かは別の問題モナー
>直列化のコストが減る。
直列化しないときでも影響あるのかな?
あと細かいところでは、StringじゃなくてStringBufferを適宜使う、
変数名を短くする(←そんなに効果有るのか?)、
内部クラスはなるべくstaticにする、
ArrayListで要素のサイズが確定した後はObject[]にコピーしてそっちを使う、
try catchはなるべく使わない、
等を思いつくのだけど、どうだろう。突っ込み歓迎。
0107デフォルトの名無しさん
NGNG対応してるのだから、JavaVMも対応しろYo。
■ このスレッドは過去ログ倉庫に格納されています