SoundRedux Native
In an effort to learn es6 and redux, this is SoundRedux, a simple Soundcloud client
I have a blog post sharing my experience Building A Native Soundcloud Android App With React Native And Redux
In an effort to learn es6 and redux, react-native this is SoundRedux Native, a simple Soundcloud native client.
This repo is stolen from the awesome soundredux project by @andrewngu , I've been using it instead of the official Soundclould client for a week.
What I've learned
- Having redux as the data layer, it takes no effort to switch the view layer from DOM to react-native
- Writing CSS with flexbox is easy than normal CSS
- Building a native module for react-native is simple and straightforword thanks to the effort and nice design from Facebook
- Soundcloud API is awesome
Currently only focused on Android developement because I don't have an iOS device and it's only fun when your code running on your own device.
The code is still a mess with ES6 + ES5 code mixed together. And I haven't done import all the features from soundredux and some of the code is even not used yet.
Developement
npm install
- Check Android Setup
react-native run-android
Feedback, issues, etc. are more than welcome!
TODO
- InfinteScroll to load more songs
- To be able to switch genre
- Clean up code
- A modal to display song detail like the official client
- iOS
Notes:
To run it on a real device, bundle the jsfile into the apk by running:
- create an assets folder under
android/app/src/main
- curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
Thanks to my awesome colleague @xeodou who build the native Android player react-native-playermodule on top of ExoPlayer.