Over a million developers have joined DZone.

How to Design a Useful JavaScript Framework

DZone's Guide to

How to Design a Useful JavaScript Framework

The JavaScript ecosystem is full of junk from people who thought they had an innovative idea or thought they could write a better framework than the current leaders out there. This post is meant to set those people straight.

· Web Dev Zone
Free Resource

Learn how to build modern digital experience apps with Crafter CMS. Download this eBook now. Brought to you in partnership with Crafter Software

Based on my highly scientific analysis, there are currently 13.98 javascript frameworks per JavaScirpt developer. I've personally been on two projects where a framework was built, completely scrapped, and rewritten BEFORE THE PROJECT WAS DELIVERED! Based on this observation and the literal wasteland of half baked frameworks available, I'm sharing some insight on how to design a useful framework. Follow these rules and you'll have a higher probability of having something useful, ignore them, and well...I guess that's your choice, I won't hate you for it (OK, maybe I will a little).

Step One: Pick an Existing Framework

No, this is not a tongue-in-cheek joke, this is reality. Unless you initially demonstrated your framework at Bar Camp back in 2006, you should start with something that already exists and first deliver your project with that.

Step Two: Find Things That the Chosen Framework Doesn't do Well

Now look at your product that is "code complete" and do an analysis of where your most common bugs happen, where new developers trip up and make mistakes, or where the code is repetitive. If nothing stands out...STOP, you're done. If there are rough edges, analyze approaches to the rough edges, and see how other EXISTING frameworks solve the problem. If nobody's solved it or if you think you've found a better way, refactor your code and enhance your chosen existing framework.

Step Three: After Doing This for 4 to 5 Years, and You've Found Better Patterns or Something Novel, Write a Framework

Note, this step seems to be the one everyone skips (even authors of currently popular frameworks). Experience is important, attempting to write a framework after doing a "TODO" list app because you discovered something you don't like is a recipe for disaster. Moreover cross posting your new framework announcement across the internet to "make a name for yourself" is irritating and counterproductive.

Step Four: Write Some Useful Applications Using Your Framework

If you're starting a new javascript framework and haven't USED it, your chances of building something that is generally better than what already exists are vanishingly small and you're likely expending energy on something that, will not advance the state of the art by anything remarkable and is much more likely to be a step backward. I don't mean to discourage creativity, and still encourage folks to experiment and try things out...but temper your enthusiasm with reality until you can clearly illustrate how your new framework is better. In addition, be sure to look at your baby objectively...warts and all.

Crafter is a modern CMS platform for building modern websites and content-rich digital experiences. Download this eBook now. Brought to you in partnership with Crafter Software.

javascript ,frameworks

Published at DZone with permission of Michael Mainguy, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.


Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}