Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/PureWeen/Xam.Reactive.Location

Reactive helpers for interacting with location
https://github.com/PureWeen/Xam.Reactive.Location

Last synced: 30 days ago
JSON representation

Reactive helpers for interacting with location

Awesome Lists containing this project

README

        

## Xamarin Reactive Location - ALPHA

### Motivation

Location on each Xamarin platform is already event/push driven which is where Reactive models do great. This creates
a useful wrapper around the iOS/Android location APIs.

### Cross Platform-ish
- Location features/permissions change (see iOS 11 permission changes).
- Location features get fairly nuanced between platforms. This library will have a default setup that "works"
but it has platform specific extensibility points for permissions, the location objects, and setting up start parameters.
Not having these things hidden gives you full control

### Still thinking about and working on
- Is location service useful? Should everything just be condensed into the Listeners?
- Is a default implementaiton useful? Or should user just be forced to implement an abstract listener on each platform?
- What level of default implementation should be provided for checking permissions?
- What type of cross platform "settings" should be allowed? or just tell user to implement the listeners
- UWP I have some older code I need to port into this model to make it work for UWP
- There's some duplicate logic between listeners (checking permission). Look at centralizing this
- Need to surface different states. IsAuthorizedObs, Service Disconnected, Reason No Longer Listening, Also different reasons location checking is failing. Disabled on device etc...
- Error handler might be a weird design and need to just percolate exceptions through stream instead

### Thanks To
- https://github.com/jamesmontemagno/GeolocatorPlugin for getting me started with location and inspiring parts of this library