Skip to content

Instantly share code, notes, and snippets.

@yorkxin
Forked from jookyboi/javascript_resources.md
Last active August 18, 2017 07:30
Show Gist options
  • Save yorkxin/e9e33987e436bec98fe8 to your computer and use it in GitHub Desktop.
Save yorkxin/e9e33987e436bec98fe8 to your computer and use it in GitHub Desktop.
Here are a set of libraries, plugins and guides which may be useful to your Javascript coding.

Libraries

  • jQuery - The de-facto library for the modern age. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.
  • Backbone - Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
  • AngularJS - Conventions based MVC framework for HTML5 apps.
  • Underscore - Underscore is a utility-belt library for JavaScript that provides a lot of the functional programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in JavaScript objects.
  • lawnchair - Key/value store adapter for indexdb, localStorage and more
  • Handlebars - Minimal semantic templating

Plugins

  • jQueryUI - jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.
  • Bootstrap - Bring Bootstrap's components to life with over a dozen custom jQuery plugins. Easily include them all, or one by one.
  • Async.js - Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript. Although originally designed for use with node.js, it can also be used directly in the browser. Also supports component.
  • timeago - Timeago is a jQuery plugin that makes it easy to support automatically updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
  • Chosen - Chosen is a library for making long, unwieldy select boxes more friendly.
  • QTip2 - Second generation of the advanced tooltip plugin for jQuery
  • spin.js - JS replacement for gif loading spinners
  • Hotkeys - John Resig's plugin for adding/removing handlers for keyboard events
  • Linkify - jQuery plugin to format text containing URL or hashtag into clickable anchor tags.

Tools

  • Bower - Bower is a package manager for the web. It offers a generic, unopinionated solution to the problem of front-end package management, while exposing the package dependency model via an API that can be consumed by a more opinionated build stack. There are no system wide dependencies, no dependencies are shared between different apps, and the dependency tree is flat.
  • Grunt - Javascript Task Runner

Guides

  • Jasmine - Jasmine is a behavior-driven development framework for testing JavaScript code.
  • Building a Chrome Extension - Extensions allow you to add functionality to Chrome without diving deeply into native code. You can create new extensions for Chrome with those core technologies that you're already familiar with from web development: HTML, CSS, and JavaScript.
  • Backbone Tutorials - Backbone Tutorials is a collection of tutorials written by Thomas Davis.
@seriussoft
Copy link

Second List of yours that I've seen and the second one i've had to star and give a 👍

I'm especially interested in timeago and Chosen. I tried to make something similar for a personal migraine diary/tracker web-app and it turned out great except on some mobile devices and Opera. It doesn't look like it overrides android 6's terrible select elements, but I may be able to tweak my own CSS/JS to override on devices that are unweildy.

I'll have to take a deeper look at Jasmine because the only truly valid excuse for putting out untested software is that you fully intend to test it, but due to circumstances outside of your control, you haven't gotten there yet. which means: you are still trying to improve your testing suites and general test-ability and as such, it won't be untested for long - never give-up, never give-in, there's always room for improvement :)

Thanks for the shares, again, this kind of thing really makes lives of other developers that much easier. Wish that there was more of this kind of camaraderie across the board (sharing helpful tools and frameworks without shoving it down other people's throats).

Thanks, again! 👍

-- Nate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment