Skip to content
This repository has been archived by the owner on Sep 16, 2024. It is now read-only.
/ dartwinrt Public archive

Idiomatic Dart projection of the modern Windows Runtime (WinRT) APIs.

License

Notifications You must be signed in to change notification settings

halildurmus/dartwinrt

Warning

As of [2024-09-16], this project is officially discontinued and will no longer be maintained.

This decision was made due to the following reasons:

  • Time Constraints: I am unable to dedicate the necessary time to maintain this project due to other commitments.
  • Technical Limitations: The project depends on features that are not currently supported by the Dart language. While this may change in the future, especially with the introduction of Shared Memory Multithreading, it is not feasible to continue development at this time.

The repository will remain archived for historical and reference purposes. However, no further updates, bug fixes, or support will be provided.

Thank you for your understanding and for all the support throughout the project’s lifecycle.


Publisher: win32.pub Language: Dart License: BSD-3-Clause codecov

A family of packages that provide an idiomatic Dart projection of modern Windows Runtime (WinRT) APIs using FFI.

☠☠ Warning: These packages are highly experimental. ☠☠

Usage 📋

With these packages, you can build apps that directly call the WinRT APIs from Dart using Dart FFI.

For example, you can use them to:

  • Retrieve geolocation coordinates:

    Geolocator screenshot

  • Access power information:

    Power information screenshot

  • Access battery information:

    Battery information screenshot

  • Format phone numbers:

    Phone formatter screenshot

  • Send push notifications:

    Push notification GIF

  • Show a modern message dialog:

    Message dialog GIF

  • Recognize texts from images using OcrEngine APIs:

    OCR GIF

Examples

Each package contains several examples within its example subdirectory, demonstrating how to invoke various WinRT APIs.

Packages 📦

Package Pub Points Popularity Likes
windows_ai ai_badge ai_pts ai_pop ai_likes
windows_applicationmodel app_badge app_pts app_pop app_likes
windows_data data_badge data_pts data_pop data_likes
windows_devices devices_badge devices_pts devices_pop devices_likes
windows_foundation foundation_badge foundation_pts foundation_pop foundation_likes
windows_gaming gaming_badge gaming_pts gaming_pop gaming_likes
windows_globalization global_badge global_pts global_pop global_likes
windows_graphics graphics_badge graphics_pts graphics_pop graphics_likes
windows_management management_badge management_pts management_pop management_likes
windows_media media_badge media_pts media_pop media_likes
windows_networking networking_badge networking_pts networking_pop networking_likes
windows_perception perception_badge perception_pts perception_pop perception_likes
windows_security security_badge security_pts security_pop security_likes
windows_services services_badge services_pts services_pop services_likes
windows_storage storage_badge storage_pts storage_pop storage_likes
windows_system system_badge system_pts system_pop system_likes
windows_ui ui_badge ui_pts ui_pop ui_likes
windows_web web_badge web_pts web_pop web_likes

Feature requests and bugs

The WinRT APIs that are projected by dartwinrt are limited, but additional APIs will be added based on user demand, especially if it helps facilitate the development of new Dart packages for Windows.

If you encounter any issues or have any feature requests, please submit them through the issue tracker.

Acknowledgements

The summary WinRT API documentation comments are licensed by Microsoft under the Creative Commons Attribution 4.0 International Public License.