X



Google NaCl プログラミング 2mol
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2011/02/25(金) 15:17:57.50
GoogleのNaCl環境でプログラミングする人のためのスレ
Chromeブラウザーは7から--enable-naclオプションを付けて起動するとNaClが有効になります。
※ Chrome 10.x 以降推奨

Native Client SDK : ttp://code.google.com/intl/en/chrome/nativeclient/
Examples: ttp://code.google.com/intl/en/chrome/nativeclient/docs/examples.html
More Examples: ttp://code.google.com/p/naclports/source/browse/#svn%2Ftrunk%2Fsrc%2Fexamples

前スレ
http://hibari.2ch.net/test/read.cgi/tech/1291875057/
0126デフォルトの名無しさん
垢版 |
2011/07/21(木) 20:41:10.18
>>123
マジメな話、Google MapをGoogle Earthに置き換えるとかだろ。
あと、youtubeの動画編集をyoutube内でするとか。
てか>>114-116の流れ見れば具体的な話が解ると思うけど。
0127デフォルトの名無しさん
垢版 |
2011/07/21(木) 21:12:55.68
>>126
考えてみたけど、動画の編集は NaCl で作っても簡単には行かないと思うわ
ちょっとエフェクト足す程度なら JavaScript でも出来そうだし、ガシガシ
編集するなら制限の無いローカルアプリの方が圧倒的に良いし、微妙な感じ
0128デフォルトの名無しさん
垢版 |
2011/07/21(木) 21:32:16.61
スマホアプリのほとんどが、ブラウザで実行させると遅すぎて使いにくいから、ローカルというかネイティブというかになっている。
0129デフォルトの名無しさん
垢版 |
2011/07/21(木) 21:39:26.97
Fedora13で
native_client_sdk_0_4_907/build_tools/nacl_sdk_scons/make_nacl_env.py
を使ったらbuild環境展開できるのかと思って実行してみたらこんなメッセージが出てきた

Traceback (most recent call last):
File "make_nacl_env.py", line 15, in <module>
from SCons import Script
ImportError: No module named SCons

sconsコマンド自体は入ってんだけど何でだろうか?
0130デフォルトの名無しさん
垢版 |
2011/07/21(木) 21:55:15.47
こんな感じかな。

□ JavaScript の場合
編集したい Youtube 動画のサムネイルを、サーバ側で切り出して、ブラウザ上に並べる。
そのサムネイルに対して、予め幾つか用意してあるエフェクトを指定したり、キャプションを
入力したり、編集したい内容を指定。編集内容をサブミットすると、サーバ側で合成。
→ 実際の処理は全てサーバ上で行われるので、動画データ自体をやりとりする必要は無い。
→ ローカルの環境への負荷は低いのでタブレットとかスマホでもオケ。

□ NaCl or ブラウザプラグインの場合
編集したい Youtube 動画を NaCl 上のプログラム内のメモリにダウンロード。
ブラウザ上で編集、プレビュー等を済ませ、完成したらアップロード。途中で作業を
中断する場合は、編集中のデータをサーバにアップロード。
→ 通信量多い、ローカルのCPU負荷高い、編集の自由度は高い。

□ ローカルアプリの場合
メモリもファイルシステムも使い放題なので、好きなだけ自由に編集して、気が済んだら
Youtube にアップロード。
→ 素材も好きなだけ使えるし、処理時間の掛かるエフェクトも好きなだけ使えるので
  編集の自由度は最も高い。
→ 動画サイトに載せたくない個人的なムービーも当然作成出来る。
0131デフォルトの名無しさん
垢版 |
2011/07/21(木) 22:08:03.59
ネイティブクライアントを邪気にしてないか?
サーバーに負荷がかからずシームレスな編集ができるってのは重要でしょ。
ただでさえエンコまちで数十分またされる動画サイトは多いわけだし。
ネカフェとかクライアントツールがない場所でも手直しができるも利点でしょ。
あと、クライアントのリソースを自由に使えるのは許可さえすればネイティブクライアントでも
できる訳だし殊更スタンドアロンアプリで強調する事じゃないよね。
0132デフォルトの名無しさん
垢版 |
2011/07/21(木) 22:26:03.37
>>131
真面目に動画編集をするなら、ファイルシステムにアクセス出来ないのは結構致命的じゃないの。

・メモリに入り切る処理しか出来ない(テンポラリデータをファイルに待避したり出来ない)
・ローカルにある素材(サウンドファイルとか別の動画とか)にアクセス出来ない

