Вы находитесь на странице: 1из 10

11/1/2016

ericelliott/essentialjavascriptlinks

EssentialJavaScriptLinks
AcuratedlistbyEricElliottandfriends.SuggestalinkwithaPRoropenanewissue.
Helpusturnthisintoaproperwebsite!
ThisisaveryexclusivecollectionofonlymusthaveJavaScriptlinks.I'monlylistingmy
favoritelinks.Nothingelsemakesthecut.Feelfreetosuggestlinksifyouthinkthey'retruly
essential.

FullDisclosure
Someoftheselinksareaffiliatelinks,meaningthatifyoumakeapurchase,Imightearna
littlemoney.Thishasabsolutelynobearingonwhetherornotlinksmakethe
list.None,whatsoever.However,itdoesallowmemoreresourcestofightpovertywith
code.Everylittlebitcounts.

RequiredReading(Onlineresources)
LearnJavaScriptEssentials(forallskilllevels)OneclearpathtoJavaScriptmastery
#article
TheTwoPillarsofJavaScriptPart1:PrototypalOO#article
TheTwoPillarsofJavaScriptPart2:FunctionalProgramming#article
JavaScriptObjectsAnexcellentexplanationofinheritanceinJavaScriptbyKyle
Simpson#article
HowtoUseES6forUniversalJavaScriptAppsABabelconfigwalkthrough#article
UnapplyattackMakeyourJSappsmoresecurebyfreezingbuiltins.#article
JavaScriptApplicationArchitectureontheRoadto2015AddyOsmani#article
ModularityApragmatictakeonthetinymodulesvsbatteriesincludedapproach
ComputerScienceinJavaScriptbyNicholasC.Zakas#article
TheDaoofImmutabilityTheWayoftheFunctionalProgrammer#article
ReactiveMVCandtheVirtualDOMGreatread,evenifyou'renotaReactuser.#article
IntroductiontoReactiveProgramming#article
TheGeneralTheoryofReactivityWhatisallthistalkaboutreactive?Functional?
Promises?Thisisthebeginningofareactiveprogrammingbible.#article
WhyFunctionalProgrammingMattersbyJohnHughes,1984#paper#pdf
ES6GeneratorsAseriesofblogpostsbyKyleSimpson#article
https://github.com/ericelliott/essentialjavascriptlinks

1/10

11/1/2016

ericelliott/essentialjavascriptlinks

TypedJavaScriptExcellentpostaboutthestateoftypedJavaScriptbyAxel
Rauschmayer#article
ES6Modules:TheFinalSyntaxby@rauschma#article
javascriptsdkdesignAguideforpeoplebuildingJavaScriptclientSDKs#article
AdvancedPerformanceAuditswithDevToolsIndepthperfcasestudieswithPaulIrish
#article

RequiredViewing
ClassicalInheritanceisObsolete:HowtoThinkinPrototypalOObyEricElliott#talk
CompositionOverInheritancebyMattiasPetterJohansson#video
EverythingYouNeverWantedtoKnowAboutJavaScriptNumbersbyBartekSzopka
#talk
AsynchronousProgrammingatNetflixJafarHusain#talk
WhatisReactiveProgramming?JafarHusainexplainsreactiveprogramming#talk
IntroductiontoReactiveProgrammingbyAndrStaltz#video#course
Immutability:PuttingTheDreamMachineToWorkbyDavidNolen#talk
TheEssenceofFRPbyConalElliott#talk
JavaScriptAPIDesignPrinciplesbyAriyaHidayat#talk
DeliveringtheGoodsPaulIrishononeofthemostimportantbutoverlookedtopicsin
thedevelopmentworldtodaypageloadtimes.#talk
SuperchargingPageLoadbyJakeArchibald#video
Slay'ntheWasteMonsterbyColtMcAnlis#talk
SimplicityMattersAlaterversionoftheinfluentialtalk,"SimpleMadeEasy"byRich
Hickey#talk
MakingWebGLDancebyStevenWittens#talk
ThePixelFactorybyStevenWittens#talk
GettingStartedwithReduxbyDanAbramov.Describesafunctionalapproachto
applicationstatethatalldevelopersshouldbeawareof.#course#video

Exercises
FreeCodeCampLearntobuildapps&workonnotforprofitprojects.#exercises
LearnRx#exercises

Spec
https://github.com/ericelliott/essentialjavascriptlinks

2/10

11/1/2016

ericelliott/essentialjavascriptlinks

ES5SpecAnannotated,hyperlinkedversionoftheES5spec
ES6SpecECMAScript2015LanguageSpecification

