-
Notifications
You must be signed in to change notification settings - Fork 15
Presentation: CommonJS via PINF JavaScript Loader ~ Introduction (Boston JavaScript 2011, Boston)
- Event: Boston JavaScript 2011 (Oct 14), Boston
- Presentation: CommonJS via PINF JavaScript Loader ~ Introduction (1h 39m)
- Presenter: Christoph Dorn
This presentation is geared towards proficient to experienced JavaScript developers somewhat familiar with CommonJS and CommonJS browser loaders.
It is suggested that the following presentation be viewed prior to this one:
JavaScript is awesome in many regards. What is not so great is the lack of an ecosystem in terms of a standard base library to interface with the outside world, dependency management and ways to write portable applications that work across many platforms. This shortcoming is costing developers and companies countless hours of wasted time and frustration every day. We all have a deep desire for our JS code to just work, and play nice together, but achieving this with a technology as powerful and fragmented as JavaScript is a tall order.
CommonJS is a community guided and driven effort by volunteers with diverse backgrounds and interests to converge on a minimal common ground that is sound and scalable. The goal is to make writing portable JS applications that run on servers, browsers, desktop applications, and secure sandboxes not only possible but accessible to developers and development tools without vendor lock-in or steep learning curves.
Problem areas under consideration include modularity, interoperability, portability, securability, dependency management, quality, learnability, simplicity, robustness, composability, compatibility, usability, expressiveness, performance, testing, distribution, deployment and maintenance of JavaScript code and applications.
Rather than blindly copying prior art, everything is up for discussion for the purpose of distilling diverse requirements into concise specifications that can be combined to build the simplest and most complex systems. Much consideration is given to backward and forward compatibility and ensuring that the proposed standards only restrict aspects that must be constrained in the interest of sustaining the entire ecosystem.
The PINF JavaScript Loader is one extrapolated interpretation of the CommonJS standards that realizes the dream of portable JavaScript applications composed of libraries from all over the internet today. You don't need to wait for platform implementors to incorporate CommonJS standards. By building on PINF you bring CommonJS with you and in the process build momentum for CommonJS.
Christoph will give us a brief overview of CommonJS and then dive deep into PINF for JavaScript. He will communicate the motivation behind PINF and where it fits into the CommonJS community outlined above. You will walk away with practical advice you can apply immediately to build CommonJS based applications and libraries for production deployment.
See http://vimeo.com/31089051 (960x540, 2763 MB, 1h 39m)
- All slide frames: http://www.slideshare.net/cadorn/commonjs-via-pinf-javascript-loader-introduction
- Final slides only: Download PDF
Loader
- PINF JavaScript Loader: https://github.com/pinf/loader-js
Demos
- https://github.com/cadorn/ace-extjs
- https://github.com/pinf/test-programs-js
Other
- Christoph Dorn: http://christophdorn.com/
- DeveloperCompanion: http://developercompanion.com/
- Sourcemint: http://sourcemint.com/
- FirePHP 1.0: http://sourcemint.com/firephp.org/firephp/1
- CommonJS: http://www.commonjs.org/
- Spec: CommonJS/Modules/2.0 (draft): http://www.page.ca/~wes/CommonJS/modules-2.0-draft8/
- Spec: CommonJS/Packages/Mappings/C: http://wiki.commonjs.org/wiki/Packages/Mappings/C
- Spec: Asynchronous Module Definition (AMD): http://wiki.commonjs.org/wiki/Modules/AsynchronousDefinition
- NodeJS: http://nodejs.org/
- Jetpack: https://jetpack.mozillalabs.com/
- v8cgi: http://code.google.com/p/v8cgi
- GPSEE: http://code.google.com/p/gpsee/
- RingoJS: http://ringojs.org/
- Narwhal: https://github.com/280north/narwhal
- Titanium: http://www.appcelerator.com/
- AdobeAir: http://www.adobe.com/products/air/