| Generative adversarial networks (GAN) is an excellent generative model, which can learn high-dimensional and complex real data distribution without relying on any prior assumptions. This powerful performance makes it a research hotspot in recent years, and remarkable progress has been made in research in many application fields. In this paper, the basic principle of the GAN, various objective functions and common model structures are introduced. Then, the evolutional methods for generating images under the constraints of conditional generative adversarial networks are analyzed in detail. After that, the applications of the GAN in different fields are introduced, including high-resolution image generation, small target detection, non-image data generation, medical image segmentation and so on. Finally, the optimization techniques in the training process of the GAN are summarized. The purpose of this paper is to elucidate the basic theory and development history of GAN, and to forcast the future work from the perspective of application.