Youtube に上がってる数十 MB の動画を加工するだけなら NaCl でも充分だとは思うけど、
それにしても、音声を差し替えたいと思ったら先にデータをアップロードしておかないと
いけないのは面倒でしょ。
0133デフォルトの名無しさん
垢版 |
2011/07/21(木) 22:38:07.11
現状テンポラリが作れなくてもそのうち使えるようになるでしょ。
アルファ版状態の現状で用意されてないAPIをネイティブクライアントの
欠陥とみなすのは早計。もしかしたら、googleはブラウザをOS化する可能性も有るわけだし
#まぁ、既にネットブック用のブラウザOS作ったし時間の問題だと思うけど。
0134デフォルトの名無しさん
垢版 |
2011/07/21(木) 23:18:32.41
無い物は無いよ
何で現状無いのかを考えれば、今後も自由にはならないと思うけどね


答え)サンドボックスが売りだから
0135デフォルトの名無しさん
垢版 |
2011/07/21(木) 23:22:34.73
テンポラリデータがセキュリティホールになるかいな。
容量だってユーザーで制限できるだろうし。
ファイルアクセスだってアップロードダイアログと同じように作れば実績もあって十分だし。
0136デフォルトの名無しさん
垢版 |
2011/07/21(木) 23:25:34.09
タヌキの皮が何枚になろうがどうでもいいから具体的な開発の話をしてくれ。
とりあえず >>129 の辺り他の人はどうしてる?
0137デフォルトの名無しさん
垢版 |
2011/07/21(木) 23:32:27.96
>>135
夢を見るのは構わないけど、現状は JavaScript 経由で WebStorage を使うとか言ってるレベルでしょ?
あんまり時間が掛かると、ホントに Google Earth が JavaScript で実装される時代になるよw
0139デフォルトの名無しさん
垢版 |
2011/07/22(金) 00:35:31.93
>>137
Javascript経由しなくてもできなくはねぇなぁ。
プログラムをこうしてやればいい。限定的にstdioなんかが使えるようになる。
toolchain/bin/nacl-sel_ldr -a test.nexe
0141デフォルトの名無しさん
垢版 |
2011/07/22(金) 01:03:16.39
このコマンド打つのはプログラマー。
実行許可すんのはブラウザのユーザーだけど?
Flashと同じじゃん。
0144デフォルトの名無しさん
垢版 |
2011/07/23(土) 03:41:52.49
最初、googleはWebGLとJSで3Dレンダリングするのは速度でないから(WebGLは)いらないという立場だったけど、
今は、速度に問題ないとして推進する立場。
NaClも開発進めてるけど用途は減っていってる。
自分は、Webで動くAndroidアプリ実装や言語エンジンがほしい。
0145デフォルトの名無しさん
垢版 |
2011/07/23(土) 05:25:24.59
米Googleは米国時間2011年7月20日、同社が開発中の技術を試験公開するサイト「Google Labs」の
活動を停止する意向を明らかにした。同社製品への取り組みを優先するためとしている。

 同社Research and Systems Infrastructure部門上級バイスプレジデントのBill Coughran氏は
「早期プロトタイプをGoogle Labsに投じることにより多くを学ぶことができたが、目の前にある
莫大な機会を最大限利用するには、これまで以上に集中することが極めて重要だ」と説明している。

 Google Labsの終了により、開発中の多くのプロジェクトは中止となり、一部の技術は既存製品に
統合される。また、Google Labsで手がけているAndroid向けアプリケーションは、同社のモバイル
アプリケーションストア「Android Market」で提供することになる。

 なお、各製品内で新機能を実験提供する「Gmail Labs」や「Maps Labs」といった試験チャネルに
ついては変更する予定はないという。

 Coughran氏は、「6月にSNS『Google+』のフィールドテストを早期開始したことが示すように、
当社はGoogle Labsを支えていたスピードとイノベーションを今後も推進していく」と付け加えた。

 Google+はSNS大手「Facebook」に対抗して立ち上げたプロジェクトで、6月28日より招待制で
試験運用を行っている(関連記事:Google、Facebook対抗のSNS「Google+」を発表、
「現実世界の人間関係を再現」)
0146デフォルトの名無しさん
垢版 |
2011/07/23(土) 08:01:40.14
>>144
>NaClも開発進めてるけど用途は減っていってる。

Google が持っている開発ターゲット環境は、Go もあるし JavaScript(V8/Traceur) もあるし
Java(Dalvik/GWT) もあるから、どうしても話題が埋もれちゃうよね
0147デフォルトの名無しさん
垢版 |
2011/07/27(水) 03:15:56.18
>>133,137
JavaScript経由でFileAPIのテンポラリストレージを使えば今でも1Gまでは保存できるよ。
ttp://code.google.com/p/nativeclient/issues/detail?id=566
を見るに、NaClから直にファイル使えるようにする気はあるらしい。
0148デフォルトの名無しさん
垢版 |
2011/07/30(土) 21:48:40.20
NaCLで
CからopenGL使ってるさんぷるがまったくみあたらない
ヘッダはあるけどまだ使えないの?
0149デフォルトの名無しさん
垢版 |
2011/07/30(土) 22:52:49.86
>米Googleは米国時間2011年7月20日、同社が開発中の技術を試験公開するサイト「Google Labs」の
>活動を停止する意向を明らかにした。同社製品への取り組みを優先するためとしている。