Books
JavaScriptforKidsbyNickMorgan
EloquentJavaScriptbyMarijnHaverbeke
JavaScript:TheGoodPartsbyDouglasCrockford
EffectiveJavaScriptbyDavidHerman
LearnJavaScriptUniversalAppDevelopmentwithNode,ES6,&ReactbyEricElliott
ProgrammingJavaScriptApplicationsbyEricElliott
JavaScript:TheDefinitiveGuidebyDavidFlanagan
YouDon'tKnowJSbyKyleSimpson
UnderstandingECMAScript6byNicholasC.Zakas
JavaScriptAllongbyReginaldBraithwaite
Node.jsinActionbyMikeCantelon,MarcHarter,T.J.HolowaychukandNathanRajlich
HighPerformanceBrowserNetworkingbyIlyaGrigorik#book
"SevenLanguagesinSevenWeeks"Learndifferentwaysofsolvingproblemsandyou'll
deepenyourunderstandingofJavaScript.#book
TheDreamMachine:J.C.R.LickliderandtheRevolutionThatMadeComputing
PersonalbyM.MitchellWaldrop
WebGLFundamentalsbyGreggmanAninteractiveonlinebookaboutgraphics
programming.

Devtools&collaboration
nvmFirstinstallthis...
NodeTheninstallNode(withnvm).You'llneedthisevenifyou'reafrontenddev.
npmInstalllotsofotherthingswithnpm.Thepackagemanagerfor
JavaScript.ComeswithNode.
AtomNice,hackableeditorbyGitHub.
NodeInspectorDebugNodecodewiththeChromedebugtoolssaveliveedittrue
TraceGLPowerfulruntimeanalysisofliveJavaScriptcode
TernStaticanalysisinJavaScript
JSDocPairwithTernforstaticanalysis
SlateGeneratebeautifulAPIdocsforyourapps
SlackChatforteams,withGitHubandGooglehangoutsintegration
GitterLikeSlack,butbetterforOSSprojectsandfreechat.
https://github.com/ericelliott/essentialjavascriptlinks

3/10

11/1/2016

ericelliott/essentialjavascriptlinks

AiretyBetterdeveloperinterviewsviapairprogramming.
PrettyDiff
BabelReplTheBabelREPLwithcompiledoutput
Nitrous.IOOnlineIDEinthecloudwithcollaboration&Dockercontainers
KodingOnlineclouddevelopmentplatformwithvideo&audiocollaboration

Building
BrowserifyBundlemodulesforthebrowser.
WebpackSimilartoBrowserify,withmorebatteriesincludedandaconfigfile.Supports
livepatchingrebuilds.
HowtouseNPMasaBuildTool
precommitEasilyconfigureprecommithooksforyourpackage

Testing/Lint/Qualitycheckers
ESLintThepluggablelintingutilityforJavaScriptandJSX.
JSCSLinterwithafocusonautomaticfixesandbuiltinstyleguidepresets.
babeleslintAllowES6featurestopassESLint.
eslintpluginnoclassForbidtheES6classkeyword.Why?
ESLintnoinferredmethodnameAcustomruleforacommonproblem.#code
IstanbulCodecoveragereporting
tapeDeadsimpleunittesting#code
tapbrowsercolorPrettifytapoutputinthebrowser.WorkswellwithTape.#code
faucetPrettifytapoutputintheconsole.PlayswellwithTape.#code
SupertestThebestwaytotestHTTPendpoints.#code

Transpilers
BabelTranspileES2015(ES6),ES7toES5,JSXtoReact.
TypeScriptTypeScript'sstructuraltypesareworthalook,butIdon'tuseit.
EmscriptenFrequentlyusedforC/C++JavaScriptports.
ES6toolsAddyOsmani'sES6Toolslist.

JavaScriptenvironments
Node.jsServersideJavaScriptandmore

https://github.com/ericelliott/essentialjavascriptlinks

4/10

11/1/2016

ericelliott/essentialjavascriptlinks

