JSFoo 2013

All about being creative with JavaScript

All you EVER wanted to know about client-side frameworks

Submitted by Dheeraj Kumar (@codepodu) on Jul 11, 2013

Section: Full talk Technical level: Beginner Status: Submitted


At the end of this session, you will be able to -

  1. Decide if you need a client side framework.
  2. Decide a complete client-side tech stack, tailored for your use case.
  3. Start writing small client-side components that provide rich interactivity within your large web app.
  4. Start writing full-blown single page apps.
  5. Start using Backbone, Angular, Ember in your everyday work.
  6. Do all the above in a test-driven way.


"Do I need a client-side MV*?"

"When do I need a client-side MV*?"

"I already have a large app, I don't want to rewrite it. What should I do?"

"Which one do I choose? There are so many!"

"Should I go for Backbone? Foursquare uses it!"

"Should I go for Angular? Google uses it!"

"Should I go for Ember? Discourse uses it!"

"Should I go for X? It's the new hotness!"

"I've never written tests, isn't it very difficult to learn?"

"Why should I write tests for my client-side app? It takes too much time!"

Sure, you can google about all these right now, read a bunch of blog posts, and you'd think you're done, you're ready to choose a framework for your next project.

But no, you'll still be as confused as before.

Come, ask and learn all you EVER wanted to, about client-side frameworks.


Take a piece of paper.

Write down every single question that you want answered about client-side MV* frameworks.

Bring that, and an open mind :)

Speaker bio

Hi, I'm Dheeraj Kumar.

I've written normal web apps with some bits of javascript.
Things were good.

I've written normal web apps with some bits of javascript.
I've had those 'some bits' grow into a mass of twisted spaghetti jQuery.
I've faced bugs, regressions and product launch delays.
I've rewritten small parts of the app to use a client-side framework.

I've written client-side apps, entirely of javascript.
I've used Backbone, Angular and Ember.
I've tested with Jasmine and Mocha.
I know how awesome they are.


  • Om Shankar (@omshiv) 6 years ago

    I appreciate your efforts, but this topic has been repeated like a gazillion times on the internet, in Slideshows, talks, LinkedIn updates, blogs, GeekList, and where not.

    Looking at the class of audience and speakers, I would suggest you to change the level from beginner to intermediate, and may be have a deep dive into implementation differences in the design patterns of these frameworks, the templating, communication architecture among concerns in MVVM, MVP, MVC, etc.

    Point no. 5 and 6 in the “objective” section are something every JS developer and Company are already doing. As of now, almost every one has come up with a home-brewed Client side framework.

    May be you can delve into approaches that led to particular design patterns, like why Angular came up with MVW, where “W” stands for whatever :-)

    • Dheeraj Kumar (@codepodu) Proposer 6 years ago

      Hey Om, thanks for the comment!

      To be honest, this talk isn’t targeted at any specific audience. There is something for everybody. There isn’t such an option in the Hasgeek Funnel, though, so I set it to the least.

      Being even more honest, I’ve never done beginner level talks - most of that stuff is what you can find online, like what you say (“repeated like a gazillion times on the internet”). I usually do intermediate/advanced talks.

      If you’re a beginner, you’d relate to some items on the menu, figure out your next steps in the process to not being a beginner anymore, and learn some best practices. You’ll also listen to some advanced stuff, which you may not understand, but will file away for later revisits :)

      If you’re a moderately skilled developer, you’re using these stuff already, but probably making several mistakes that could cost you. Let’s talk about them and patterns in depth. Also, I assume you don’t delve into the internals of your framework, and hence, yes, there will be some core concepts from them, compared with each other.

      If you’re an advanced developer, you probably know most of these things. You have answers to all the questions above. The only thing I can offer you, is that you’ll learn how to use concepts from one framework in another, and how that can boost your productivity (if you didn’t know that already). Also, you can help the audience by answering their questions. I hope to do this less like a talk and more like a discussion. I don’t know how well it’s going to work out, but I want to try it anyway :)

      • Om Shankar (@omshiv) 6 years ago

        The first thing we read is “Objectives”. The Objectives are something developers are already doing since long.

        No doubt you have taken a very good topic - most developers are confused today. But its more like something very generic that has been attempted by renowned developers already in relevant conferences.

        Nevertheless, as you said, you want to try anyways - that reason seemed more solid.

        I was only concerned about it being JSFoo, and the topic being too trivial for JSFoo. However, that might be only my perspective, hence I apologize. :-) Looking forward to learn from it.

  • Sunjay (@sunjays) 6 years ago

    Can we also include what it the actual difference between a library and a framework. Or do we use it interchangeably.

    • Dheeraj Kumar (@codepodu) Proposer 6 years ago

      Sure :) I’ll address this. They cannot be used interchangeably, though. All three I’m talking about are frameworks.

  • Leena S N (@leenasn) 6 years ago

    Hi Dheeraj,

    Its an interesting topic, but I am not sure what exactly would be the takeaway for an attendee. Is the talk intended to help someone to decide which framework to choose when or is it just a comparison MV* frameworks in general?

Login to leave a comment