Specifying visual encodings and interactions is exhausting but essential for authoring interactive visualizations. In this paper, we present G2, a customizable framework designed to support rapid generation of interactive visualizations with uniform specifications. G2 employs a data-driven grammar of graphics and defines a uniform set of interaction specifications. We discuss the design and implementation of G2 with rich examples, and a user interview to demonstrate its effectiveness. Since its first release in March 2016, G2 has undergone 360 iterations, received 12,000 stars, and supported over 22,600 related projects on Github.