Thoughts on using third-party packages (or not)

15 min readFeb 24, 2023

The pros and the cons

image source

In this article I’ll be referring to Flutter and Dart packages, but the principles apply across languages and frameworks.

There’s a package for that

When you’re just getting started building a new application in a new language and framework, everything is fresh and exciting — but it’s also difficult. How do you navigate to the next screen? How do you make a server request? How do you update the UI when the result comes back? How do you store data locally? How do you access the camera? Every new task brings a daunting list of new questions.

An online search will often lead you to the solution: There’s a package for that! Some dear programmer out in Saskatchewan has simplified the complex task you want to achieve into just a few lines of code. All you have to do is import their package.

A package, which is sometimes also referred to as a library, is a bundle of third-party code written on top of a language or framework. These packages are located in a central repository and have a simple method of importing into your application.

In the Flutter and Dart world, that central repository is called Pub. Need to access the device camera and don’t feel like writing all of the custom code to interface with…