Native App Development: Everything You Need to Know