In this chapter, we have seen what a Flutter plugin package looks like, and how it differs compared to the Flutter application and simple Dart packages. We have seen that Flutter plugins go down to native code by using MethodChannels, which provide good mechanisms to interop with the system directly.
We saw how to start a plugin package project in Flutter and how to properly document it to make it useful and understandable for the community. And lastly, we learned how to make a package public on the pub repository so that other developers can make use of it.
In the next chapter, we are going to continue diving into specific platform code by integrating different features that are unique to each system, such as importing a contact, using the camera, and managing app permissions.