The Universal Platform Package

Did you know?

If your code checks the current platform with Platform.isIOS, you’ll get a runtime exception when you run on Flutter web. 💥

As an alternative, consider using the Universal Platform package, which works on all platforms and offers a unified syntax. 👍

The UniversalPlatform package and its advantages compared to kIsWeb and the Platform class
The UniversalPlatform package and its advantages compared to kIsWeb and the Platform class

Note that the UniversalPlatform class has two drawbacks:

  • It doesn't (yet) support tree-shaking of the conditional code (see issue #29 for details)
  • The platform can't be overridden during testing (see issue #15 for details)

If you don't want to rely on a 3rd party package to perform platform checks, see my next tip about defaultTargetPlatform and kIsWeb.

Happy coding!

Want More?

Invest in yourself with my high-quality Flutter courses.

Flutter In Production

Flutter In Production

Learn about flavors, environments, error monitoring, analytics, release management, CI/CD, and finally ship your Flutter apps to the stores. 🚀

Flutter Foundations Course

Flutter Foundations Course

Learn about State Management, App Architecture, Navigation, Testing, and much more by building a Flutter eCommerce app on iOS, Android, and web.

Flutter & Firebase Masterclass

Flutter & Firebase Masterclass

Learn about Firebase Auth, Cloud Firestore, Cloud Functions, Stripe payments, and much more by building a full-stack eCommerce app with Flutter & Firebase.

The Complete Dart Developer Guide

The Complete Dart Developer Guide

Learn Dart Programming in depth. Includes: basic to advanced topics, exercises, and projects. Last updated to Dart 2.15.

Flutter Animations Masterclass

Flutter Animations Masterclass

Master Flutter animations and build a completely custom habit tracking application.