Libraries
stats.js.orgJavaScriptreposrankedbypopularity.#code
es5shimStable,productionready.#code
es6shimSomewhatstable,butafewthingsIthoughtweresolidgotshiftedtoES7.
#code
es7shimExperimental.Usewithcaution.#code
HTML5CrossBrowserPolyfillsAfairlycomprehensivelistofHTML5APIpolyfills.
#code
DeepFreezeDeepfreezeobjects.#code
HTML5BoilerplateYou'llwanttocherrypickthebestofthisforyourproductionapps.
SeeInitializr#code
UpUpMakesureyoursiteworksevenwhenyouruserisoffline.#code
cfpackageACloverfieldscaffoldthatgeneratesnewmodules(npmpackages)
completewithnpmscriptsandusefulboilerplate.#code
TheUniversalReactBoilerplateWriteappsusingthesamecodeforboththeclientand
theserverusingNode,Express,andBrowserify.#code
NodeGoatIdentifysecurityvulnerabilitiesinyourNodeapps.#code
lightning.jsAsyncfetchload3rdpartyJS&exposeapromiseAPI.#code
nativepromiseonlyAnECMAScriptstandardpromisepolyfillbyKyleSimpson.#code
isomorphicfetchAWHATWGfetch.standardpolyfill.#code
sseasyServerSentEventsforNode(HTML5standardpushnotifications).#code
EventSourcebrowserPolyfillRequiredclientsidepatchingtosupportServerSent
Events.#code
TodoMVCAshowcaseimplementingmanyMV*libraries/frameworksusinga
standardizeddemoapp(foreasycomparisons).#code
jQueryMostpopularJSlibbyalandslide.#code
ReactWhatdoFacebook,Instagram,NetflixandPayPalhaveincommon?React.
#code
Cycle.jsLikeReact,butmorefunctional&reactive#code
LodashFPLikeUnderscore,butmuchfaster,andfeaturingamoreexpressiveAPI.
#code
RxJSReactiveextensionsforJavaScript.What'sreactive?#code
Page.jsTinyclientsiderouter,inspiredbyExpress.#code
MomentAlightweightJavaScriptdatelibraryforparsing,validating,manipulating,and
formattingdates.#code
expressrequestlanguageBestimplementationI'veseenforAccept
LanguagenegatiationinExpress.#code
https://github.com/ericelliott/essentialjavascriptlinks

5/10

11/1/2016

ericelliott/essentialjavascriptlinks

acceptlanguageIfyoudon'tuseexpress,acceptlanguageisthelowlevellibthat
powersexpressrequestlanguageforlanguagematching&fallback.#code
Globalizei18n/translateyourappformanylanguagesandlocations(locales).#code
dotenvEasilymanageenvironmentvariables#code
LeafletInteractivemapUIsmadeeasy.#code
LuscaSecureyourExpressapplication.BytheKrakenteamatPayPal.
ExpressThemostpopularframeworkforNode.#code
StampitCreateobjectsfromreusable,composablebehaviors.Prototypalinheritance
withstamps.#code
CredentialIfyouwriteNodeappswithpasswordlogins,youneedCredential.#code
nodejsonwebtokenEasyJSONWebTokenauth.#code
cuidGUIDsarebrokenusecuid,instead.#code
velocity&VelocityMotionDesigner(VMD)UIanimationlibrary.#code
ismyjsonvalidAfastjsonschemavalidator.#code
isexpressschemavalidismyjsonvalidasExpressmiddleware
forreq.bodyreq.queryandreq.params.#code
inquirer.jsGreatlibraryforbuildingCLItools.#code
rimrafrmrfutilfornodejs.Greatfornpmscripts.#code
Wemo.ioOpenSourceVRTools#code
IoT.jsAnInternetofThingsJavaScriptplatform.

React
IntroducingReact#video
ReactblogOfficialReactblog
JSXLooksLikeanAbominationbutit'sGoodforYouMytakeonJSX#article
ReactPureComponentStarterLearnReactpurecomponents#code
Baby'sFirstReactionBuildyourfirstworkingReactcomponent#article
ImmutableDataandReactbyLeeByron#video
reactstampComposable,classlessReactcomponentsmadeeasy#code
reactenginePayPal'sisomorphicReactviewengineforExpressorKraken#code
StilrSimplifyJScomponentstyles#code
eslintpluginreact#code
ReactHotLoaderLivepatchingforWebpack#code
livereactloadLivepatchingforBrowserify#code
ReduxPredictablestatecontainer(store)forJavaScriptapps#code
ReduxDevtoolsDevToolsforReduxwithhotreloading,timetraveldebugging,and
customizableUI
https://github.com/ericelliott/essentialjavascriptlinks

6/10

11/1/2016

ericelliott/essentialjavascriptlinks

CerebralAnimmutablestoreforglobalappstate#code
reactnativeReactformobiledevices#code
ElementalUIModularUIcomponentlibraryforReact.#code
VelocityReactGreatanimationsforReact#code
reactartReactforSVGorcanvas#code
reactcanvasReactforcanvas#code
reactthreeThree.jsrenderingforReact#code
react.rocksPintereststyledirectoryofonlinedemoswithavailablecode
TodoMVCinReact#example
JSXSpecification#documentation

Relay&GraphQL
RelayBuilddatadrivenReactapplications.#code
DataFetchingforReactRelay&GraphQLDescribed
IntroducingRelayandGraphQL#video
Let'sLearnGraphQL#course
BuildingtheFacebookNewsfeedwithRelay#article
RelayFAQ#article
MutationsinRelay(slideshow)Slideshow+speakernotes#slideshow
RelayandRoutingbyChristophPojer.#article
GettingstartedwithGraphQLandNode.js#article
GraphQLSpecification
GraphQLReferenceImplementation#code
graphqlserverAGraphQLserverimplementationwithMongo/Mongoose#code

