New Space Pen 2


#1

Space-pen is being deprecated. The core team is moving to some unchosen framework like http://rivetsjs.com/. I have been discussing this with them at https://github.com/atom/atom/issues/4673#issuecomment-67402158.

I feel that simple packages should have a simple way to specify the html like the old space-pen even though any new solution should now support the new custom element idiom in Atom core, other web components, and 2-way bindings. Also I agree there should be no dependency on jQuery.

Therefore I am proposing a space-pen-2. A very preliminary spec is at https://gist.github.com/mark-hahn/3f9ee0ba4945a285fb38.

Comments are welcome…


What should I use to write standard views for my packages?
#2

I suggest that Space Pencil (from the urban legend) is a better name than Space Pen 2.


#3

done

(this is text to avoid the stupid discourse minimum reply rule).


#4

This is a cross-posting with the atom/atom issue mentioned above …

The gist https://gist.github.com/mark-hahn/3f9ee0ba4945a285fb38 now has a new version. It includes the binding spec as well as other changes. This space-pen replacement now has the name “space-pencil”.

The bindings worked out great. Both declarative forms and programmatic forms are supported at the same time with simple syntax. Here is a teaser. The first line binds the value attribute to an accessor function (programmatic) and the second binds it directly to a model object using a key path (declarative).

@input value:['nameValue'], ...
@input value:['.person.name'], ...