Advantages and Disadvantages of Teaching Block-coding Languages Such As MIT's App Inventor?
Student's Opinion

Not a definitive answer by any means, but thought that I might add what I have learnt... 

I am 16, but first got exposed to block-coding at the age of 9. While I continued with more advanced forms and still make use of them (notably, LEGO Mindstorms), I grew out of block-coding very soon, and progressed to what one may call "real"-er programming languages.  

That said, I'm the head of the programming/computer club at my school and have noticed that students who were first exposed to scratch (A block-coding language developed by MIT which it taught at junior-middle school at my school) pick up "real" programming languages quickly, since all the basic concepts are already known to them.

While teaching my juniors JS or C++ I'll often compare a concept to its equivalent in Scratch. That said, the obvious disadvantage is that scratch is basic, and doesn't cover advanced concepts (return codes, arguments, etc.)

Scratch and MIT App Inventor are very similar, and both are taught to my juniors at school, and students generally appear to enjoy these.

However, it is, indeed boring to those who have already had experiences with programming, and this is a problem to which you really should find a solution if you wish to move ahead with GUI-based programming languages in your curriculum.