I no longer mantain this list. There are lots of other very comprehensive JavaScript link lists out there. Please see those, instead (Google "awesome JavaScript" for a start).
-
-
Save ericelliott/d576f72441fc1b27dace to your computer and use it in GitHub Desktop.
@ericelliott — somehow I missed your note of 10 days ago.
Yes, I'd be interested in working this up, although there are certain parts that might throw me.
By the end, I'd like to be able to create that web component thumbnail list, although at present I'm ignorant of even where to start (well, the links you have here, obviously).
Btw, I saw today that 6to5 has been renamed to Babel.
Yeah, I've updated the Babel link.
"Would my program be better if I could inject this dependency, instead?"
@ericelliot Have you seen need in your code to use a dependency injection container of some kind? I find myself having areas of my code base which are mainly responsible for object construction and other areas that use those services via injection, but I wonder if using an injection container could help me manage the object construction areas a little better.
I briefly looked into using https://github.com/angular/di.js/ in node, just wondering if you have opinions on how best to go about managing dependencies in node, or if in general you don't find need for a library to do that.
I used to use Sublime Text 3 all the time but I moved over to Webstorm for my javascript and it really put up my productivity as a lot of the required tools are all under one hood (terminal, server, git etc), you can still install plugins or create your own.
When working on a node.js project the predictive text is amazing, pull's in what you want from code on other js files even if they are closed. This works great with node_modules too if you keep forgetting the markup. The list goes on but I find it a strong contender that maybe a little under looked.
Useful ES6 features summary: https://github.com/lukehoban/es6features
@nackjicholson If you want to tightly couple your modules to your app, by all means, make them depend on a dependency injection container.
Wait. Wat? Yeah. The whole point of dependency injection is to loosen the coupling between modules, but a DI container bypasses the nice dependency system built-in to node (so any dependency static analysis has to be rolled out custom for your app), and your dependencies all end up knowing each other by dependency name.
Granted, it makes it a little more convenient to swap out dependencies (just replace the named dependency with something else), but if you're building wisely, you're exposing facade wrappers to your app, anyway, so that benefit is nullified.
"Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function." - John Carmack
The great thing about functions is they can take arguments. The great thing about JavaScript is functions can even take other functions as arguments.
You want the most flexible dependency injection system? For anything that produces objects, export a factory function that takes an options hash.
Do the same for dependencies that need to be shared between modules. Pass in your logger and your app config objects.
If you're worried about DI, this should be your new favorite pattern:
module.exports = function myAwesomeThing(options) {
var myAwesomeInstance = {};
// use dependencies passed in on the options object
return myAwesomeInstance;
};
Want to get really fancy? Throw Stampit into the mix for truly flexible factories.
@Cmdv Many of those benefits are available through plugins in Sublime Text, but WebStorm does have some very nice static analysis built-in. Sublime Text + Tern + DocBlocker gets you most of the way there, but WebStorm is all pre-configured for you.
But for me, I keep going back to Sublime Text because it's faster. WebStorm is like a Cadillac that tops out around 50mph. Sublime Text is the nimble sports car. I find after I've invested time tuning it, I can run circles around WebStorm... it's just that up-front investment that sucks. =)
Your mileage may vary. It's certainly possible to bog down Sublime Text too if you go too crazy with the plugins. For example, I always build a nice dev console into my projects so I get realtime lint and unit test feedback while I'm developing, so I don't install any of the inline debugging tools in Sublime. I also have a tendency to do quite a bit of interactive debugging directly in Chrome with workspaces, so it would be dishonest to say that my whole workflow really depends on Sublime Text. I let it be a good text editor, and I let my other tools be awesome at what they do.
Hosting - Divshot
@ericelliott you remain blessed.
@ericelliott How about a list of the best/most useful Sublime Text plugins? You mentioned Tern and DocBlockr. Others?
I think the HTML5 community on Google+ has too much off-topic stuff.
@ericelliot As always thanks. I have been doing exactly what you suggest above. Factory/Builder pattern for injecting dependencies and options into modules. It does work really well.
As far as the areas of my code, usually near the entry point, that end up being spots where objects and options are constructed in order to be passed around -- I guess that's just sort of natural consequence.
@nackjicholson - I rarely have a ton of objects with methods floating around. Instead, I have a lot of functions in place and state flows through them. See The Two Pillars of JavaScript Part 2 for why that's a good thing. =)
Javascript SDK design guide extracted from work and personal experience
https://github.com/huei90/javascript-sdk-design
page: http://sdk-design.js.org/
It doesn't hurt to add CodeSchool.com and codecademy.com
Not specific to JS, but I've found Debuggex extremely handy for regex debugging.
Why should we suggests links here instead of creating pull requests?
@moklick Originally, it didn't have a proper repository. I started it as a gist, and it grew and took on a life of its own. You should use pull requests, now.
Hey Eric. What happened to your EJL repo?
Scott
Why the Essential JavaScript Links List was 404 ?
404ing :(
404 :(
Thanks for your listing. If anyone would like to read JavaScript books, here you will find best javascript books for beginners.
@ericelliott https://github.com/ericelliott/essential-javascript-links#essential-javascript-links - 404
Have u moved it somewhere into awesome-like github pages?
https://github.com/sorrycc/awesome-javascript
https://github.com/sindresorhus/awesome
@ericelliott Everybody around the world is crying to know where does the repo go.. 😭 😭 😭
Guys, perhaps we can use this in the meantime?
https://devhub.io/repos/ericelliott-essential-javascript-links
Isomorphic JavaScript url doesn't exist.
I no longer mantain this list. There are lots of other very comprehensive JavaScript link lists out there. Please see those, instead (Google "awesome JavaScript" for a start).
Awesome thread... Big topic on TDD & BDD...