A CTO's guide to developing hybrid mobile applications using Ionic