Crafting APIs for Mobile Apps - Everything You Need to Know