Quantcast
Channel: JavaScriptMVC Forum
Viewing all articles
Browse latest Browse all 3491

New StealJS

$
0
0
There's a new StealJS site: http://stealjs.com/ that has pretty decent documentation on how to use the new steal.  

There's going to be a minor release of CanJS this week that you can be used with the new steal.

Use steal because it's flexible (it supports AMD, CJS, steal, and ES6 syntax) and will make your site load faster.

Here's some notes on why you might consider getting involved with the project.

Importance
  Dependency management is the bedrock of modularity and maintainability. Bitovi is likely one of very few organizations who can define a module's less and template dependencies AND demo and test modules in standalone pages. Expressive dependency management is essential for well structured and successful projects.

  However, expressive modules make it difficult to achieve good load performance.  I've talked with many people who use RequireJS, but are unable to build it. I've talked with others who build to a single 500k download. A good build system can have much more of an impact on performance than any database or server side optimization.  Steal's multi-build algorithm is, afaik, unique and has dramatically improved performance where it has been used.

  StealJS's goal is to support expressive dependency management, lightening-fast load times, and simplify dev/test/build/prod workflows.  It supports every commonly used format.  It's based on soon to be standards JavaScript technology.

Ease of development
  StealJS is a million times easier to develop against than the old steal.  Here's why:
  1. NodeJS instead of Rhino.  A real debugger.
  2. NodeJS instead of Rhino.  Access to everything in npm.
  3. Most of the hard stuff (ex: loadDependencies) is done in ES6ModuleLoader and SystemJS.
  4. Easer and better testing.  We simply create demo apps and test them in both steal and steal-tools.  steal examplesteal-tools example.
  5. steal-tools is functional programming.  It simply makes a dependency graph and transforms it with a lot of functions.  Learn more here.
Seriously, once you understand the basics of the ES6 Module Loader spec, steal is easy to develop.  And once you understand what the dependency graph and bundle graphs look like, so is steal-tools.

Fun Challenges

  There are a bunch of features, large and small, that are cool and technically interesting.  For example:
  • Adding a System-based instrumentation plugin would be great for reporting on test coverage.
  • A super fast watch-build.
  • Reading bower.json to reduce the amount of config.
  • Cache busting when the production version changes.
  And the great thing, is that all of these things would be "spec-based" tools!  That is, they will be useful even if someone wasn't using steal.  For example, here's how you could do cache busting.  All steal plugins can and should be written to only enhance the default System loader.  We're building the future.


Viewing all articles
Browse latest Browse all 3491

Trending Articles