The question of dialect is a slightly tricky one. It’s a fantastically simple way of making a character’s voice distinctive and at the same time giving the reader an instant insight into their background and culture. On the other hand, they can be very irritating to read. If you write every dropped ‘h’ and glottal-stop ‘t’, the reader stops making sense of the story because they’re concentrating on making sense of the script. It’s a very delicate balance.
Sometimes it can be negotiated by a careful choice of vocabulary. Use ain’t instead of isn’t, for example, or gonna instead of going to. They don’t take any concentration on the reader’s part to understand, and still give insight into how the character talks as well as their background and education level. If the character is foreign, use a slightly off verb or structure the sentence in a different way – a lot of languages have the verb at the end of the sentence, for example, rather than in the middle. If a child is speaking, make sure the words are suitably basic. The choice of vocabulary can speak volumes about a character without the reader even having to think about it.
Of course, not using contractions isn’t a hard and fast rule. If you really want to drive home how different a character voice is, then using colloquial spelling can be a good visual way of doing it. But it’s probably best to keep those moments brief – if your reader is concentrating on deciphering the print, they aren’t paying attention to the action or characterisation. If they really do speak that differently, then maybe you should consider actually making them unintelligible. The other characters can then translate (or just plain not understand) on behalf of the reader. It becomes a tool to draw your reader into your world, and onto the side of the other characters.