Learn to code.
Learn to read code like you where english, and learn to think in code.
Design concepts in your mind.
It doesn’t matter what language you realise your ideas in, once you can think in code and know fundamental programming logic you can move between literally any language in a rapid manner. Because all languages have similarities and there are always manuals to read…
I think the moral is really to know the philosophy of computing so that you can implement the current tools available to render your requirements a reality. I started on BASIC with a BBCMicro in 1992. I have learned almost every language and forgotten alot of it. But if I needed I could pick it up in a moment because even since 1992 to now, code is code. Logic is logic. And it will never really be changed just improved with newer tools and solutions to age old problems.
Learn every framework you can, they are all pretty much the same in what they achieve, but implementation and naming can vary to achieve different things for your app. With the usage of NPM, bower and atmosphere though we always have some centralised code base.
Once you have looked around you can then choose which one is the best solution for your task - from an informed point of view. It doesn’t take long to do a hello world example in each and see what you like best.
I choose meteor currently because I get paid on time, the client is happy and my family see more of me. I only work 4 hours a day and meteor is vital to keeping it that way.