Wern Ancheta

Adventures in Web Development.

This Crazy World of Web Development

| Comments

Need a css framework? There’s Foundation, Bootstrap, HTML Kickstart, Kube, Skeleton, Baseline, Gumby, Ink, Groundwork. There’s also a bunch of others which are based from Bootstrap: Flatstrap, Metro Bootstrap.

Need a boilerplate? There’s the HTML5 Boilerplate, 320 and up, HTML5Bones.

Need a package manager? There’s component, ender, bower, jam, NPM.

Need a browser tool? There’s Firebug, Chrome Developer tools, Page Speed Insights, JSON View, YSlow, MeasureIt, Colorzilla, CSS Usage, PageSpeed, SEO Doctor.

Need a coding tool? There’s Codekit(for Mac), ScoutApp (for Windows), LiveReload, Yeoman, Grunt, Lumbar, Yeoman, Sublime Text, Brackets.

Need a css base? There’s reset.css and normalize.css.

Need a CSS Compiler? There’s SASS + Compass, LESS.

Need a validator/linting tool? There’s JSLint, JSHint, JSON Lint, HTML Validator, CSS Validator.

Need a static site generator? There’s Jekyll, Octopress, Middleman.

Need an MVC/MVP/MVVM Framework? There’s Backbone, Ember, Knockout, Angular.

Tired of writing helper functions from scratch? There’s underscore.js, sugar.js, lo-dash, yepnope.js, modernizr, accounting.js.

Need to work with SVG? There’s Processing.js, Raphael.js, SVG Kit and SVG Web.

How about templating libraries? There’s Smarty, Handlebars, Mustache, Hogan.js.

Need a JavaScript library? There’s jQuery, Dojo, Mootools.

You think JavaScript is ugly? There’s Coffeescript, TypeScript, Dart.

Want a back-end framework? There’s Ruby on Rails for Ruby, Laravel for PHP, and Django for Python, Node.js.

Need a database? There’s MySQL, PostgreSQL, MongoDB, CouchDB, RavenDB.

How about a Software Development Methodology? There’s Waterfall, Prototyping, Spiral, RAD, Agile.

How about Design Patterns? There’s Singleton, Adapater, Bridge, Facade, Factory and a bunch of others.

Heck there’s a lot! The list is endless and it’s hard to keep up. There’s always something new everyday. There’s always a new technology, methodology, library, and tool. There’s always a new blog post, video, and podcasts that speaks about these technologies, methodologies, libraries and tools. There’s always a new, cool and faster way to solve problems.

There’s always this temptation (in most cases obsession) to check out all the shiny and new stuff, to read all those blog posts which speaks about them. And before you know it there’s no more time left for you to solve the real problems that needs solving.

Most of the tools, libraries and methodologies that comes out everyday is yet another way to solve existing problems. The only difference is that its newer and it looks sexier. But sooner or later it becomes out of fashion and a shiny new thing will replace it again.

What’s important is learning the core technology behind a library, so instead of learning jQuery, Mootools or Dojo we should first learn JavaScript. Instead of learning how to use Bootstrap or Foundation we should learn the basics and important concepts in CSS first. Core technologies that makes the whole platform (the web) work never gets replaced thus it should be given the priority before the shiny and new stuff. And once your done learning the core technologies you’re in a good position to try out some of the shiny and new stuff. And by try I mean giving it a go for a week or so and see if it feels right for you. If it feels right for you and you think it makes you more productive then you should definitely include it in your daily workflow.

Who cares if you’re using MS Paint and not Photoshop. Who cares if you’re using Notepad or Dreamweaver instead of Sublime Text. Who cares if you’re still using alert instead of console.log to debug your JavaScript. If you think you’re productive by using some of the old tools then why not right? At the end of the day it doesn’t really matter what tools, libraries or methodologies we use as long as we get to solve problems and we make our clients happy by solving them.