Code generation in Dart is the technique to generate repetitive and tedious code by inspecting classes and creating templates, ultimately saving the developer’s time and effort. In this codelab, explore the code generation principles in Dart programming language. This codelab teaches you the concepts along with examples so that you can write your own generators as per the use case. You will start by understanding how code generation helps with developer efficiency. Then, you will learn to mark the classes for generator input using annotations. Subsequently, you’ll explore the concept of class inspection and learn how to extract metadata. Once you have the necessary data, you’ll use it to write generators and map them to the annotations. Lastly, you will learn to import and use the generators in a Flutter project. By the end of this course, you will have a thorough knowledge of the concept and will be able to develop custom code generation tools in Dart.
In this coffee break codelab, you'll explore:
-
The concept of code generation in Dart and its benefits.
-
How code generation helps automate repetitive tasks such as class serialisation, clone methods and getters/setters for variables.
-
Learn to use source_gen and build_runner packages for code generation.
-
Define annotations to mark the classes as generator input.
-
Create a visitor class to inspect class elements and extract metadata.
-
Write custom generators to process annotated classes and generate code.
-
Import the created generators and use them in a Flutter project.