Skip to content

Official Raindrop.io mobile app for iOS and Android

Notifications You must be signed in to change notification settings

bookmarktools/mobile

 
 

Repository files navigation

Raindrop.io iOS and Android app

Official iOS and Android client for Raindrop.io. This repository do not include any credentials or sensitive info.

I decided to open source it to be more transparent for users in terms of what app exactly do on your device, plus anyone could track development progress.

I am open to all kind of contributions. If you find a bug or have improvement feel free to submit issues or pull-requests! Would be great if you can help with resolving known issues and planned improvements described below.

App features:
  • One codebase for iOS and Android thanks to React Native
  • Truly native look and feel, including navigation, tabbed interface and split-view on iPad
  • Share extension
  • Login in with Google, Facebook, Twitter and Vkontakte
  • Themes support
  • Multilingual UI: translated to 21 languages
Folders structure:
  • src
    • assets - static files
    • co - common React components
    • data - redux store (this code is also reused on Raindrop.io Web app)
    • local - redux store specific to this app
    • modules - navigation, i18n, etc
    • root - different navigation stacks
    • screens

Install

  1. Rename .env_example to .env
  2. yarn
  3. react-native run-ios or react-native run-android

Known issues

  • iOS Share Extension out of memory. iOS Extensions have very strict memory limits (120Mb max), due to this sometime it crash
  • No momentum scroll on Android 9. This is React Native issue that not yet resolved
  • Images cache invalidation. React Native do not invalidate cache if response of server is changed.

Planned improvements

  • Sortable SectionList. I'm not found any good library to implement drag'n'drop reorder functionality for collections list. Please share any if you find, or help with implementing it
  • Drag'n'drop on iPad. Ability to drag link from Raindrop to other app and vice versa
  • iOS 3d touch support
  • Support more 3rd party browsers. Check src/assets/browsers.js
  • Dark splash screen on Android (when dark theme is selected in app)
  • Replace separate Google, Facebook and Twitter native libraries with only one

React Native specific developer tips

  • Add new native library for Android (after react-native link):
    • Add method to getPackages in src/MainApplication.java
  • React-native-navigation:
    • After upgrade, check if they have new flavor. Change it in /app/build.gradle at "missingDimensionStrategy"
    • Also if flavor is changed, add old value to /build.gradle

About

Official Raindrop.io mobile app for iOS and Android

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 61.5%
  • JavaScript 36.7%
  • Java 1.5%
  • Other 0.3%