Skip to content
CAI
Software that uses CAICheck a score

OpenFlutter/flutter_screenutil

53.9

Adequate · 5 August 2026

2.2k

lines of production code

Dart

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a Flutter library that provides utilities for responsive design, specifically adapting screen and font sizes across different devices. It exposes public APIs for scaling dimensions and includes configurable rebuild strategies to optimize performance. The repository also contains a comprehensive example application that demonstrates usage across Android, iOS, Linux, and Windows platforms, supported by unit and widget tests to ensure correctness.

How it got here

2018 — Initial release and example scaffolding

12 changes.

This period marks the initial commit and release of the flutter\_screenutil package, establishing its core public API and documentation. The work also involved creating a comprehensive example application with native iOS and Android configurations, including v2 embedding support and widget tests to verify responsiveness.

2021–2023 — Linux desktop support and responsive widget expansion

4 changes.

This period focused on expanding the library's platform support by adding Linux desktop capabilities to the example application. It also introduced new responsive widget extensions and initialization methods, accompanied by comprehensive unit and widget tests to ensure stability.

Features

Added Flutter example project scaffolding

The example directory now includes the standard Flutter project structure, including .gitignore, .metadata, README.md, IDE configuration files (.iml), and web support files (index.html, manifest.json). This provides a complete, runnable example application for users to reference.

example · high confidence

Added Linux desktop support to the example app

The example application now includes the necessary CMake build files and C++ source code to compile and run on Linux desktop platforms. This change enables users to build and run the example app on Linux, providing a complete desktop experience alongside existing platform support.

example/linux, example/windows · high confidence

Added example app demonstrating ScreenUtil initialization methods

The example application now includes two distinct methods for initializing the screen utility: a first method using the ScreenUtilInit widget wrapper, and a second method using the ScreenUtil.init() function. These examples demonstrate how to configure responsive sizing, handle keyboard overlaps, and manage theme data in a Flutter app using the flutter\_screenutil library.

example/lib/src · high confidence

Added iOS Flutter example configuration files

The example iOS project now includes the standard Flutter configuration files (AppFrameworkInfo.plist, Debug.xcconfig, Release.xcconfig, and flutter\_export\_environment.sh). These files define the app's metadata, build settings, and environment variables required for the Flutter framework to function correctly on iOS.

example/ios/Flutter · medium confidence

Added iOS example project configuration

The iOS example application's Xcode project file (project.pbxproj) and its associated XCScheme configuration have been added to the repository. This provides a complete, buildable iOS project structure for the example app, including build phases, file references, and scheme definitions required for development and testing on iOS.

example/ios/Runner.xcodeproj · high confidence

Expose screenutil public API

The flutter\_screenutil library now exports its core modules (r\_padding, r\_sizedbox, screen\_util, screenutil\_init, size\_extension, and screenutil\_mixin) through the main entry point, making these components directly accessible to consumers of the package.

lib · high confidence

Initial commit: Add flutter\_screenutil library and documentation

The repository is initialized with the core source code for the flutter\_screenutil package, including the CHANGELOG.md which documents the library's history from version 5.9.3 back to 5.0.0-nullsafety.5. The commit adds the Apache 2.0 LICENSE, the .gitignore file, and the primary documentation files (README.md, README\_CN.md, README\_PT.md) which describe the plugin's purpose of adapting screen and font sizes for different devices. The CHANGELOG indicates that the library supports features like disabling scaling, excluding widgets from rebuild lists, and specifying font size resolution, while the README files provide usage instructions for initializing the screen utility.

(repo-wide) · high confidence

Introduces responsive widget extensions and a configurable rebuild strategy

The library now provides \RPadding\, \REdgeInsets\, \REdgeInsetsDirectional\, and \RSizedBox\ widgets that automatically scale their dimensions based on the screen size. Additionally, \ScreenUtilInit\ now supports an \excludeWidgets\ parameter, allowing developers to prevent specific widgets from being rebuilt when the screen size changes, giving finer control over which parts of the UI update dynamically.

lib/src · high confidence

New example app structure with dual initialization methods

The example application has been restructured to support two distinct initialization methods, selected via a build-time environment variable. The main entry point now conditionally renders either the first or second method's MyApp, allowing users to compare different setup approaches. Additionally, a new Chinese-localized entry point (main\_zh.dart) and generated responsive widget mappings are included to demonstrate responsive design patterns.

example/lib · high confidence

iOS example app scaffolding added

The iOS example project now includes the complete native iOS application structure, including the AppDelegate (in both Objective-C and Swift), the main entry point, and the necessary Xcode asset catalogs for app icons and launch screens. This provides a functional iOS template for the example app, allowing users to build and run the iOS version of the example directly.

example/ios/Runner · high confidence

Behavioural changes

Android example project updated to use Android v2 embedding

The Android example application has been updated to use the Android v2 embedding, which is the modern standard for Flutter Android apps. This change ensures compatibility with current Android platform APIs and improves the overall stability of the example. Additionally, the project's Gradle wrapper has been updated to use Gradle 7.2, and various configuration and ignore files have been added to support the new build system.

example/android · high confidence

Updated Android example app configuration for Flutter v2 embedding

The Android example app has been updated to support the Flutter v2 Android embedding. This includes adding the necessary AndroidManifest.xml files for debug, profile, and main builds, configuring the MainActivity to extend FlutterActivity, and setting up the required styles and launch themes for both light and dark modes. These changes ensure the example app correctly initializes with the v2 embedding, which is required for modern Flutter Android applications.

example/android/app/src · high confidence

iOS example workspace configuration added

The iOS example project now includes a properly configured Xcode workspace structure. This adds the workspace data file, workspace settings with preview disabled, and IDE workspace checks, ensuring the example builds correctly in Xcode without relying on legacy project configurations.

example/ios/Runner.xcodeproj/project.xcworkspace, example/ios/Runner.xcworkspace · medium confidence

Test coverage

Added unit and widget tests for flutter\_screenutil; Added widget test for screen responsiveness.

Dependencies

Update example app to use local package path and modernize Android/iOS build configurations

The example app's dependencies are updated to reference the local \flutter\_screenutil\ package via a relative path, and the example's \pubspec.yaml\ is configured with a Dart SDK constraint of 2.12.0 to 3.0.0. Additionally, the Android build files are added to support the example app, configuring Kotlin 1.6.10, Gradle 7.1.2, and AndroidX/Jetifier settings, while iOS build files are added to manage CocoaPods integration for the example.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 54 → 54 (+0.0)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.08.19) — scores are not directly comparable.

Lenses

  • Code Health 94 → 94 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 55 → 55 (+0.0)
  • Readiness 43 → 43 (+0.0)
  • Security 50 → 50 (+0.0)
  • Domain Modelling 100 → 100 (+0.0)

Findings

  • No change — the same findings as the prior survey.

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

OpenFlutter/flutter_screenutil was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 5 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 65a9f0c031f8ecc11d2f5d6649f5030c676c1be8 — the exact code this score is about.
  • Scored under rubric-2026.08.19 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer latest.