Another Corporate Writeup:
JS Master Class with Hoy and Fuchs, Austria and Elsewhere, 06.16.2010

July 31st, 2010 § 0

amy hoyamy hoyThomas Fuchs is au­thor of the script.aculo.us user in­ter­face JavaS­cript lib­rary, a mem­ber of the Pro­to­type core team and a Ruby on Rails core alum­nus. As he puts it, ‘You’re us­ing my work every day, even if you’re not aware of it!’ His wife Amy Hoy is a de­sign­er, au­thor, and JS pro­gram­mer in her own right. To­geth­er they team to of­fer a full-day’s train­ing on ad­vanced JS de­vel­op­ment and de­ploy­ment tech­niques that they de­liv­er via chat and video­con­fer­en­cing soft­ware from Vi­enna, Aus­tria.

Most of the lan­guage por­tion of the train­ing fo­cused on the in­tric­a­cies of JavaS­cript ob­jects and func­tions. One of JavaS­cript’s greatest strengths (or weak­nesses, de­pend­ing on the view­point) is its ex­treme flex­ib­il­ity. JavaS­cript is tech­nic­ally a class-free lan­guage and while Fuchs and Hoy spent time on some of the ways the lan­guage can be ma­nip­u­lated to rep­lic­ate the clas­sic­al mod­el, far more at­ten­tion was de­voted to JavaS­cript’s nat­ive pro­to­typ­al in­her­it­ance mod­el and the ways this could be used to modi­fy the lan­guage it­self. Scope, clos­ure, and ref­er­ence – all handled some­what uniquely in JavaS­cript – were covered. The duo urged us to think in func­tion­al and meta (‘code about code’) terms as we pro­grammed, and to code ‘in the pos­it­ive…’

As the ma­jor­ity of JavaS­cript de­ploy­ments today take place with­in a browser en­vir­on­ment, Hoy de­voted some time to cov­er­ing the DOM spe­cific­a­tion and its im­ple­ment­a­tions in Fire­Fox, IE, and Chrome/Sa­fari. Fuchs then presen­ted on some of the best de­vel­op­ment prac­tices he’s ar­rived at for large-scale JS projects. Not­ably, he ad­voc­ates split­ting projects in­to files of no more than 100 or so lines for de­vel­op­ment, then con­cat­en­at­ing and mini­fy­ing only for pro­duc­tion. The Sprock­ets JavaS­cript pre­pro­cessor (avail­able at ht­tp://get­s­prock­ets.org/) is one tool that can help with this pro­cess.

I’ve found it fun and re­ward­ing (if some­what of a sur­prise) to be in­volved in the JavaS­cript re­volu­tion that’s taken place on the web in the past few years. I also don’t think I’m unique in com­ing to the lan­guage from a front-end per­spect­ive that tra­di­tion­ally em­phas­ized markup and graph­ics over pro­gram­ming fun­da­ment­als. For a JavaS­cripter like me, mostly self-taught with five to six years back­ground in the lan­guage, the class can of­fer big value. The sweep­ing crash course that it is, however, does re­quire an ex­ist­ing grasp of both the syn­tax and idio­syn­crasies of the JavaS­cript lan­guage and ob­ject-ori­ented prin­ciples in gen­er­al. With these in hand, a front-en­der on the cusp of be­com­ing a ser­i­ous pro­gram­mer learns a lot about the JS lan­guage and best code struc­ture and de­ploy­ment prac­tices from Fuchs and Hoy. Without them, I think s/he’d struggle to keep hold of the ti­ger’s tail over the course of the eight hours. In short, I re­com­mend the class for oth­ers who have spent time on the JavaS­cript fun­da­ment­als and are curi­ous about ad­vanced lan­guage top­ics as well as scalab­il­ity, de­ploy­ment, and design pat­tern pro­gram­ming is­sues.

§ Leave a Comment

meta

Tags: , , , , , ,