Crafting APIs for Mobile Apps - Everything you Need to Know