category : JavaScript

No More Global Npm Packages (Part 2)

In a previous article that I wrote earlier this year, I talked about eliminating project dependencies that needed to be installed globally, such as Grunt, Gulp, Browserify, WebPack, etc. Of course, I didn’t argue for eliminating these packages, just replacing the -g flag with a --save or --save-dev flag when installing them with npm install and then using npm scripts to execute the binaries. Well, there’s more…

The Future of JZJS Is Now...ish

Take a look around. Notice anything different? Yes, the theme has changed! That’s the obvious thing, and it’s actually going to change again, hopefully some time in the next few months. There’s a lot of work being done behind the scenes for this site, so let’s take a look.

JavaScript Charting Made Easy With JSCharting

JSCharting is a capable JavaScript charting library with some advanced features and great rendering output. It utilizes SVG, though as an end user developer, you don’t need to be familiar with or code SVG. There is also some fallback in VML for backward compatibility with older versions of IE browsers. A free trial is available from their site if you wish to run the samples or follow along locally. Online samples using codepen will also be embedded below.

Simplifying the ES6 Workflow With JSPM

For a while now, people all around the JavaScript community have been declaring that it is now possible to use ES6 to produce JavaScript applications. Aside from the fact that browsers are implementing more and more of the spec, there are several great transpilers that will convert you ES6 code into ES5 code, such as Traceur and Babel (aka 6to5 which recently changed its name). Beyond that, there are more and more tools coming out to make the workflow simpler and more robust. Today is a great day for ES6!

No More Global Npm Packages

The JavaScript development community has been welcoming new and powerful tools by the dozens each year, almost too fast for mortals to keep up with. Many of these tools come with npm packages that you can install globally so you can use the command line tool from anywhere on your computer. This can be very convenient, but is it the right way to do it? Is there a better alternative?

ES7 Async Functions on Tuts+

It’s been months since I’ve given you all any content here. I’m trying to break that trend, but it will be a while and will take some major changes in order to start writing regularly again. This post isn’t even a full post. Rather, it is an announcement to bring your attention to a post I wrote elsewhere.

Why Aren't You Living in Harmony With ES6 Now?

When I first heard about the next version of JavaScript - known as ECMAScript 6 (ES6 for short) or JavaScript Harmony - I got really excited about all of the new features that we’d be getting to simplify and improve our lives as JavaScript developers… until I thought about it for 5 more seconds and realized that my kids would probably all be grown and moved out before I didn’t need to support any browsers that don’t support ES6, so I may never actually get to use it. I’m discovering that ES6 might be more usable right now than I thought it would be.

My Top 5 (9?) Favorite HTML5 APIs

HTML5 is a lot more than just a few cool new semantic tags. The HTML5 specification actually has a bunch of new JavaScript APIs for us all to work with. Not all of these specs are finalized and they’re not all widely implemented in browsers. That doesn’t necessarily mean that we can’t take advantage of them right now, though. Let’s look at a few of the ones that I’m most excited for and discuss if and how they can be used today.

Don't Name Your Inputs 'Action' or 'Submit'!

Most browsers have a bug that isn’t really a bug. In fact it was purposely put there to make your simpler, but if you (or someone else writing the HTML code) do something in the right (read “WRONG!”) way, it could completely blow up. Specifically, if you assign your input tags a name or id attribute of “action” or “submit”, you can cause some very well hidden bugs.

Patterns for Asynchronous Programming With Promises

Promises are currently the best tool we have for asynchronous programming and they appear to be our best hope for the forseeable future, even if they’ll be hiding behind generators or async functions. For now, we’ll need to use promises directly, so we should learn some good techniques for using them right now, especially when dealing with asynchronous operations on collections, whether they happen in parallel or sequentially.