エエエエェェェェ〜。 NaClどうなんの〜?
0153デフォルトの名無しさん
垢版 |
2011/07/30(土) 23:53:27.01
ひどくなるかは知らんけど、SDKの開発は止まりそうな気がする。
ヤル気があるようにみえんし、リリース製品で本格稼働してる機能でもないし。
0162デフォルトの名無しさん
垢版 |
2011/08/01(月) 00:54:06.96
毎月上がる理由は、Chromeが1ヶ月ごとにバージョン上がるのにあわせただけだった。
今後は、どうなるんだろう。
0164デフォルトの名無しさん
垢版 |
2011/08/01(月) 02:08:57.46
>>13
Chromeのプロジェクトページに、NaClのプロジェクトページができてた。
https://sites.google.com/a/chromium.org/dev/nativeclient

今後の開発ポイントは、下位レイヤーの残り(OpenGLとLLVM)と、Webアプリケーション開発キットだと。

・試験的なOpenGL ES 2.0 サポート(Chrome 15目標)
https://sites.google.com/a/chromium.org/dev/nativeclient/how-tos/guide-to-experimental-3d-support

・PNaClのリリースロードマップ(リリース目標8/1〜)
https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/release-roadmap

・c_salt: a Web Application Development Kit
https://sites.google.com/a/chromium.org/dev/nativeclient/sdk/sdk-experimental/c_salt-design
0165デフォルトの名無しさん
垢版 |
2011/08/01(月) 19:36:21.23
うっしゃぁまだ無事か。これで投げ出さずに済みそうだ。
関係ないがautotoolに手こずる。コンパイラをどうやって切り替えるんだ?
0166デフォルトの名無しさん
垢版 |
2011/08/07(日) 00:34:58.97
>164
LLVMの話はARMとx86以外かと思ったら、
・もともとx86で高速なネイティブサンドボックス化ができるところがプロジェクトの開始点
・AndroidやChromeOSとARMさんの方でやれる方がモバイルバッテリーで高効率ということでポイント高い
・ARMネイティブつくってみたけど、なんかしっくりいかない
・LLVMならARM最適化できそう
ってことなのね。
0167166
垢版 |
2011/08/07(日) 00:39:39.11
おもいっきり違った。
LLVMは、x86でガッツリ開発して
それからARMもって話なのね。
0168デフォルトの名無しさん
垢版 |
2011/08/07(日) 01:01:18.95
ちょっと巡回してみたけど、まだかかるみたいだね。

https://groups.google.com/group/native-client-discuss/browse_thread/thread/68aeb10fd0ad763e?pli=1

Issue 135: NaCl runtime for ARM
http://code.google.com/p/nativeclient/issues/detail?id=135
> We are actively working on bringing NaCl to ARM, through the PNaCl effort.
> We currently target ARM "classic" and are working on a Thumb2 model we hope
> will be ready soon.
> We're also discussing internally how we could go forward on Android, but a
> number of issues currently remain to be resolved.
LLVM版のPNaCl使って、とりかかるけどChronium/Android(ARM)のNaClまでまだまだ障害があるよと。
0169デフォルトの名無しさん
垢版 |
2011/08/07(日) 23:21:07.13
Ubuntu 11.04 Desktop (日本語/32bit) でChrome Unstable (14.0.835.18 dev)でNaCl有効にしても
>>1のexamplesが一つも動かないんだけれどそういうものなんだろうか?
0171デフォルトの名無しさん
垢版 |
2011/08/07(日) 23:48:34.15
Chrome14がstableリリースされる2ヶ月後には、
14以降対応でnexeを放置できるようになるのか。
0173デフォルトの名無しさん
垢版 |
2011/08/08(月) 21:50:57.09
だれか14か15で動いてる?
winの15だと有効にしてても、プラグインがありませんとなって動かない
0179デフォルトの名無しさん
垢版 |
2011/08/17(水) 22:55:45.19
>>176
実装っていうか10月のversion14からデフォルトで有効になるってことだね
ただWeb Storeに登録しなきゃいけないのが何気にうざい
0180デフォルトの名無しさん
垢版 |
2011/08/18(木) 00:42:28.39
いずれは Android でも使える様になるんだろうけど、Safari や Firefox みたいな
主要ブラウザで採用される日は来るのかなあ
0182デフォルトの名無しさん
垢版 |
2011/08/18(木) 21:14:43.25
これローカルでエミュレートできないのかな。
単に*.nexeを実行したらセグフォで落ちるし、
Wiki見てnacl64-ncvalで動かせるかと思ったら、
libcrypto.soが無いっていうし。
0191デフォルトの名無しさん
垢版 |
2011/08/23(火) 21:04:51.58
NaClがサンプル(examples)ですら動かねぇでやんの。

