There are a lot of different keyboard apps available, but my personal favorite is SwiftKey. It has a lot of features that other keyboard apps don't have, like the ability to predict what you're going to type next. It also has a ton of customization options, so you can make it look and work the way you want.