クライアントサイドJavaどうよ? part2
■ このスレッドは過去ログ倉庫に格納されています
0001Sunがダメ
NGNGマターリ語りましょう。
前スレ
http://pc3.2ch.net/test/read.cgi/tech/1002160815/
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。
0108デフォルトの名無しさん
NGNGJava関連のコメントや要望宛先一覧。
0109デフォルトの名無しさん
NGNGOSに組み込め
0110デフォルトの名無しさん
NGNGJavaのtry-catchはC++と違って性能に影響を及ぼさない
0111デフォルトの名無しさん
NGNGでも、throw使うと急に性能が悪くなるんだよな、これが。
0112デフォルトの名無しさん
NGNGそれってVMの実装に依存するんでないの
0113デフォルトの名無しさん
NGNGボトルネックな部分を探して、そこに
・なるべく処理を回さない
・それがio系なら裏で処理をさせる
・その部分だけ、バイトコードorCで書く
0114デフォルトの名無しさん
NGNG・最初に/*を書く
・最後に*/を書く
・コンパイル&実行
↓
ウマー
0115デフォルトの名無しさん
NGNGtry-catchの部分のバイトコードを逆アセンブルしてみれば
「例外が投げられないかぎり」性能に影響を与えないコードになってるのがわかる
例外が投げられると性能が落ちるのは111の言うとおり
(C++だと例外が投げられようが投げられまいがtry-catchを書いただけで性能が落ちる)
011698
NGNG1.5でasmブロックの導入きぼーん(大嘘)
今日の作業で、Jythonで記述したPlug-inへの呼び出しが
パフォーマンスのボトムネックになってることを発見しますた。
Plug-inの記述言語をJythonから生バイトコードにしようか検討中(萎え
0117アフォ
NGNGCYGWINのSETUPみたいにTOMCAT落とせると最高なんだが。
0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG一瞬WebStartのことかとオモタ。
ちなみに知らない。糞レスすまそ
0120デフォルトの名無しさん
NGNGやっぱりクライアントサイドはだめぽ
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNGグラフィックカード依存の Windows クラッシュバグが直ってないと入れる気にならん…。
でもそういう情報ってどこにあるんだろ。
試してまた青画面ってのも精神衛生上良くないし。。
0123名無しさん@XEmacs
NGNGリリースノート
0124デフォルトの名無しさん
NGNGと思ってたらちゃんと書いてあるのね。失礼。
1.4.1: http://java.sun.com/j2se/1.4.1/relnotes.html
1.4.1_01: http://java.sun.com/j2se/1.4.1/ReleaseNotes.html
でも俺が気になってるバグは直ってなかった…。トホホ。
0125デフォルトの名無しさん
NGNGBugParade じゃなんか勘違いしてるみたいだし鬱
0126デフォルトの名無しさん
NGNGというあたりがネックになってると妄想
0127デフォルトの名無しさん
NGNG0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNGSWT Look and Feel が出る予定です
0130デフォルトの名無しさん
NGNG0131名無しさん@XEmacs
NGNGハァ?
0132デフォルトの名無しさん
NGNGいう共通認識がある。というか、実際クソ。
0133アフォ
NGNG俺は、J2EEをもったいぶらずに、クライアントサイドへ持ってくればいいと思う。
CachedRowSet 欲すぃ。
そして、それを利用したライブラリからライセンス料搾取しないでホスィ。
Swingのどの辺が駄目?CollectionViewとか見てみた?
久しぶりにこっちも。
http://www.bekkoame.ne.jp/ha/vzy03312/asrabbit/
そしてWeb上にでっかいメモ帳が欲しい。 no-ip.com 検索中。
0134デフォルトの名無しさん
NGNG速度もそんなに遅くなくなってきたし、融通は利くし。
0135デフォルトの名無しさん
NGNG一応つっこむけど
嘘だよな!?
0136デフォルトの名無しさん
NGNG>>CachedRowSet 欲すぃ。
Serializeの使い方わかってるなら、ValueObjectを適当に作って
RMIでオブジェクト丸ごと投げればいいだけじゃないのけ?
0137デフォルトの名無しさん
NGNGどうでもいい機能がいっぱいついているクセに肝心な機能がついてない
レイアウトマネージャの動きも
マトモな人間が考えたとは思えん
0138デフォルトの名無しさん
NGNG0140デフォルトの名無しさん
NGNGXはウィンドウマネージャー次第でぜんぜん違うし
やっぱりクロスプラットフォームが足枷
0141デフォルトの名無しさん
NGNG0142125
NGNGタスクトレイは別にいらない気がするけど。
0143アフォ
NGNGjava.awt.ToolKit に関係しそう。
0144デフォルトの名無しさん
NGNGバルーンヘルプじゃないの
0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNGどうやるのか教えてくだされ
0147デフォルトの名無しさん
NGNGJavaでの?
0149デフォルトの名無しさん
NGNGこれは違うの?
http://developer.apple.com/techpubs/macos8/HumanInterfaceToolbox/WindowManager/ProgWMacOS8.5WindowMgr/WindowMgr.11.html#26179
0150デフォルトの名無しさん
NGNGこれでしょ
http://developer.apple.com/techpubs/macosx/Cocoa/Reference/ApplicationKit/Java/Classes/NSWindow.html
つーかSwingってAppkitがもとらしいね。
0151146
NGNGありがとうございます。
この御恩はMacで最強の2chブラウザを作ることで
返させていただきたいと思います。
0152アフォ
NGNGそして、俺のは放置?
0153146
NGNGネイティブJavaじゃなくてCocoaフレームワークを
使ったものです。
言語はJavaなんだけど、独自のAPIを使います。
最近AppleのSwitchキャンペーンでMac買ったんですが、
思ったよりはイイ感じです。
OSXはそのままJavaアプリケーションを実行できますし、
ネイティブアプリに変換することもできます。
(OSに付属しているToolでできます)
OS9はJavaアプリケーションはそのまま実行できないんですが、
MRJ SDKを使ってネイティブアプリに変換すれば実行できます。
(ネイティブというところに語弊があるかもしれませんが)
最新のMRJ(OS9のJRE)でもJRE1.1.8相当なのでSwingとか
使えませんが。
なかなか楽しいっすよ。
仕事に結びつくことはないと思いますが。
0154デフォルトの名無しさん
NGNGカレントディレクトリがデスクトップになるのな。おまけにスタートメニューからだと"c:\"になってる。
インストールディレクトリという概念がないから、ユーザに指定させない限りローカルに設定ファイルとかを作れないような気が。
そりゃ絶対パス指定は出来るけど…"/"とか"/tmp"にファイル作るわけにも行くまい…。
たとえばWebクライアントアプリのキャッシュとか設定なんかはどこに保存すればいいんだろう?
0156デフォルトの名無しさん
NGNGPreferenceAPIでも使えばいいのではなかろうか
0157アフォ
NGNGしゃかしゃかうけた
0158デフォルトの名無しさん
NGNGPreference じゃ無理があるような…。中立なアプリケーション毎のワーキングディレクトリ名が得られればいいわけだけど。
> 155 なるほど
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG大音量悲鳴ページ
0162デフォルトの名無しさん
NGNGつーか MFCのほうがよっぽどヤバイでしょ
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNG逃げ場(Win32API)があるだけまだMFCの方がましかも。
つか、AWTでワーカースレッドからUIスレッドに非同期イベント通知する
時ってどうやるんだ?
googleった結果
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent();
とかでシステムキューにイベントぶち込めば行けるのかと思ったが、AWT
組み込みのコンポーネント以外(自分でComponentを派生したクラスとか)
だとちゃんとイベント通知してくれないっぽいんだが。
(「ぽい」というのは、面倒くさすぎて嫌になって途中で解析やめたから)
MFC or Win32APIならPostMessage()一発なんだけどね。
0166前スレノ1
NGNGhttp://orto.jp/
使い物になるかどうか判らないが、アイデア自体の面白さと、がんがん実装してるのとで好感度高し。
0167デフォルトの名無しさん
NGNGEventQueue.invokeLater()が汎用臭いがどうよ?
0168165
NGNGサンクス。
あんまり細かく検証してないが、デッドロックはしなかったからこれで
行けそう。
しかし、同期用にクラス作らんといかんというところで、いまいちこう
釈然としないのは漏れだけかねぇ…
0169デフォルトの名無しさん
NGNGこれもクラスがこっそり作られてるからなあ...
> 同期用にクラス作らんといかん
inner classで済むからまだマシかもよ
0170デフォルトの名無しさん
NGNGアイデアはおもしろい。というか.NETに似てる。
だけど、あのブラックボックスを使う勇気はない。
0171デフォルトの名無しさん
NGNGJavaScriptで仮想マシンを実装してるんだよね。
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNGJavaScriptの記述ミスがコンパイルエラーではねられるだけでも
価値がありそう
これがJakartaプロジェクトなら・・・
0174166
NGNGサーバ側との通信が自由に出来るようになれば、かなり使いでがありそう。
0175デフォルトの名無しさん
NGNGところでこれが.NETに似てるの!?本当なら.NET age
0176デフォルトの名無しさん
NGNGPATH=%PATH%;"C:\jdk1.4\bin"
↑
これが分かりません。
パスが通ってないんですよね?僕。
どうやったらいいんでしょう
AUTOEXEの起動方法からお願いします
0177デフォルトの名無しさん
NGNGつーかJavaScriptにソケット扱えるんかいな。
IEのJScriptに限定にすればCOM絡みで裏技がありそうだけど。
0178デフォルトの名無しさん
NGNGMozillaのRhinoならオールパミッション付与かも・・・
0179デフォルトの名無しさん
NGNGおそらくIFRAMEネタでしょ。
そこにXML読み込んで解析みたいな。
0180デフォルトの名無しさん
NGNGhttp://202.219.16.201/~ytm/java/laf/
にありました。
みなさん知ってるかもしれないけど、こんなに種類があるとは知らなかった・・
0181デフォルトの名無しさん
NGNGアレはどーなったんだろう?
0182デフォルトの名無しさん
NGNGそのページ見ると、AudioLookAndFeelはSUNが投資して研究中で成果物はまだないとの事だけど
AudioLookAndFeelという発想事態糞だし、だいたい、いつから研究してんだよ、つくるならさっさとつくれるだろって感じ
0183デフォルトの名無しさん
NGNGどうして、クライアントの声がsunには届かないのか、、
0184デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています