I'm pretty obsessed with all kinds of web specs, and invest heavily in tools 
based on future specs. I was discussing with Tab the other day about whether he 
thinks using a css preprocessor that desugars future css is a good idea. His 
answer was surprisingly (at least to me) negative, and recommended sass. His 
arguments were that

1. the gramma is in flux and can change
2. css might never offer some constructs used in sass, at least with very low 
priority.

I think these are good points, and it reduced my enthusiasm for future spec 
based css preprocessors. But this got me thinking about polyfills for future 
web APIs. Are they equally not recommended? Likewise, the APIs might change, 
and for DOM operations we should rely on React because the native DOM might 
never offer such declarative APIs, at least with very low priority. Do 
polyfills like WebReflection's DOM4 look promising? For new projects, should I 
stick with polyfills that only offers compatibilities for older browser, and 
for future spec features, only use libraries that offer similar features but 
invent their own APIs, or should I track future specs and use these "unstable" 
polyfills?

I'm torn on this subject. Would like to be enlightened.

My obsession with future specs based tools doesn't come out of nowhere. 
Coffeescript used to offer sugars for es5. But then es2015 catches up, and it 
looks obsolete, since its user base is likely migrating to es over time. The 
same goes for GSAP vs Web Animations. So I have this sense of feeling that 
technologies without the blessing of specs/browser vendors are likely to be 
abandoned eventually. So instead of investing on custom designed APIs, I feel 
it's more sustainable to bet on spec APIs. What's your take on this topic?

P.S. I called out some projects. I, by no means, slight these projects and 
their authors in any way. The projects usually offer some useful higher 
abstractions and the authors are all extremely talented and I respect them a 
lot. This is more from users point of view, and about how they should choose 
which technologies to use.

Reply via email to