Absolutely. Although, I'd like to say that most of the time people get into discussions like these, it ends in an "agree to disagree" conclusion because, in my opinion, the truth of the matter is it all comes down to tradeoffs and opinions.
I need to keep this short due to wife so I probably won't be able to get my full opinion across. From my experience, I believe that the additional layer of abstraction provides a faster and easier development experience upfront, but generally (not always) comes with an additional layer of bugs, troubleshooting, updates, etc. I read an article on here the other day about whether Xamarin was worth learning. I loved a comment that one user name eonil left:
What you have to deal with;
Xcode = iOS bugs + UIKit bugs
Xamarin = iOS bugs + UIKit bugs + different runtime, language, memory model abstractions + .NET bugs + P/Invoke bugs & overheads + GC inter-op bugs & overheads + C# bugs + slow followup of platform updates
Xamarin Forms = iOS bugs + UIKit bugs + different runtime, language, memory model abstractions + .NET bugs + P/Invoke bugs & overheads + GC inter-op bugs & overheads + C# bugs + slow followup of platform updates + extra UI abstraction layers + lack of fine level controls & features
https://news.ycombinator.com/item?id=12948611
While I know this is specific to Xamarin and is only an opinion, I tend to think similarly about layers of abstraction over a language. Clearly there is abstraction all over the place that I couldn’t go without, but maybe I’m not just not yet ready to accept another one.