How do you learn new frameworks or any programming language? Do you watch tutorials first and read documentation so you can see what's up with the stuff you are learning or are you just trying things without too much help, going coding without too much time spent on theory?