El ne-a adus jQuery, cea mai folosită bibliotecă JavaScript de pe planetă. Apoi ne-a adus Process.js, un port JavaScript al popularului limbaj de programare de vizualizare a datelor. Acum, John Resig se află într-o misiune de a revigora modul în care oamenii învață programarea ca decan al informaticii pentru Academia Khan. Omul nu se oprește niciodată (chiar nu dormește?), Dând înapoi comunității și, după ce nu a mai fost atins de ochii publicului timp de ceva timp, m-am prins pentru a afla ce sa întâmplat.
În jurul meu :) Dar, mai serios, am decis să petrec mai mult timp în a face aplicații și de dezvoltare pe partea de server - ceva pe care nu am petrecut mult timp când lucram la jQuery full-time.
Am petrecut mai puțin timp pe fixarea zgomotului de zi cu zi a jQuery și am vrut să mă asigur că proiectul va fi în mâinile bune când am început să lucrez la alte lucruri. Ei au făcut o treabă excelentă de a ține biblioteca într-o formă excelentă. E în mâinile bune!
Am lucrat la mai multe proiecte diferite. Am creat cadrul pe care îl folosim pentru construirea exercițiilor (disponibil pe Github https://github.com/khan/khan-exercises), am ajutat la construirea aplicației iPad pentru Academia Khan, am creat platforma Computer Science și acum lucrez la internaționalizarea site-ul, făcându-l disponibil în mai multe limbi oamenilor din întreaga lume.
Am decis să petrec mai mult timp în a face aplicații și la dezvoltarea de servere.
Sunt foarte încântat de munca pe care o facem la Academia Khan. Ne-am străduit să găsim modalități de predare a programelor de bază pentru cei care nu au fost programați niciodată înainte. În plus, găsim modalități de integrare a educației în domeniul informaticii cu curriculumul nostru de matematică și știință existent, care leagă toate piesele împreună.
Acest lucru are mult sens și oferă un mod de învățare coerent, pe care alte platforme de programare nu îl au. Înțelegerea algrebrei este o condiție prealabilă importantă pentru înțelegerea variabilelor, de exemplu. Înțelegerea trigonometriei este importantă pentru munca grafică. Combinarea tuturor acestor lucruri are un sens. Cel puțin acum, țintim în primul rând publicul nostru K-12 existent. Până acum, am avut aproximativ 2,9 milioane de utilizatori ai platformei de când am lansat-o în august 2012.
Sunt foarte încântat de munca pe care o facem la Academia Khan.
Cel puțin în acest moment, Academia Khan vizează în primul rând materiale care sunt mai orientate spre persoanele de vârstă mai mică (pre-colegiu). Mulți studenți folosesc materialul ca supliment la munca existentă - sau chiar ca parte a unei clase (în funcție de școală). Am văzut câteva rezultate excelente din școlile care folosesc Academia Khan ca parte a curriculumului lor, oferindu-le elevilor să folosească materialul în clasă și consumând atât clipurile video cât și exercițiile în propriul ritm. În acest fel, Academia Khan este de fapt foarte diferită de multe dintre celelalte soluții educaționale de acolo (nu se concentrează pe cursurile de facultate, de exemplu) și completează o nișă incredibil de valoroasă.
Utilizăm JavaScript și Process.js și un mediu de programare în timp real pentru a oferi studenților o modalitate ușoară de a începe și de a interacționa cu codul. Recent am găsit modalități prin care elevii să colaboreze pentru munca reciprocă. Când am lansat, am inclus abilitatea studenților de a-și "ruga" codul celuilalt. Am adăugat, în unele moduri, ca aceste furculițe să poată fi ușor de descoperit, ceea ce a dus la un număr de studenți care se bazează pe munca celuilalt. Este fascinant să vezi cum este în desfășurare!
Am lucrat la i18n pentru două proiecte: unul este un proiect lateral, iar celălalt este site-ul Academiei Khan. A fost destul de dificilă; avem un site mare cu multe piese de conținut originale care au nevoie de traducere. Noțiuni de bază toate piesele în mișcare organizate și dat unele aparență de ordine este cu siguranta destul de dificil. Din fericire, există o mulțime de instrumente care ajută deja la aceste lucruri (de exemplu, folosim biblioteca Jed.js pentru a face unele lucrări de pluralizare pe partea clientului).
Destul de tare! Este atât de grozav să vezi atât de mulți oameni care beneficiază de folosire. Este uimitor faptul că, chiar și în cazul noilor browsere și API-uri, nu suntem încă în punctul de a avea o experiență de dezvoltare cu browser încrucișat. Se apropie și jQuery ne ajută absolut, dar aștept cu nerăbdare ziua în care avem un API cu adevărat unificat și ușor de folosit.
Oh, există întotdeauna sniping. Cred că există o tendință ca oamenii să vadă codul prost scris ca reprezentant al întregului cod scrise cu o bibliotecă sau o limbă, și asta evident că nu este așa.
O problemă deosebit de dificilă este că, de vreme ce utilizarea jQuery este atât de omniprezentă, înseamnă că aproape toată lumea o folosește într-un fel - inclusiv oameni care nu știu cum să programeze deloc și doar să copieze și să lipsească codul împreună fără să aibă grijă cum funcționează. Cel mai bun mod de a combate acest lucru este să încercăm să oferim materiale educaționale mai bune celor care doresc să devină programatori mai buni, cum ar fi noul centru de învățare jQuery
Apelul Selectors API, absolut (selectorul API este ceea ce ne dă querySelectorAll
și ne permite să interogăm nodurile DOM folosind selectori CSS). Din fericire, faptul că jQuery a popularizat utilizarea selectorilor CSS pentru a găsi nodurile DOM este ceea ce a încurajat standardizarea sa pentru început. Este o situație de pui și ou :)
Ca cineva care scrie o mulțime de JavaScript, am petrecut mai mult timp cu Node.js și PhantomJS. Aceste medii vă oferă posibilitatea de a scrie JavaScript pe partea de server și de a face tot felul de scripting și de scriere a aplicațiilor. Este foarte distractiv să puteți scrie JavaScript și să lucrați atât pe client cât și pe server (de exemplu, posibilitatea de a partaja logica pentru un joc client-server).
Am văzut câteva rezultate extraordinare din școlile care folosesc Academia Khan ca parte a curriculumului lor.
Cred că cel mai mare lucru pe care l-ar putea întâmpla browserele în ultimii ani este trecerea la un ciclu de lansare rapidă, susținut de echipa Chrome și apoi preluat de echipa Firefox. Emisiile care ies la fiecare trei luni în loc de fiecare an (sau la fiecare an) schimbă complet modul în care noile caracteristici sunt introduse și folosite de dezvoltatori. Orice browser care dorește să rămână competitiv va fi nevoit să țină pasul cu acest program de dezvoltare rapidă; în caz contrar, cu siguranță vor rămâne în urmă.
Creșterea accesului pentru mai mulți oameni (și cu un browser bun!) Este într-adevăr o victorie pentru toți. Nu am țintit acest lucru în mod explicit la Academia Khan, dar există un proiect minunat numit KA Lite care încearcă să facă acest lucru.
Încă mai cred că este posibil, dar e greu de spus cât de mult ar fi beneficiul de a face asta. Dacă codul era deja precompilat în bytecode și aștepta doar în memorie, atunci mi-aș fi imaginat că vor fi niște șmecheri frumoase. Acestea fiind spuse, pariez că accelerațiile vor fi mai mici decât cele oferite de îmbunătățirile de performanță ale DOM.
Cu siguranta a fost o calatorie! Am scris cea mai mare parte a conținutului în perioada 2008-2010, iar coautorul meu, Bear Bibeault, a lucrat asupra lui în perioada 2011-2012. Cred că este încă extrem de relevant pentru dezvoltarea modernă.
Prima jumătate a cărții se referă la cele mai bune practici și la unele aspecte mai complicate ale dezvoltării JavaScript moderne. A doua jumătate acoperă DOM și tot ceea ce trebuie să știți pentru a scrie codul browserului încrucișat. Aceste două subiecte sunt încă o parte permanentă a dezvoltării JavaScript astăzi și ar trebui să ajute toată lumea de la intermediari la dezvoltatori avansați.
Probabil ca nu! Cel puțin nu o carte tipărită tradițională. Sunt dornic să fac mai multe bloguri și scrierea de articole. Dacă scriu vreodată o altă carte, ea va fi cu siguranță publicată pe sine și probabil în formă electronică.
Îl iubesc pe New York. Am întâlnit o gamă largă de dezvoltatori aici și am fost surprins de cât de puternică este comunitatea aici cu multe întâlniri, prelegeri, hack-a-thoni și alte evenimente care se petrec. În timp ce am fost aici doar pentru o perioadă scurtă de timp, simt că comunitatea devine din ce în ce mai puternică.
Dispozitivele care ies la fiecare trei luni în loc de fiecare an schimbă complet modul în care noile caracteristici sunt introduse și utilizate de către dezvoltatori.
Lucru sigur! Am petrecut mai mult timp explorând arta și am devenit fascinat de o formă de artă în special: imprimarea japoneză Woodblock. Aceasta a fost o formă de artă în Japonia, care a fost popularizată de la începutul anilor 1700 până la sfârșitul anilor 1800 (și continuând până în prezent, deși ca o nișă).
Imprimeurile descriu lumea incredibilă a samurailor, a războinicilor, a zeilor, a frumuseților și a naturii. Sunt extrem de vii și arată uimitor de modern. Mi-am pus abilitățile de programare să utilizez și am dezvoltat un instrument pentru cercetători care agregă amprentele dintr-un număr de muzee din întreaga lume și le face să poată fi căutate: http://ukiyo-e.org/ Am primit un răspuns foarte pozitiv de la un număr de cercetători, care a fost cel mai plin de satisfacții.