WebComponents
FIRST
Polyfills
HTMLImports
CustomElements
Templates
ShadowDOM
xgifThiswebcomponentwinstheinternet.
VulcanizeDon'tletwebcomponentsslowyourappdown.BundleyourHTMLimports.

https://github.com/ericelliott/essentialjavascriptlinks

7/10

11/1/2016

ericelliott/essentialjavascriptlinks

QA/Deployment/Monitoring/CI
PM2Processmonitoring/selfrepair
PingdomResponsemonitoringandalertmanagement(becauseincidentshappen).
NewRelicDeepinsightsintotheperformanceandhealthofyourproductionapps
SauceLabsCrossplatformwebapplicationtestingwithgreatcollaborationand
integrationsupport
TravisCICI,ofcourse
DockerRunyourCIprocessusingthesameOSconfigsasyourproductionsystems.
ShippableDockerbasedhostedbuild/CI
TensAthinAPIfacadeinNode
KongAPI/microserviceextensionandmanagementlayer,centralizeauth,cache,
logging,ratelimiting,etc...pluginsinLua)

Community
JavaScriptQuestionsChat
JavaScriptonGoogle+
HTML5onGoogle+
Node.jsonGoogle+
IRC##JavaScriptirc://irc.freenode.net/javascript
IRC#node.jsirc://irc.freenode.net/node.js
IRC#io.jsirc://irc.freenode.net/io.jsTheNodefork
IRC#learnjavascriptirc://irc.freenode.net/learnjavascript

News
JavaScriptScene
JavaScriptWeekly
NodeWeekly
HTML5Weekly
EchoJS
JavaScriptLive
JavaScript.comNews
NodeModuleOfTheWeek
JavascriptKicks
5MinutesofJavascript
https://github.com/ericelliott/essentialjavascriptlinks

8/10

11/1/2016

ericelliott/essentialjavascriptlinks

Pasting/sharingcode
Codepen
RequireBin
ES6Fiddle
CodePicNicEmbedinteractivefullstacksnippets&demos
JSBinEmbededitablecodesnippets.

Contests
DemoJSTheJavaScriptdemosceneparty
JS1kJavaScriptdemosin1kofmemory
JS13kGamesJavaScriptgamesin13kofmemory
FightCodegameprogramvirtualbattlebotsandclimbtheleaderboard
NodeKnockoutThelegendaryNodecompetition

HackableHardware
Nodebots
Cylon
Nodecopter
Tessel
Espruino
OnionOmega

Hosting
DigitalOcean

Forkids(andadultswhojustlovetohavefun)
JavaScriptforKids
ScreepsAstrategygameyoucontrolbywritingJavaScript
CodingGameProgrammingpuzzlegames
FightcodeProgramrobotstodobattle
LearnToModModMinecraftwithJavaScript
https://github.com/ericelliott/essentialjavascriptlinks

9/10

11/1/2016

ericelliott/essentialjavascriptlinks

TheYoungPerson'sGuidetoProgramminginMinecraft
CodeCombatRPGadventurecontrolledbyJavaScript

Twitter(alphabeticalorder)
AddyOsmaniApparchitectureexpert,Chromedevtoolschampion
AngusCrollAuthor,"IfHemingwayWroteJavaScript"
AxelRauschmayerESNextevangelist,author
BrendanEichCreatedJavaScript
DavidHermanAuthor,"EffectiveJavaScript"
DavidNolenGreatfunctionalprogrammingcontent
EchoJSNewsandlinks
EricElliottThat'sme.O'Reillyauthor.JavaScriptarchitect.JSInstructor.
JafarHusainGreattalksonRxJS,ESnext,etc...
JamesHallidayakaSubstackauthorof~onemillion~Nodemodulesyouprobablyuse.
JamesLongCSP,functionalprogrammingadvocate,Mozilladeveloper
JavaScriptCheerleaderMover&shaker,JavaScriptevangelist,documentaryfilmmaker
JavaScriptDailyNewsandlinks
JavaScriptKicksNewsandlinks
JordanHarbandKeepingusaheadoftheJScurve
MarijnHaverbekeAuthor,"EloquentJavaScript"
NicholasC.ZakasAuthor,speaker
NickMorganAuthor,"JavaScriptforKids"
NicolasBevacquaAuthor"JavaScriptApplicationDesign",Speaker,OpenSource
Evangelist
PaulIrishDeveloperevangelist,Chromedevtoolschampion
ReginaldBraithwaiteAuthor,"JavaScriptAllong",speaker,PagerDuty
YDKJSYouDon'tKnowJS,O'ReillybookseriesbyKyleSimpson

https://github.com/ericelliott/essentialjavascriptlinks

10/10

Вам также может понравиться