Choosing the right web framework! 📝
Hi, *|USERNAME|*!
There is no shortage of libraries and frameworks that you as a web developer can choose from. You have your really popular ones that everybody talks about, and you have the more esoteric ones that many sites you rely on use. Picking the right framework (or combination of frameworks) is one of the most important things you can do. Your choice will impact:
Your development team. Nobody likes working on a complicated and clunky code base. A good framework has the power to kick your development team's productivity and happiness up into the stratosphere!
Your end users. Frameworks are not cheap. Many clock in at hundreds of KB's in initial download size. Some frameworks optimize different parts of the user experience: performance, page load, smooth animations, easy navigation, and more. You want to ensure your users get some (or a lot!) of benefit from dealing with whatever framework you chose.
You may be hoping that I would now tell you which framework you should use. I really want to! But I can't. The reason is that every app's requirement is different. Every development team (or just you if you are a one-man/woman army) is different as well. There is no one-size fits all solution, but there is a general approach that can help you decide on what to do. Take a look at the following model:
The two constraints you need to optimize for are developer experience and user experience. When we throw some colors into the mix, the solution you need to employ would ideally be in the top-right darker green shaded region:
Getting to the ideal solution is going to require a fair amount of research and up-front work on your end. Often, ideal just isn't possible. In those cases, always optimize for user experience (aka the bottom-right lightly green region) even if it makes your development life more difficult. Remember, your users don't care about how your app was built nor the struggles it took to get it out the door. All they want is for your app to work well. They want your app to solve whatever problem they were hoping it would solve. The better it can do that, the happier your users would be. You'll never regret making the right choices on behalf of your users!
TILL NEXT TIME!
Hopefully this helped you better approach the problem of which framework to use. Pair this up with my compilation of platforms and devices your app could potentially run on to look at additional ways of building the right app. This might mean you complement your web-based solution with something more native. That isn't as scary as it sounds, and in the future we'll look at how you can make that a pleasant experience!
As always, before I leave you to it, I would love to hear from you on what you think about this. Drop by the forum topic for this and chime in, or ping me via Twitter.
Cheers,
Kirupa :-)