Suche senden
Hochladen
Webブラウザで使えるいろんな処理系
•
1 gefällt mir
•
2,613 views
祐司 伊藤
Folgen
Creators MeetUp #36発表資料
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 19
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
PIAXで作る P2Pネットワーク
PIAXで作る P2Pネットワーク
祐司 伊藤
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
祐司 伊藤
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
Kei Nakazawa
asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?
Yosuke Onoue
Async Enhancement
Async Enhancement
kamiyam .
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
shigeki_ohtsu
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
Empfohlen
PIAXで作る P2Pネットワーク
PIAXで作る P2Pネットワーク
祐司 伊藤
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
祐司 伊藤
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
Kei Nakazawa
asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?
Yosuke Onoue
Async Enhancement
Async Enhancement
kamiyam .
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
shigeki_ohtsu
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
RespClient - Minimal Redis Client for PowerShell
RespClient - Minimal Redis Client for PowerShell
Yoshifumi Kawai
コマンドラインからplistファイルを扱う
コマンドラインからplistファイルを扱う
Yusuke Kawakami
chat bot framework for Java8
chat bot framework for Java8
masahitojp
Puppet on AWS
Puppet on AWS
Sugawara Genki
Build 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansai
Tomohiro Kumagai
Vagrant入門以前
Vagrant入門以前
katanyan
An Internal of LINQ to Objects
An Internal of LINQ to Objects
Yoshifumi Kawai
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
Masahiro Sano
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Yoshifumi Kawai
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Teppei Sato
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Tomoki Hasegawa
3分で作るストリーム処理基盤~kafka+flink on docker編~
3分で作るストリーム処理基盤~kafka+flink on docker編~
Koichi Tanaka
Visual studio 14 CTP2 概要
Visual studio 14 CTP2 概要
Yoshihisa Ozaki
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
Yuta Matsumura
The History of LINQ
The History of LINQ
Yoshifumi Kawai
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Teppei Sato
ES6 in Practice
ES6 in Practice
Teppei Sato
コンパイラ指向ReVIEW
コンパイラ指向ReVIEW
Masahiro Wakame
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語
Yossy Taka
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
terurou
Weitere ähnliche Inhalte
Was ist angesagt?
RespClient - Minimal Redis Client for PowerShell
RespClient - Minimal Redis Client for PowerShell
Yoshifumi Kawai
コマンドラインからplistファイルを扱う
コマンドラインからplistファイルを扱う
Yusuke Kawakami
chat bot framework for Java8
chat bot framework for Java8
masahitojp
Puppet on AWS
Puppet on AWS
Sugawara Genki
Build 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansai
Tomohiro Kumagai
Vagrant入門以前
Vagrant入門以前
katanyan
An Internal of LINQ to Objects
An Internal of LINQ to Objects
Yoshifumi Kawai
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
Masahiro Sano
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Yoshifumi Kawai
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Teppei Sato
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Tomoki Hasegawa
3分で作るストリーム処理基盤~kafka+flink on docker編~
3分で作るストリーム処理基盤~kafka+flink on docker編~
Koichi Tanaka
Visual studio 14 CTP2 概要
Visual studio 14 CTP2 概要
Yoshihisa Ozaki
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
Yuta Matsumura
The History of LINQ
The History of LINQ
Yoshifumi Kawai
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Teppei Sato
ES6 in Practice
ES6 in Practice
Teppei Sato
コンパイラ指向ReVIEW
コンパイラ指向ReVIEW
Masahiro Wakame
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
Was ist angesagt?
(20)
RespClient - Minimal Redis Client for PowerShell
RespClient - Minimal Redis Client for PowerShell
コマンドラインからplistファイルを扱う
コマンドラインからplistファイルを扱う
chat bot framework for Java8
chat bot framework for Java8
Puppet on AWS
Puppet on AWS
Build 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansai
Vagrant入門以前
Vagrant入門以前
An Internal of LINQ to Objects
An Internal of LINQ to Objects
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
3分で作るストリーム処理基盤~kafka+flink on docker編~
3分で作るストリーム処理基盤~kafka+flink on docker編~
Visual studio 14 CTP2 概要
Visual studio 14 CTP2 概要
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
The History of LINQ
The History of LINQ
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
ES6 in Practice
ES6 in Practice
コンパイラ指向ReVIEW
コンパイラ指向ReVIEW
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
Ähnlich wie Webブラウザで使えるいろんな処理系
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語
Yossy Taka
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
terurou
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係
Hiraku Komuro
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
Makoto Haruyama
Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会
Masakazu Muraoka
Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
Etsuji Nakai
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
Kazuhiro Hara
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
kimulla
2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
アカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsug
aktsk
JavaScript And Keywords
JavaScript And Keywords
uupaa
devsami kansai 2012 #c2
devsami kansai 2012 #c2
Yushi_Takagi
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents
Kensaku Komatsu
JavaScript on GitHub (#kyotojs)
JavaScript on GitHub (#kyotojs)
y_uuki
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
Node.js で Web アプリ開発
Node.js で Web アプリ開発
Tatsumi Naganuma
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
Kazuhiro Hara
Boost.勉強会 #13 @仙台 鳥小屋
Boost.勉強会 #13 @仙台 鳥小屋
Yuto M
Ähnlich wie Webブラウザで使えるいろんな処理系
(20)
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会
Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーション
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
アカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsug
JavaScript And Keywords
JavaScript And Keywords
devsami kansai 2012 #c2
devsami kansai 2012 #c2
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents
JavaScript on GitHub (#kyotojs)
JavaScript on GitHub (#kyotojs)
Play jjug2012spring
Play jjug2012spring
Node.js で Web アプリ開発
Node.js で Web アプリ開発
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
Boost.勉強会 #13 @仙台 鳥小屋
Boost.勉強会 #13 @仙台 鳥小屋
Mehr von 祐司 伊藤
Container Storage Interface のすべて
Container Storage Interface のすべて
祐司 伊藤
C/C++とWebAssemblyを利用したライブラリ開発
C/C++とWebAssemblyを利用したライブラリ開発
祐司 伊藤
C++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用する
祐司 伊藤
詳説WebAssembly
詳説WebAssembly
祐司 伊藤
シンプル Processing !
シンプル Processing !
祐司 伊藤
PROCESS WARP「プロセスがデバイス間で移動する」仕組みを作る
PROCESS WARP「プロセスがデバイス間で移動する」仕組みを作る
祐司 伊藤
PROCESS WARP
PROCESS WARP
祐司 伊藤
PROCESS WARP
PROCESS WARP
祐司 伊藤
新しい分散実行の仕組み PROCESS WARPについて
新しい分散実行の仕組み PROCESS WARPについて
祐司 伊藤
Mehr von 祐司 伊藤
(9)
Container Storage Interface のすべて
Container Storage Interface のすべて
C/C++とWebAssemblyを利用したライブラリ開発
C/C++とWebAssemblyを利用したライブラリ開発
C++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用する
詳説WebAssembly
詳説WebAssembly
シンプル Processing !
シンプル Processing !
PROCESS WARP「プロセスがデバイス間で移動する」仕組みを作る
PROCESS WARP「プロセスがデバイス間で移動する」仕組みを作る
PROCESS WARP
PROCESS WARP
PROCESS WARP
PROCESS WARP
新しい分散実行の仕組み PROCESS WARPについて
新しい分散実行の仕組み PROCESS WARPについて
Webブラウザで使えるいろんな処理系
1.
Webブラウザで使える いろんな処理系 伊藤 祐司 2016/01/16 Creators
MeetUp #36
2.
C/C++, Java, Rubyなどの プログラムをWebブラウザで 動かすお話です
3.
動機なんて人それぞれ • C/C++やJavaで開発した資産を活用したい • 複数プラットフォームで動作するアプリケーションを同時開発 したい •
ロジックが複雑だったり、バイナリデータを使ったり、 JavaScriptには不向きな処理もある • サーバはデータの保存だけで、他の処理をすべてクライアント に投げたくならない? • 趣味、ライフワーク
4.
C/C++
5.
• https://github.com/kripken/emscripten • C/C++をLLVM-IR経由でJavaScriptに変換する •
OpenGLやSDLが使えるので、過去のゲーム作品の移植など に使われるらしい • C/C++で書かれたライブラリをWebブラウザから使う • 過去の発表スライド • http://www.slideshare.net/llamerada-jp/cmu29
6.
C/C++ JavaScript! emscripten emscripten(converter) LLVM-IR(AST) Clang
7.
C/C++のJavaScript変換 ができるということは…
8.
C/C++で書かれたVMは ブラウザ上で動く?
9.
Lua lua.vm.js mruby webruby python repl.it emscriptenのテスト ruby
repl.it
10.
Java系は?
11.
Google Web Toolkit •
http://www.gwtproject.org/ • 本来はアプリケーションサーバからフロントエンドまでの使用言語を Javaに統一したかったらしい • JavaからJavaScriptに変換する • フレームワークとコンバータを併せたようなシステム、既存資産を Web上で動かせるかは微妙 • サーバ側のJavaAPIをブラウザから呼ぶ(ように見える)ことが可能 • エンタープライズで利用実績あり
12.
doppio • https://github.com/plasma-umass/doppio • TypeScriptで書かれたJVM •
JVM上はAPIがあるのに、呼び出してみると未実装 だった経験あり、カバレージを気にしながらテスト する • 日本語資料はほぼ皆無
13.
その他の可能性 • ScalaのようなJVM上で動く言語は、doppio(など) 経由でWebブラウザで動かせないか • PCエミュレータやOSそのものをブラウザで動かし てしまう(js/linux
by Fabrice Bellard)
14.
その他の可能性 • DragonEgg(gccにLLVM-IRを吐き出させる仕組み) を使って、Fortranや他の言語からJavaScriptに変 換する • PystonのようなLLVMを利用する処理系の出力を JavaScriptに変換する
15.
WebAssembly
16.
C/C++ wasm(WAST) Browser Clang etc Interpreter JavaScript VM /
JIT Compiler-X Language-X
17.
まとめ Webブラウザといえど、目的に合わせて 開発言語を選んで良いと思うのです
18.
伊藤 祐司 • バックエンドの設計・開発
フレームワークの作成 バイナリ・テキスト変換 クローラー アルゴリズム 仮想マシン • PROCESS WARP http://www.processwarp.org/ • だいたい下北沢OSSカフェで作業してる • 総務省 異能vationプログラム • GitHub https://github.com/llamerada-jp • facebook https://www.facebook.com/ito.yuuji • blog http://llamerad-jp.hatenablog.com/
19.
以上 ありがとうございました
Jetzt herunterladen