Fedora13 64bit
Chrome 13
about:flagsによるnative client有効化済み
0194デフォルトの名無しさん
垢版 |
2011/08/25(木) 01:33:19.69
>>193
こんな感じ。
NaCl module load failed: manifest: has unrecognized top-level property "program".

本家のコミュニティー調べたら Chrome 14にすればとか書いてあるけど、
14にしても同じだったってなリプライもあるんだよな。それにLinuxじゃ14って
まだじゃない?
0195609
垢版 |
2011/08/25(木) 07:26:11.36
about:flags
about:plugins
両方有効にした?
0197デフォルトの名無しさん
垢版 |
2011/08/26(金) 08:29:41.54
>>194
NaClのバージョン違い。
Chrome14のNaClとそれ以前のではmanifestが変わってて互換がないよ。

どのOSでも13が安定板、14がβ版、15が開発版。
β版を入れるか、来月半ばあたりまで待てば動くはず。
0198デフォルトの名無しさん
垢版 |
2011/08/26(金) 19:55:29.68
なるほどありがと。
って事は、あれかNaClのmanifestが古い開発キットさがせば
ベータ版の14入れなくても動くってことか。
0199デフォルトの名無しさん
垢版 |
2011/09/02(金) 00:50:18.72
0200デフォルトの名無しさん
垢版 |
2011/09/02(金) 07:05:04.43
win/osxならchrone canary buildとchrome(チャンネル一つ)が同時に起動出来るから、
canary(15)とstable channel(13)入れておけばいいと思う。
#最近osx版が追加された
0201デフォルトの名無しさん
垢版 |
2011/09/04(日) 03:46:29.53
OSXで動くとか言ってる人がいるけど
SDK0.5のrelease notesに書いてあるクラッシュの問題は解決したの?
Windowsでさえなんだか不安定だというのにMacで本当にちゃんと動くのか不安だ
0206デフォルトの名無しさん
垢版 |
2011/09/28(水) 21:33:54.66
いつから tcl が早い言語ってことになったんだw
tcl もふつうに処理の遅い言語ですよお父さん…
0207デフォルトの名無しさん
垢版 |
2011/09/30(金) 21:32:40.24
画面更新が上手くいかん
IMageDataがローカル変数なのがマズイのか?
DidChangeViewのなかでしてるのがマズイのか?
WM_PAINTみたいなタイミングをどっかで待たなきゃいけないのか?
はたまた何か抜けてる?

namespace Nacl = pp;
virtual void DidChangeView( const Nacl::Rect &position, const Nacl::Rect &clip )
{
        Nacl::ImageData
                image( this, PP_IMAGEDATAFORMAT_RGBA_PREMUL, position.size(), true);
        Nacl::Graphics2D
                graphics( this, clip.size(), true );

        for( int i = 0 ; position.size().height() > i ; ++i )
        {
                static_cast<uint32_t*>( image.data() )[i] = 0x55555555;
        }

        graphics.PaintImageData( image, Nacl::Point() );
        graphics.Flush( Nacl::CompletionCallback() );
}
0214デフォルトの名無しさん
垢版 |
2011/10/09(日) 00:54:09.89
http://code.google.com/intl/ja-JP/chrome/nativeclient/docs/compiling.html
http://code.google.com/intl/ja-JP/chrome/nativeclient/faq.html
>You must load the correct .nexe file for your machine's specific instruction set architecture (such as x86-32 or x86-64).
>You can ensure you're loading the correct .nexe file by building a separate .nexe for each architecture, and using a .nmf
>manifest file to let the browser select the correct .nexe file. Note: the need to select a processor-specifc .nexe will go
>away with PNaCl (Portable Native Client).

なるほど…確かに面白そうだ
0216デフォルトの名無しさん
垢版 |
2011/10/09(日) 14:56:49.46
Native Client プラグインは使用できません

とか出るな sdkベータ $httpd.cmd 5103
dev channel の chrome 15 以降で動くと書いてあるような気はするのだが…(汗
0218デフォルトの名無しさん
垢版 |
2011/10/09(日) 22:59:49.96
googleはjavascript、dartにnaclと新しいものを生み出すはいいが、
結局のところ、戦略的には何を使わせたいんだ?
0220デフォルトの名無しさん
垢版 |
2011/10/09(日) 23:46:02.24
いまのところ、一般向けはflags:offになってて
chrome storeで、追加したウエブページ(試した)やプラグイン(試してない)で、有効になる流れみたい。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況