-
Notifications
You must be signed in to change notification settings - Fork 25
Ruby in the browser with NativeClient (NaCl)
- JS as a monopoly
- CoffeeScript?
- New TryRuby site
- gestalt -- let's you do
<script type="test/ruby"></script>
- Uses MS's DLR
- Silverlight/IronRuby
- Unsure future
- Netscape, mimetypes, NPAPI
- Standalone plugins
- Powerful, but security nightmare
- Separate processes
- NaCl
- Pepper Bridge (PPAPI)
- Sandboxed plugins
- Native machine code
-
Compile code with specialized toolchain (modified GCC)
-
NaCl runtime verifies untrusted code (static analysis)
-
Executes verified code
-
Limited functionality. Can't fork, limited FS access, etc.
-
Figures out your platform (x86, ARM, etc) over JSON
-
You can talk via JavaScript using the Pepper API
-
Listening for events
-
Like WebWorkers
-
Has simlar APIs to browsers
-
Same priveledges as the JS runtime
-
Can do pthreads (browsers are single threaded, but Chrome has separate processes)
-
Lots of C/C++ libraries
-
Video
-
Native
-
Need: Chrome ~9 (1 yr old) with nacl enabled
-
Latest: 14
-
Cool, but...
-
It's in the wild
-
But getting replaced with PNaCl
-
See chrome://plugins -- enabled in the Chrome Web Store (for Chrome apps)
-
Long term vision? Maybe enabling outright
-
Examples
- Netflix on the Chromebook
- Google app engine
- Exacycle -- for scientific computing
- Does LLVM bytecode!
- Fortran!
- PyPy
- Rubinius
- Objective-C
- LLVM to JavaScript
- http://repl.it
A crowd-sourced conference wiki!
Working together is better. :)
- Speakers, for example:
- Recent Conferences
- Software
- Offline Access
- Contributors (More than 50!)
- Code Frequency