Of course there is a thread of commonality that makes learning new languages and new API's relatively easy. Mostly it just takes a bit of research. But each language and each API has its own quirks, limitations and paradigms. When you master the idiosyncrasies of a platform and you are proficient, you work faster and more smoothly. When you are learning, work can be slow and frustrating--especially when you know how to do it in a different language or platform. You rail, "Why can't this language do it just like that other language that I am familiar with?" Then you sigh and spend some time with Google.
The web is kind of the wild west. New products, platforms, API's, and libraries are being published and updated all the time. I started writing the current app I am working on about two months ago. Since then there are newer versions of, well, everything. Not only do I have to get the app to work, hopefully on multiple platforms, but I have to keep integrating new libraries. New libraries that break code I have already written, but allow me to do things that I couldn't before. I have to constantly read, and evaluate what the best choices are given the tools and knowledge I have at the moment, knowing that my knowledge and those tools will change soon. It is a tough juggling act.