Han tok oss med jQuery, det mest brukte JavaScript-biblioteket på planeten. Deretter tok han oss med Processing.js, en JavaScript-port av det populære datasignaliseringsprogrammeringsspråket. Nå er John Resig på oppdrag å revolusjonere måten folk lærer programmering som dekan for datavitenskap for Khan Academy. Mannen stopper aldri (sover han?) Gir tilbake til samfunnet, og etter å ha vært ute av det offentlige øye for en stund, tok jeg opp med ham for å finne ut hva han har vært opp til.
Rundt :) Men enda mer seriøst bestemte jeg meg for å bruke mer tid på å gjøre applikasjon og server-side utvikling - noe jeg ikke brukte mye tid på da jeg jobbet med jQuery på heltid.
Jeg brukte mindre tid på den daglige feilrettingen av jQuery og ønsket å sørge for at prosjektet skulle være i gode hender da jeg begynte å jobbe med andre ting. De har gjort en utmerket jobb med å holde biblioteket i god form. Det er i gode hender!
Jeg har jobbet med en rekke forskjellige prosjekter. Jeg opprettet rammen som vi bruker til å bygge øvelser (tilgjengelig på Github https://github.com/khan/khan-exercises), bidro til å bygge Khan Academy iPad-applikasjonen, skapt Computer Science-plattformen, og jobber nå med å internasjonalisere nettsted, noe som gjør den tilgjengelig på mange språk til mennesker over hele verden.
Jeg bestemte meg for å bruke mer tid på å gjøre applikasjon og server-side utvikling.
Jeg er veldig spent på det arbeidet vi gjør på Khan Academy. Vi har jobbet for å finne måter å lære grunnleggende programmering til de som aldri har blitt programmert før. I tillegg finner vi måter å integrere datavitenskapsutdanning med vår eksisterende matematikk og naturvitenskapelig læreplan - binde alle brikkene sammen.
Dette gir mye mening og gir en sammenhengende måte å lære på at andre programmeringsplattformer ikke har. Forståelse av algrebra er en viktig forutsetning for å forstå variabler, for eksempel. Forståelse av trigonometri er viktig for å gjøre grafikkarbeid. Kombinere alt dette sammen gir mye fornuft. I hvert fall akkurat nå målretter vi primært vårt eksisterende K-12-publikum. Så langt har vi hatt ca. 2,9m brukere av plattformen siden vi lanserte den i august 2012.
Jeg er veldig spent på det arbeidet vi gjør på Khan Academy.
I det minste for øyeblikket er Khan Academy primært rettet mot materiale som er mer rettet mot folk i en yngre alder (førskole). Mange studenter bruker materialet som et supplement til deres eksisterende arbeid - eller som en del av en klasse (avhengig av skolen). Vi har sett gode resultater fra skolene som bruker Khan Academy som en del av læreplanen, får elevene til å bruke materialet i klassen og konsumerer både videoene og øvelsene i eget tempo. På denne måten er Khan Academy faktisk svært forskjellig fra mange av de andre utdanningsløsninger der ute (ikke med fokus på høyskolekurs, for eksempel) og fyller en utrolig verdifull nisje.
Vi bruker JavaScript og Processing.js og et programmeringsmiljø i sanntid for å gi studentene en enkel måte å komme i gang med og samhandle med koden. Vi har nylig funnet måter å få studentene til å samarbeide på hverandres arbeid. Da vi lanserte, inkluderte vi muligheten for at elevene "fork" hverandres kode. Vi har lagt til på noen måter å gjøre disse gaffelene lett oppdagelige, noe som har resultert i at en rekke studenter bygger av hverandres arbeid. Det er fascinerende å se det pågår!
Jeg har jobbet på i18n for to prosjekter: den ene er et sideprosjekt og det andre er Khan Academy-nettstedet. Det har vært ganske utfordrende; Vi har et stort nettsted med mange biter av originalt innhold som trenger oversettelse. Å få alle de bevegelige brikkene organisert og gitt noe skjul av ordre er definitivt ganske vanskelig. Heldigvis er det mange verktøy som allerede hjelper med dette (for eksempel bruker vi Jed.js biblioteket til å gjøre noe pluraliseringsarbeid på klientsiden).
Ganske utrolig! Det er så flott å se at mange mennesker får nytte av å bruke den. Det er utrolig at selv med nye nettlesere og APIer, er vi fortsatt ikke i ferd med å ha en helt tilsynelatende utviklingsserfaring for nettlesere. Den kommer nærmere, og jQuery hjelper helt med det, men jeg gleder meg til den dagen da vi har en virkelig enhetlig, brukervennlig, utviklings API.
Åh, det er alltid sniping. Jeg tror det er en tendens til at folk ser dårlig skrevet kode som representativ for all kode skrevet med bibliotek eller språk, og det er åpenbart bare ikke så.
Et spesielt vanskelig problem er at siden jQuery-bruken er så allestedsnærværende betyr det at nesten alle bruker det på en eller annen måte - inkludert folk som ikke vet hvordan man skal programmere i det hele tatt, og bare kopiere-lime koden sammen uten å bry seg om hvordan det fungerer. Den beste måten vi kan bekjempe dette på er å forsøke å gi bedre pedagogisk materiale til de som ønsker å bli bedre programmerere, som det nye jQuery Learning Center
Å, Selectors API, absolutt (Selectors API er det som gir oss querySelectorAll
og lar oss spørre om DOM noder ved hjelp av CSS selectors). Amusingly, det faktum at jQuery populariserte bruken av CSS-selektorer for å finne DOM-noder, er det som oppmuntret standardiseringen til å begynne med. Det er en kylling-og-egg-situasjon :)
Som noen som skriver mye JavaScript, har jeg brukt mer tid på Node.js og PhantomJS. Disse miljøene gir deg muligheten til å skrive JavaScript på server-siden og gjøre alle typer skripting og programforfattering. Det er veldig gøy å kunne skrive JavaScript og få det til å fungere på både klienten og serveren (for eksempel å kunne dele logikk for et klient-server-spill).
Vi har sett gode resultater fra skolene som bruker Khan Academy som en del av læreplanen deres.
Jeg tror det største tilfellet med nettlesere i de siste årene er skiftet til en hurtigutgivelses-syklus, som ble spilt av Chrome-teamet og deretter tatt opp av Firefox-teamet. Å ha utgivelser som kommer ut hver tredje måned i stedet for hvert år (eller hvert annet år) endrer helt nye innretninger og brukes av utviklere. Enhver nettleser som ønsker å forbli konkurransedyktige, må følge med på denne breakneck-utviklingsplanen. Ellers vil de sikkert ligge bak.
Å øke tilgangen for flere mennesker (og med en god nettleser!) Er virkelig en seier for alle. Vi har ikke rettet mot dette eksplisitt på Khan Academy, men det er et fantastisk prosjekt kalt KA Lite som prøver å få dette til å skje.
Jeg tror fortsatt det er mulig, men det er vanskelig å si hvor mye fordel det ville være å gjøre det. Hvis koden allerede var forhåndskompilert til bytekode og bare ventet i minnet, så tenker jeg på at det ville være noen fine oppgraderinger. Når det er sagt, satser jeg på at fartsfrekvensene ville være mindre enn de som ble gitt av ytelsesforbedringer til DOM generelt.
Det har sikkert vært en reise! Jeg skrev hoveddelen av innholdet i løpet av 2008-2010, og medforfatteren min, Bear Bibeault, har jobbet med den over 2011-2012. Jeg tror det er fortsatt svært relevant for moderne utvikling.
Første halvdel av boken dekker beste praksis og noen av de vanskeligste aspektene ved moderne JavaScript-utvikling. Den andre halvdelen dekker DOM og alt du trenger å vite for å skrive kryss-nettleserkode. Disse to emnene er fortsatt en stadig til stede i JavaScript-utviklingen i dag, og skal hjelpe alle fra mellomliggende til avanserte utviklere.
Sannsynligvis ikke! I det minste ikke en tradisjonell trykt bok. Jeg er ivrig etter å gjøre mer blogging og artikkelskriving. Hvis jeg noen gang skriver en annen bok, vil det definitivt være selvutgitt og sannsynlig i ebook-only form.
Jeg elsker New York. Jeg har møtt et bredt spekter av utviklere her, og jeg har blitt overrasket over hvor sterk fellesskapet er her med massevis av møter, forelesninger, hack-a-tons og andre arrangementer som skjer. Mens jeg bare har vært her for kort tid, føles det som om samfunnet bare vokser sterkere.
Å ha utgivelser som kommer ut hver tredje måned i stedet for hvert år, endrer helt hvordan nye funksjoner blir introdusert og brukt av utviklere.
Sikkert! Jeg har brukt mer tid på å utforske kunst og har blitt fascinert med en kunstform spesielt: Japanese Woodblock Printing. Dette var en kunstform i Japan som ble popularisert fra tidlig på 1700-tallet til slutten av 1800-tallet (og fortsetter videre til i dag, men som en nisje).
Utskriftene skildrer den utrolige verden av samurai, warlods, guder, skjønnheter og natur. De er ekstremt levende og ser overraskende moderne ut. Jeg har satt mine programmeringsferdigheter til å bruke og har utviklet et verktøy for forskere som samler utskrifter fra en rekke museer rundt om i verden, og gjør dem bilde søkbare: http://ukiyo-e.org/ Jeg har fått en veldig positivt svar fra en rekke lærde, som har vært mest givende.