Recently in Web Development (April ’12 Edition)
Web development is an industry that's in a state of constant flux with technologies and jargon changing and mutating in an endless cycle. Not to mention the sheer deluge of information one has to process everyday.
In this series, published monthly, we'll seek to rectify this by bringing you all the important news, announcements, releases and interesting discussions within the web development industry in a concise package. Join me after the jump!
News and Releases
All of the important news in a single place: releases, announcements, companies bickering, security issues and all related hoopla.
The Infamous Semi-Colon Debate
Personally, if you're not CoffeeScript-ing, just add that darn semi-colon and call it a day.
Django Moves to Github, Finally
Most Pythonistas know Django. For those of you who don't, Django is a high level Python framework that helps you out with web development. While Django has had a repo on Github for a long time now, it was in a state of desolation. You'd often see that the repo only held versions that were a lot behind the curve.
Well, no more of that. Django has finally moved to Github and the repo seems to be active. If you're interested, Subversion was what was used to manage Django earlier, since 2005.
Meteor, a New Way to Build Apps
SPDY Gains More Traction With Firefox Beta
SPDY, developed by Google, is a networking protocol aimed at improving web page load times as well as web security.
As with anything web related, it takes eons to get anything standardized and browsers have already started implementing experimental versions of the technology. The latest Firefox beta adds support for the protocol, switching it on by default. It's not the only browser to do -- Chrome already includes support for SPDY while Opera does the same with its preview of version 12.
Microsoft Announces the Metro jQuery Mobile Theme
Microsoft, in order to increase awareness of its spectacularly clean Metro interface, has open sourced a Metro themed design for jQuery mobile. The theme includes a large number of Metro themed widgets and interactions and seems to work really well.
Firefox is Now At Version 12
Another month, another Firefox update. To be fair, the updates are now rather substantial this time around though.
This version introduces a ton of developer tools and improvements along with a far more streamlined update process. The list of developer related updates, the ones we really care about, makes for a rather interesting read so make sure to hit the link below.
Developers either love or hate CoffeeScript. I personally love it which is why you're seeing this here. The latest version enforces the strict more at compile time helping you weed out those annoying, niggling issues.
Version 1.3 also brings you improvements to the REPL as well as a bunch of tweaks and improvements.
Rails Updates in Light of Recent Security Issues
With the havoc caused by the mass assignment issue last month, the Rails team has reconsidered their stance on this issue and has pushed out version 3.2.3 which changes the value of
config.active_record.whitelist_attributes . There are also various, assorted fixes and improvements bundled into this version.
New Kids on the Block
As web developers, the sheer amount of resources we can tap into increases exponentially with time. Here is just a quick look at some recently created resources that deserve your attention -- everything from new books to scripts and frameworks.
Smooth.js takes an array of numbers or vectors and returns a parametric function that continuously interpolates that array. Smooth.js supports several interpolation methods, and flexible options for boundary behavior.
jQuery Scroll Path is a plugin that lets you define your own custom scroll path. What this means exactly is best understood by checking out the demo. The plugin uses canvas flavored syntax for drawing paths, using the methods moveTo, lineTo and arc. To help with getting the path right, a canvas overlay with the path can be enabled when initializing the plugin.
Keymaster is a simple (100 LoC or so) micro-library for defining and dispatching keyboard shortcuts. It has no dependencies.
PHP Microframework for use with whatever you like. Basically just a fast router with nice syntax, and a cache singleton. Will add more things as I go, like perhaps an extension system, autoloader and some other stuff to make developing in PHP less irritating than it currently is.
The jQuery plugin that suggests a right domain when your users misspell it in an email address.
Monorail.js will never force you, and uses only what you need. Monorail.js will never force you to install anything not needed for your project. The goal is to use what you need. Anything other than creating a project will always be optional.
There are lots of timeline tools on the web but they are almost all either hard on the eyes or hard to use. Create timelines that are at the same time beautiful and intuitive for users. Timeline is great for pulling in media from different sources. Just throw in a link from Twitter, YouTube, Flickr, Vimeo, Google Maps or SoundCloud and Timeline will format it to fit perfectly. More media types will be supported in the future.
FakeS3 is a lightweight server that responds to the same calls Amazon S3 responds to.
It is extremely useful for testing of S3 in a sandbox environment without actually making calls to Amazon, which not only require network, but also cost you precious dollars.
retina.js makes it easy to serve high-resolution images to devices with retina displays. When your users load a page, retina.js checks each image on the page to see if there is a high-resolution version of that image on your server. If a high-resolution variant exists, the script will swap in that image in-place.
Rucksack is a jquery plugin to arrange elements that can fit in the given width. It relies on the knapsack algorithm.
jQuery PopBox is a simple balloon UI element inspired by 37Signals Highrise CRM.
This script allows you to take "screenshots" of webpages or parts of it, directly on the users browser. The screenshot is based on the DOM and as such may not be 100% accurate to the real representation as it does not make an actual screenshot, but builds the screenshot based on the information available on the page.
Best of the Internet
Often, you're not really looking for a tutorial as much as you're looking for a rant, an opinion or the musings of a tired developer or just something cool with absolutely zero real world use. This sections contains links to precisely those -- interesting and cool stuff from the developer community.
PHP: a fractal of bad design
A detailed look at why most people, when given a gun with two bullets and asked to shoot Hitler or PHP, want to shoot PHP twice. As much of a PHP lover I am, I can't help but agree with a lot of this article.
PHP Sucks! But I Like It!
A really well written counter point to the earlier article, backed by a lot of reasoned thinking.
The infernal semicolon
How to be a successful programmer without a CS degree
A wonderfully detailed answer on StackOverflow that outlines how to be a kickass programmer without an expensive CS degree.
Zero downtime deploys for Rails apps
A very informative presentation that outlines how you should go on about running and upgrading your Rails apps.
On being "Senior"
A nice little read about the software industry and the rat race around titles.
Well, that's about all the major changes that happened in our industry lately.
Do you want us to cover more standard news? A focus on upcoming scripts maybe? Or just more interesting posts and discussions from the community? Let us know in the comments and thank you so much for reading!