background preloader


Facebook Twitter

Bevacqua/rome. Sails.js | Realtime MVC Framework for Node.js. Othree/node-r3. Papa Parse - Powerful CSV parser for Javascript. Jpillora/xdomain. Dropzone.js. JavaScript Modules. Introducing Ampersand.js | Blog. Introducing Ampersand.js a highly modular, loosely coupled, non-frameworky framework for building advanced JavaScript apps. We <3 Backbone.js at &yet. It’s brilliantly simple code and it solves many common problems in developing clientside applications. But we missed the focused simplicity of tiny modules in node-land. We wanted something similar in style and philosophy, but that fully embraced tiny modules, npm, and browserify. So we made Ampersand.js, a well-defined approach to combining (get it?) Post-Backbone Backbone has been praised for its flexibility and simplicity.

I built my first Backbone app when it was still version 0.3.1, and our whole team has been an avid users/supporters of the project for quite some time. Philip Roberts, who has built a big portion of Ampersand.js, got a lot of experience building an incredibly complex Backbone app at his previous company Float. By giving a module narrow scope and functionality you can actually maintain it without going insane. “What? 1. Epoch by Fastly. Synth - The back-end web framework designed to make (Angular|Ember|Backbone)JS web apps easy to create and manage.


Dc.js - Dimensional Charting Javascript Library. Dc.js - Dimensional Charting Javascript Library dc.js is a javascript charting library with native crossfilter support, allowing highly efficient exploration on large multi-dimensional datasets (inspired by crossfilter's demo). It leverages d3 to render charts in CSS-friendly SVG format.

Charts rendered using dc.js are data driven and reactive and therefore provide instant feedback to user interaction. dc.js is an easy yet powerful javascript library for data visualization and analysis in the browser and on mobile devices. Version Status This page is running version: v2.1.8. Getting Started Take a look at the annotated source to the Nasdaq Example shown below. For more information and assistance Please direct questions and support requests to Stack Overflow or the user group. Get help faster with a working example! Examples The following charts provide an example of dc.js used against 27 years of Nasdaq 100 index data. Public data source:

Bounce.js. Hide your header on scroll - Headroom.js. Downloads Note: the sizes shown are after gzipping. What's it all about? Headroom.js is a lightweight, high-performance JS widget (with no dependencies!) That allows you to react to the user's scroll. Why use it? Fixed headers are a popular approach for keeping the primary navigation in close proximity to the user. Large screens are usually landscape-oriented, meaning less vertical than horizontal space. Headroom.js allows you to bring elements into view when appropriate, and give focus to your content the rest of the time.

How does it work? At it's most basic headroom.js simply adds and removes CSS classes from an element in response to a scroll event: Relying on CSS classes affords headroom.js incredible flexibility. Usage Using headroom.js is really simple. With plain JS Include the headroom.js script in your page, and then: var myElement = document.querySelector("header");var headroom = new Headroom(myElement);headroom.init(); With jQuery/Zepto $("#header").headroom(); With AngularJS Options. App.js. Using Yeoman to Create a Web Application. ← Big Data Roundup | Meteor Web Application Creation → A guest post by Jonnie Spratley, who currently works for GE as a UI Developer on the Industrial Internet Team building user interfaces for next generation products, and teaches a variety of programming courses at AcademyX. In this post we will discuss using Yeoman, which is a client-side stack that contains three tools and frameworks to help developers quickly build beautiful and scalable web applications.

These tools include support for linting, testing, minification and more. Read Yeoman: Optimizing Your Workflow in AngularJS for more about Yeoman. Yo is used to generate things, from other generators to files and more.Bower is used for dependency management, downloading and installing .js components.Grunt is used for task management such as building, previewing and testing.

How To We are going to use all of these tools described above to create an AngularJS application. 1. . $ npm install -g yo grunt-cli bower 2. 3. A. B. C. D. E. F. G. Removing User Interface Complexity, or Why React is Awesome. I've been studying frameworks and libraries like Ember, Angular, and React the past several months, and given Web Components a lot of thought. These all solve similar problems to varying degrees, and are in conflict in some ways and in harmony in others. I'm mostly concerned with the core problems of data binding and componentizing UIs. After much research and usage of the technologies mentioned above, I found React to provide the best solution. I ask that you set aside your framework prejudices and read this post with an open mind. This post is not to evangelize React specifically, but to explain why its technique is profound. I want developers steeped in other technologies to take a hard look at these techniques, particularly those involved in Web Components.

This post actually started as a call to address problems with Web Components. The Bloop Library# I'm not going to focus on React specifically. We're going to build our own library from scratch that is highly inspired by React. Om# Masonry. JavaScript Promises ... In Wicked Detail - Matt Greer. I’ve been using promises in my JavaScript code for a while now. They can be a little brain bending at first.

I now use them pretty effectively, but when it came down to it, I didn’t fully understand how they work. This article is my resolution to that. If you stick around until the end, you should understand promises well too. We will be incrementally creating a promise implementation that by the end will mostly meet the Promises/A+ spec, and understand how promises meet the needs of asynchronous programming along the way. This article assumes you already have some familiarity with promises. Table of Contents Why? Why bother to understand promises to this level of detail? The Simplest Use Case Let’s begin our promise implementation as simple as can be. To this To do this, we just need to change doSomething() from this function doSomething(callback) { var value = 42; callback(value); } to this “promise” based solution fiddle This is just a little sugar for the callback pattern.

Fiddle fiddle if(! Velocity.js. And just like that Grunt and RequireJS are out, it's all about Gulp and Browserify now » { 100PercentJS } In a demonstration of how insane the Javascript world is, a revolution happened last week and it looks like Grunt was dethroned as the go-to task -runner. But wait you may say, wasn’t the Node and Grunt revolution just beginning? After all Grunt had just managed to find its way to job descriptions. Apparently we weren’t done revolutionizing. This is how it happened from my point of view. I got linked to this: When I saw that first post I knew Addy Osmani is always way out on the front lines so I thought there are still some months of using Grunt before Gulp takes over. But then when Hage Yaapa, who wrote a great book on Express and who always posts great resources, praised it so much I realized it’s probably awesome.

And finally when Sindre Sorhus, also on the yeoman team, major Javascript innovator and leading NPM contributor, posted a quick tutorial about it, I had to look. And what I saw was that it is indeed much better, much more intuitive to Node.js devs and simpler to use. Browserify. Gulp.js - the streaming build system. Game Mechanic Explorer. Debugging Asynchronous JavaScript with Chrome DevTools. Introduction A powerful feature that makes JavaScript unique is its ability to work asynchronously via callback functions. Assigning async callbacks let you write event-driven code but it also makes tracking down bugs a hair pulling experience since the JavaScript is not executing in a linear fashion. Luckily, now in Chrome DevTools, you can view the full call stack of asynchronous JavaScript callbacks!

Once you enable the async call stack feature in DevTools, you will be able to drill into the state of your web app at various points in time. Walk the full stack trace for some event listeners, setInterval, setTimeout, XMLHttpRequest, promises, requestAnimationFrame, MutationObservers, and more. As you walk the stack trace, you can also analyze the value of any variable at that particular point of runtime execution. Let's enable this feature and take a look at a few of these scenarios. Enable async debugging in Chrome Try out this new feature by enabling it in Chrome. Name your functions. Derby. AngularJS. Sahat/hackathon-starter. Replacing (most of) d3.js with pure SVG + AngularJS. Over the last few months, I've been feeling increasingly unsatisfied with the options we have for integration between d3.js and AngularJS.

In my earlier projects, I used Brian Ford's approach of creating a directive for the visualisation I need, and adding the d3 code in the link function of the directive. This is simple and works, but it feels like a very superficial integration. Effectively the Angular directive creates a hole in the DOM processing cycle within which d3 can work. The good guys at BayesHive came out with an alternative approach called Radian, that felt closer to what I wanted. They rely heavily on small, pre-existing Angular directives to declaratively create d3 visualisations. Thinking about it further though, what Radian is doing is using directives (masterfully) to trigger d3, to create SVG tags, so that the browser can finally render a visualisation.

Dividing responsibilities And which one has this: Or this: Educated guesses in hand, let's look at the answers. Angular/angular-seed. Mithril. 10 Habits of a Happy Node Hacker. For most of the nearly twenty years since its inception, JavaScript lacked many of the niceties that made other programming languages like Python and Ruby so attractive: command-line interfaces, a REPL, a package manager, and an organized open-source community.

Thanks in part to Node.js and npm, today's JavaScript landscape is dramatically improved. Web developers wield powerful new tools, and are limited only by their imagination. What follows is a list of tips and techniques to keep you and your node apps happy. 1. Start new projects with npm init npm includes an init command which walks you through the process of creating a package.json file.

Even if you're intimately familiar with package.json and its properties, npm init is a convenient way to get your new node app or module started on the right track. Mkdir my-node-app cd my-node-app npm init 2. It's good to get in the habit of using --save (or --save-dev) every time you install a module that's local to your project. 3. 4. 5. 6. 7. AngularJS Directives - Basics. I have recently been working with AngularJS directives and this is probably my favorite feature of the project.

It is a really clever and powerful way to extend HTML to do new things. As someone who has spent a lot of time doing Flex development, custom declarative markup that represents an underlying component is like an old friend. In this post, we will explore a series of examples that build in complexity to help us understand directives. We are going to start out with an extremely simple example and iterate over it to see how and why you build directives. Act One: The Setup Here is the starting setup that we are going to be building on.

It is static html with four divs positioned on the screen. The jsFiddle is here: Here is the HTML: And the CSS: Nothing fancy here. Act Two: Enter AngularJS Let’s take this a step further and make the properties dynamic. The jsFiddle is here: The HTML: Now for the JavaScript: Gotcha! And. Hipster Dev Stack. Imagine this likely scenario: you work on your ceramic burr grinder drop ship store at nights and your organic cat saliva bike decal glue formula at weekends. One may have to pay for all this real work with a troublesome day job of some kind. The paymasters at this particular day job don’t share your own passion to make things The Right Way using Hapi and Om, and in fact may even claim their ‘hands are tied’ and you find yourself having to work with, ugh, Java. Like the whole coffee tie-in isn’t an obvious attempt to pander to urban ‘trendies’ by enterprise douches.

Guys, this is 20th Century technology. Still, all is not lost. Just as jRuby saved us back in the day (2009), you can now hide the ugly stepchild under the (original, untreated) floorboards by using Nodyn. Yes, write ClojureScript that compiles to JavaScript that runs on Node.js that compiles to the JVM. Gulp.js - the streaming build system. Yeoman - Modern workflows for modern webapps. Pstadler/flightplan. Prerender - AngularJS SEO, BackboneJS SEO, or EmberJS SEO. AngularJS and SEO – Part 2 – Title and meta description | Roger Alsing Weblog. This is a follow up on AngularJS and SEO – Part 1 Getting your site in the Google and Bing index may be the most important step but you still need to optimize your content for searchability. e.g. you will have to deal with title tags and meta description for each page in order to rank well.

There is nothing built in for AngularJS to deal with this, so we had to roll our own directives for this. We do use TypeScript, but you can easily convert this to plain javascript. And to use this you simply place a view-title inside one of your view templates, like so: By doing this, you not only set a nice title for your single page app, but you also make the title and description indexed if you use the service in part 1, because the service will capture the dynamic DOM containing the new title and meta description.

Like this: Like Loading... Image Lightbox, Responsive and Touch‑friendly — Osvaldas Valutis. As for the image lightboxes, I have always lacked simplicity for them. I mean not only the visual design, but the overall experience: from implementation to UX. All due respect, but I have never liked any of these light-fancy-face-boxes. They all were solving problems that just don’t exist: lots of unwanted features by default, total mess in markup, no native behavior for touch screens. I was working on a project and needed an image lightbox that solves these problems. Features Ascetic. As I mentioned earlier, the plugin produces a single-element markup by default: No default CSS. Position value can be anything, but in most cases fixed will produce what’s expected.

JavaScript Source: imagelightbox.js (uncompressed; 9kb) and imagelightbox.min.js (minified; 4kb). The plugin takes the advantage of jQuery. ImageLightbox() accepts some options. It also has a couple of method functions, as mentioned: Examples Plugin without demo is a rhyme without reason. Demo P.S. Changelog. Nightwatch.js. You Might Not Need jQuery. jQuery and its cousins are great, and by all means use them if it makes it easier to develop your application. If you're developing a library on the other hand, please take a moment to consider if you actually need jQuery as a dependency.

Maybe you can include a few lines of utility code, and forgo the requirement. If you're only targeting more modern browsers, you might not need anything more than what the browser ships with. At the very least, make sure you know what jQuery is doing for you, and what it's not. Some developers believe that jQuery is protecting us from a great demon of browser incompatibility when, in truth, post-IE8, browsers are pretty easy to deal with on their own. Your search didn't match any comparisons. jQuery $.getJSON('/my/url', function(data) { }); Post var request = new XMLHttpRequest();'POST', '/my/url', true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); request.send(data); Request Effects Fade In Hide Off.

All Lessons - AngularJS Video Tutorials, Workshops, and Training. Deployd. Two.js. D3.js: How to handle dynamic JSON Data. Mapstraction - Home. Passport | Overview. Annotating JavaScript for the Closure Compiler - Closure Tools. Named function expressions demystified. Welcome to TypeScript. ExplainJS. Setting up Node.js and npm on Mac OSX. How to Learn JavaScript Properly. Getting Started · yeoman/yeoman Wiki. jQuery Animated Table Sorter. Grunt-jsdoc-plugin. Use JSDoc: Index. Cdnjs - the missing cdn for javascript and css. Javascript Libs/Frameworks. RequireJS. Dashboard. Graphite - Scalable Realtime Graphing - Graphite. Mhemesath/r2d3.

D3.js - Data-Driven Documents.


Superhero.js. Breeze Todo. Jcrop - Deep Liquid. Jcrop Image Cropping Demos. 1pxdeep | A Bootstrap theme exuding color and embracing flat. List of Twitter Bootstrap Resources. Bootstrap HTML Button generator | Tags Manager, a jQuery plugin which work nicely with Bootstrap from Twitter. Dangrossman/bootstrap-daterangepicker. AngularJS. Meteor. Coding an Infinitely Scrollable Site. Building an App with Ember.js. AngularUI for AngularJS. Developing Backbone.js Applications - Maqetta. Meteor. Review of JS Frameworks — Journey Through The JavaScript MVC Jungle. AngularJS — Superheroic JavaScript MVW Framework.

"GETTING STARTED WITH EMBER.JS IS EASY." - no it isn't - Ember.JS. Chart.js | HTML5 Charts for your website. Backbone.js. Superhero.js. How to use Create a new Fiddle - jsFiddle.