spacer

Welcome to JSPro, the latest addition to the SitePoint network. JSPro covers all topics related to JavaScript, including jQuery, Node.js, and more. Our goal is to make JSPro the premier destination for JavaScript developers of all experience levels. Thank you for visiting, and please remember that reader feedback is appreciated!
Colin Ihrig - Managing Editor

Jump start your learning

 

We've just launched a new series of books focusing on the latest web technologies. With each just 150 pages long, we'll jump start you on your way to becoming a pro!

hide • Find out more

   

Discovering the High Resolution Time API

Aurelio De Rosa on APIs

In today’s world, performance really matters. Developers need to be able to accurately measure the performance of their software. For those who work on the web, the W3C has a brand new API for reliably keeping time. That API is the High Resolution Time API. This article will explore the High Resolution Time API, and show how to use it.
(more…)

  • More like this
  • Tweet this article
  • 0 comments

Other APIs

  • Navigation Timing API: How to Profile Page Loads Efficiently
  • JavaScript and HTML5 Gaming: From Angry Birds to ZX Spectrum

Making HTTP Requests in Node.js

Colin Ihrig on Node.js

In previous articles, I’ve focused on creating a Node.js server to handle HTTP requests. This article looks at the problem in reverse, by showing you how to make HTTP requests from your Node.js applications. You may be asking yourself why you would want to do that. Two applications come to mind right away – web scraping and proxying. Scrapers are pieces of software which download web pages and programatically extract information from them. Proxy servers act as intermediaries, forwarding client requests to other servers and returning the responses.
(more…)

  • More like this
  • Tweet this article
  • 0 comments

Other Node.js

  • HTTP Authentication in Node.js
  • Creating a HTTP Server in Node.js
  • Cloud Deployment of Node.js Applications with Nodejitsu
  • Accessing the File System in Node.js
  • An Introduction to Node.js

Gaming: Battle on the High Seas, Part 5

Jeff Friesen on Gaming
This entry is part 5 of 5 in the series Battle on the High Seas

SeaBattle is an HTML5 game that demonstrates the usefulness of HTML5′s Audio, Canvas, and Web Storage APIs. This article completes our five-part gaming series covering SeaBattle by exploring its draw() and allResourcesLoaded() functions. It also reviews these APIs, by discussing game enhancements, and by examining SeaBattle in a mobile context.
(more…)

  • More like this
  • Tweet this article
  • 0 comments

Other Gaming

  • Gaming: Battle on the High Seas, Part 2
  • Gaming: Battle on the High Seas, Part 3
  • Gaming: Battle on the High Seas, Part 1
  • Gaming: Battle on the High Seas, Part 4

Trimming Strings in JavaScript

Aurelio De Rosa on Raw Javascript

String trimming is one of the most common tasks that programmers deal with. Trimming functions remove whitespace from the beginning and/or end of a string. Native support for trimming was introduced in JavaScript 1.8.1, meaning that they were not part of Internet Explorer prior to IE9. This article will show you how to trim, and how you can build more flexible and powerful trimming functions.
(more…)

  • More like this
  • Tweet this article
  • 9 comments

Other Raw Javascript

  • How to Create Custom Events in JavaScript
  • Modular Design Patterns: Private, Privileged, and Protected Members in JavaScript
  • Testing for Empty Values
  • Adding Micro-Constructors to a Modular Design Pattern
  • Five Useful Functions Missing in Javascript

JavaScript Accessibility 101

James Edwards on Raw Javascript

There was a time when JavaScript Accessibility simply meant ensuring graceful degradation when JavaScript was unavailable. But, since the explosion of Ajax and Rich Internet Applications, JavaScript isn’t just used for non-essential usability enhancements. JavaScript is now the core of web-based applications, so when we talk about JavaScript accessibility today, we mean that the JavaScript itself is accessible.
(more…)

  • More like this
  • Tweet this article
  • 0 comments

Other Raw Javascript

  • Modular Design Patterns: Private, Privileged, and Protected Members in JavaScript
  • Five Useful Functions Missing in Javascript
  • How to Create Custom Events in JavaScript
  • Adding Micro-Constructors to a Modular Design Pattern
  • Testing for Empty Values

Accessing the File System in Node.js

Colin Ihrig on Node.js

For years, JavaScript has had very limited access to the file system. Of course, for most of its life, JavaScript lived in the browser. For a web scripting language, accessing the file system was considered a major security risk. Front end developers have been forced to make due with cookies, web storage, ActiveX, Flash, and other technologies. HTML5 brought about the file system API, but it remains largely unsupported outside of Chrome. With the advent of Node.js, JavaScript began to gain footing as a legitimate server-side language. On the server, file system accesses are a regular occurrence, making the thought of an API much less concerning.
(more…)

  • More like this
  • Tweet this article
  • 0 comments

Other Node.js

  • Making HTTP Requests in Node.js
  • HTTP Authentication in Node.js
  • Creating a HTTP Server in Node.js
  • Cloud Deployment of Node.js Applications with Nodejitsu
  • An Introduction to Node.js

Gaming: Battle on the High Seas, Part 4

Jeff Friesen on Gaming
This entry is part 4 of 5 in the series Battle on the High Seas

Last week, our gaming series dug deeper into SeaBattle’s architecture by discussing the SeaBattle object’s update() function along with its makeShip(x, y, bound1, bound2) constructor. This is the fourth article in our five-part series, and continues to explore this architecture by covering the constructors for submarines, depth charges, torpedoes, and explosions. It also discusses intersects(r1, r2) and collision detection.
(more…)

  • More like this
  • Tweet this article
  • 2 comments

Other Gaming

  • Gaming: Battle on the High Seas, Part 5
  • Gaming: Battle on the High Seas, Part 2
  • Gaming: Battle on the High Seas, Part 1
  • Gaming: Battle on the High Seas, Part 3
Page 1 of 512345ยป
Page 1

The Sitepoint network love

  • sitepoint.com

    The home of everything web

  • cloudspring.com

    Become an Angel at cloud computing

  • phpmaster.com

    The best place to master PHP

  • rubysource.com

    The best source of Ruby knowledge

  • designfestival.com

    All you you need for Design Resources

  • buildmobile.com

    Build for mobile like a boss

  • learnable.com

    Courses and books about everything web