unoplatform / uno

Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
https://platform.uno
Apache License 2.0
8.77k stars 706 forks source link

[Epic] Non UI APIs Support #3045

Open jeromelaban opened 4 years ago

jeromelaban commented 4 years ago

This issue tracks the list of APIs in the Windows namespace (excluding Windows.UI.Xaml) that may be relevant to Uno. If you discover an API that is not included in the list, please leave a comment.

Application Model

API iOS Android Wasm macOS GTK WPF Tizen
Appointment Calendar
Background Process
Calls History
Contacts
Clipboard
Email Manager
Title Bar 📆 📆 📆 📆 📆
Package
ShareTarget
Store

Devices

API iOS Android Wasm macOS GTK WPF Tizen
Battery (Power) #3194
BarCode Scanner
Bluetooth Client
Bluetooth Server (Advertisement)
Enumeration
Geolocation (GPS)
Geofencing
GPIO
Haptics
Input
Lights
Magnetic Stripe
Midi
NFC
POS
Radio
Scanners
SMS
SPI
USB
Vibration

Devices - Sensors

API iOS Android Wasm macOS GTK WPF Tizen
Accelerometer
Activity Sensor
Altimeter #13611
Barometer
Compass
Gyrometer
Hinge Angle Sensor
Inclinometer #13610
Light Sensor
Magnetometer
Orientation Sensor
Pedometer
Proximity Sensor

Storage

API iOS Android Wasm macOS GTK WPF Tizen
File Pickers
Folder Picker
File Sharing
PDF
HTML
Sharing

Networking

API iOS Android Wasm macOS GTK WPF Tizen
Web Authentication Broker
URI Launcher

Media

API iOS Android Wasm macOS GTK WPF Tizen
A/V Graph
Lamp (Flashlight)
Printing
Speech to Text
Text to Speech

Other

API iOS Android Wasm macOS GTK WPF Tizen
Gaming Input 📆
Globalization
Globalization Calendar
Keep screen on ✅ (not all browsers)
Keyboard Navigation

✅ - Done 📆 - In progress ⛔ - Unsupported by platform

pkar70 commented 4 years ago

Some from table are already implemented for Android: FileOpenPicker: #2896 CallHistory: #2575 [iOS: unavailable (no API for accessing calllog)] Contacts: #2544 network (partly): #2604 Background work (timertrigger, systemtrigger): #2655 Calendar: #3087

Some are not in table, also already implemented for Android: Toast notification, app called from toast: #2585 SMS message reader/writer: #3055 [iOS: unavailable (no API for accessing messages)] Clipboard (clipput): #2722 KnownFolders: #2773 * StorageFolder (iterating elements): #2774 (for all platforms)

*) denotes PRs that should be modified to use #3025 (showing system dialog asking for permission), now it only checks permission (in RequestAccessAsync or in similar method).

Two from table are in my plans: Bluetooth, Tiles - as I need this to port some my apps from UWP to Uno.

MartinZikmund commented 4 years ago
MartinZikmund commented 1 year ago

@morning4coffe-dev Can you please update the table based on your analysis? (feel free to add missing rows)