Static analyzers look at code and find problems before you run it. They do simple checks, like enforcing syntax, and more holistic checks, like making sure your functions aren’t too complex. Static analyzers also find errors that you can’t find with testing, like instances of == when you meant ===. In large projects and on big teams, you’ll be happy to have a little help finding those “simple” bugs that turn out to be a lot less simple than they looked.
Read more…
When approaching AngularJS for the first time, the interaction between scopes, directives and controllers is what immediately becomes (and remains) confusing for most. After the confusion sets in, you start learning about the advanced concepts, which are mind-blowingly complex as well. In this article, Nicolas Bevacqua will navigate the salt marsh that is AngularJS scopes and the lifecycle of an AngularJS application, while providing an amusingly informative, in-depth read.
Read more…
AJAX calls do not cover updates from the server, which are needed for the modern real-time and collaborative web. PubSub (as in “publish and subscribe”) is an established messaging pattern that achieves this. In this article, Alexander Gödde will look at precisely how PubSub solves the updating problem, and he’ll look at one particular solution (the WAMP protocol) that integrates both the calling of procedures on the server and PubSub into a single API.
Read more…
Chartist was developed for a very particular need: to create simple responsive charts. While other charting libraries do a great job of visualizing data, something is always missing to satisfy this simple yet demanding need. In this article, Gion Kunz will show you how to use Chartist to create your own beautiful responsive charts. You’ll learn some key concepts of Chartist, how to easily extend it and also some advanced features, like responsive configuration overrides and the animation API.
Read more…
Developing a polyfill is not the easiest challenge. On the other hand, the solution can be used for a relatively long time: standards do not change often and have been discussed at length behind the scenes. Also everyone is using the same language and is connecting with the same APIs which is a great thing. This is quite a technical article, and while Maksim Chemerisuk will try to minimize the code snippets, this article still contains quite a few of them. So, be prepared!
Read more…
In the wake of so much “CSS versus JavaScript animation” infighting, a new API specifically for web animation is coming out that might just unite both camps. In 2014, Rachel Nabors had the chance to travel the world to talk about using animation in user interfaces and design. She met and interviewed dozens of people who use and champion both CSS and JavaScript. What you’re about to read is purely observational and as unbiased an account as you will be able to find on the subject of web animation.
Read more…
In this article, Daniel Sternlicht walks you through the development process of a Chrome extension with modern web tools and libraries. It all begins with an idea. Daniel thought it would be nice to create a Chrome extension that enables you to mark your reading progress in articles so that you can continue reading them later — anywhere. “Markticle” is the name he chose for this extension. He’ll share here the technologies that he used to develop it. After reading this article, you’ll have a ready-to-use “Save for Later”-like Chrome extension.
Read more…
One of the reasons for AngularJS’ success is its outstanding ability to be tested. The main factor that made Sébastien switch from “Well, I just launch the app and see if everything works” to “I’ve got unit tests!” was that, for the first time, he could focus on what matters and on what he enjoys in programming: creating smart algorithms and nice UIs. After having fixed it, re-updated the application and apologized to customer service, he decided to entirely rewrite this component in test-driven development style. The test file ended up being twice as long as the component file. It has been improved a lot since, especially its poor performance, but it never failed again in production. Rock-solid code.
Read more…
Depending on how a user browses the Internet, modal windows can be downright confusing. Modals quickly shift visual focus from one part of a website or application to another area of content. This scenario is more common than it should be. And it’s fairly easy to solve, as long as you make your content accessible to all through sound usability practices. In this article, Scott O’Hara has set up a demo of an inaccessible modal window that appears on page load and that isn’t entirely semantic. First, interact with it using your mouse to see that it actually works. Then, try interacting with it using only your keyboard.
Read more…
JavaScript-based animation is often as fast as CSS-based animation — sometimes even faster. CSS animation only appears to have a leg up because it’s typically compared to jQuery’s $.animate(), which is, in fact, very slow. However, JavaScript animation libraries that bypass jQuery deliver incredible performance by avoiding DOM manipulation as much as possible. In this article, Julian Shapiro will smash some myths, dive into some real-world animation examples and improve your design skills in the process. If you love designing practical UI animations for your projects, this article is for you!
Read more…