A mobile project is typically implemented on both Android and iOS platforms.
Developers typically use different libraries and tools during the development. These teams not always synchronize their "toolbox" because they might work in separate teams or might belong to different subcontractors. However, in several situations it would be very beneficial to use similar tools and libraries during the development for both teams.
Since the beginning of Android and iOS platforms one of our main focus was mobile application development and in this post we share tools and libraries grouped in categories, that we typically use and we highlight the alternatives for Android and iOS platforms.
Please note that this list is not final and we update it frequently!
Network Communication
1. HTTP / REST Communication
iOS | Android |
---|---|
Alamofire | Retrofit |
2. Image Caching
iOS | Android |
---|---|
SDWebImage Kingfisher |
Glide Picasso |
3. MQTT (Message Queue)
iOS | Android |
---|---|
Moscapsule | Paho |
4. TCP/IP, UDP
iOS | Android |
---|---|
CocoaAsyncSocket | Kryonet |
Logging
iOS | Android |
---|---|
CocoaLumberJack |
Timber Hugo |
Persistence
1. File management
iOS | Android |
---|---|
- |
Android Simple Storage Android External File Writer |
2. Key-value storage / NoSQL
iOS | Android |
---|---|
Realm |
Realm Couchbase mobile Paper SnappyDB IcePick (save&restore instance state) |
3. ORM
iOS | Android |
---|---|
MagicalRecord |
SugarORM GreanDAO ActiveAndroid |
User Interface
1. UI collections
iOS | Android |
---|---|
Awsome iOS UI | Awesome Android UI |
2. Animation
iOS | Android |
---|---|
AFViewShaker |
Circular Tools Android View Animations |
3. Charts
iOS | Android |
---|---|
ios-charts |
MPAndroidChart AndroidCharts AChartEngine |
4. Custom Menu
iOS | Android |
---|---|
ECSlidingViewController | Android Reside Menu |
5. Loading
iOS | Android |
---|---|
MBProgressHUD | Circular Progress Button |
6. Validation
iOS | Android |
---|---|
- | Android Saripaar |
7. Other
iOS | Android |
---|---|
- | SmartTabLayout |
Debugging
iOS | Android |
---|---|
FLEX |
Stetho LeakCanary |
Crash Reporting
iOS | Android |
---|---|
Fabric.IO | Fabric.IO |
Analytics
iOS | Android |
---|---|
Analytics for iOS Mixpanel |
Analytics for Android Mixpanel |
Testing
iOS | Android |
---|---|
Kiwi Specta Quick Kif Subliminal Calabash |
Robolectric Espresso Mockito Awsome Android Testing |
Programming
1. Event Handlers
iOS | Android |
---|---|
SwiftEventBus | EventBus |
2. Dependency Injection
iOS | Android |
---|---|
Typhoon | Dagger 2 |
3. Reactive Programming
iOS | Android |
---|---|
RxSwift ReactiveCocoa |
RxAndroid RxJava |
4. Util libs
iOS | Android |
---|---|
- |
ButterKnife (view injection) Android Annotation Guava Greenrobot-common Mortar Flow Device Year Class |
5. Date Formatters
iOS | Android |
---|---|
ISO 8601 Date Formatter |
ThreeTenABP Joda-Time |
Tools and Collections
iOS | Android |
---|---|
Cocoa Controls |
Awsome Android Android Must Have Libraries Android Arsenal |
If you would like to contribute please send your thoughts to us via e-mail.
Authors:
Tibor Kántor
Péter Ekler
Balázs Gerlei