| So naturally, I've used jQuery for a few years now: 1. Time to learn: I think 1-2 hours 2. Overall dev speed: initially 3, but as you dive into more complex pages that need to e.g.: retain state between AJAX calls, it moves towards a 1 3. Maintainability: 1. Keeping track of selectors grows to be very tricky business. 4. Why I chose jQuery: I started with it before the explosion of JS frameworks (and I've always said that jQuery started the golden era of JS that we're in), and I would still choose it today if I need to deal with legacy sites at all. I have also used ReactJS: 1. Time to learn: I think between 16-40 React hours to really grok components, their lifecycle and how to communicate between them. It's a little reminiscent of components in Mobile development, but really understanding props vs state can take a while 2. Development speed: 2. There's a lot of boilerplate involved (usually render, getInitalState, getDefaultProps) 3. Maintainability: 3. Easily the most maintainable and reusable JS code I've ever written 4. Why did I choose React? I was tired of writing code for the views in the backend (PHP) and then in JS when the data changed. React makes it easy to write once and control the lifecycle of HTML elements |