The pronunciation between various Chinese dialects are very different, often not mutually intelligible. The written form however is universal. Obviously, you can't use pinyin to spell out Cantonese (as pinyin is a phonetic representation of Mandarin) so that's why cantonese gets represented phonetically like "佢唔喺呢度".
There were talks about using pinyin (i.e. latin script) to replace written characters a couple decades back, they weren't that popular and was not carried out. Vietnam is an example that did.