GitHub Open Source Library ranked 100 is a simple introduction, worth collecting!

Source: Internet
Author: User
Tags sqlite database chrome developer chrome developer tools eventbus

GitHub Android Libraries Top 100 Introduction

This project is a brief introduction to the top 100 Android open source libraries currently on GitHub, and the rankings are based solely on the results of the GitHub Search Java language selection (best Match) and then filter out items that are not related to Android, so Rankings do not have any official effect, only for reference learning, convenient for beginners to quickly understand some of the current popular Android open Source library.

IOS version in this: HTTPS://GITHUB.COM/AUFREE/TRIP-TO-IOS/BLOB/MASTER/TOP-100.MD

Thanks to @GitHubDaily for their support and @stormzhang guidance.

If you have any questions, you can contact me via email or Weibo.

Project Name Project Introduction
1. react-native This is the JavaScript-based open source framework React Native, launched by Facebook at the React.js Conf 2015 conference, which combines the advantages of WEB applications and Native applications, and can be developed using JavaScript IOS and Android native apps
2.android-universal-image-loader Imageloader is the first open source Android image Cache library, powerful caching mechanism, early use by a wide range of Android applications, still have many Android developers in use
3. RxJava RxJava is a library of asynchronous, event-based programs that use observable sequences on a Java VM, which is simply a library of asynchronous operations, and the advantage of RxJava is that a word is "concise" and uses it to keep it simple, even if your program logic is complex.
4. Retrofit Retrofit is one of the most popular HTTP Client libraries in the current Android version of the Retrofit, which is an HTTP request library produced by Square and is one of the first open source projects in the company, and is currently available in Retrofit2.0 BETA4 , more and more Android developers are starting to use this request library.
5. Okhttp OkHttp is an HTTP request from Square Company, Google does not recommend people to use HttpClient, but httpurlconnection is very difficult to use, so many people use OkHttp to solve the problem, it is said and roid4.4 source can be seen httpurlconnection has been replaced by OkHttp implementation
6. Slidingmenu (not recommended) A side-by-side menu Open Source Library has been widely used before Google's own pristine side-by-side menu Navigationdrawer, but now the library has been abandoned.
7. Picasso Picasso is a gallery of image caches produced by the Square company, the leader of Jakewharton
8. Android-best-practices Android Development best practices, which are described in the experience are from the Futurice company Android developers, the introduction of content has Android development specifications, architecture, layout skills, as well as the use of some help to quickly develop relevant tools, etc., very suitable for beginners to learn
9. Eventbus Eventbus is an Android event management bus that uses it to deliver messages for Android broadcast, Broadcastreceiver, Handler between Activity, Fragment, Service, Thread, Greatly simplifies the event delivery logic
Ten. Android-async-http Android-async-http is an old-style asynchronous request library for Android, specifically for the asynchronous Http connection built on Android's HttpClient base, which has many features, such as a small size library, support for file uploads No third-party library support, internal use of thread pool to handle concurrency, etc.
Fresco. Fresco is a picture cache library produced by FaceBook, Fresco is a powerful picture loading component that supports the loading of Gif and WebP formats, supports Android2.3 (API level 9) and above, and Fresco designed I Mage Pipeline and Drawees two modules each, so that the picture is loaded perfectly, want to know more image pipeline and drawees about its features, can go to its official platform to see the introduction
Zxing. ZXing is the most famous open source project in the field of QR Code, it provides two-dimensional code/Barcode scanning solution for multiple platforms, with fast scanning, high recognition rate, simple use and other features.
Leakcanary. Leakcanary is a tool for detecting memory leaks in Square, a tool that helps you easily detect memory leaks during the development phase and is easy to use.
Butterknife. Developed by Jakewharton, Butterknife is a view injection framework that uses it to abbreviate a lot of Findviewbyid code, while also supporting some of the event-handling functions of view
Mpandroidchart. Mpandroidchart is a powerful Android chart library that supports a wide variety of chart displays, with almost all of the chart styles imaginable, and charts that support selection, drag-and-drop and zoom animation effects
Actionbarsherlock (not recommended) Actionbarsherlock This library is Jakewharton developed to support the Android3.0 of the following versions, and then slowly Google also provided a APPCOMPAT library to support Android3.0 the following versions use ActionBar , so the author doesn't recommend that we use the library again.
Androidannotations. Androidannotations is an open source framework that allows you to quickly develop your Android, allowing you to focus on what's really important, make your code leaner, and make your project easier to maintain, with the goal of "fast Android Development.easy maintainance "
Viewpagerindicator. A viewpager indicator, developed by Jakewharton, is easy to use and highly customizable to develop a variety of animation effects.
Glide. Glide is a Google employee Open source project, widely used in some Google apps, in 2014 Google I/O conference was recommended to use, Glide and Picasso was taken to compare, Glide and Picasso have 90 % of the similarity, but in some of the details are still a little different, each has its advantages and disadvantages to see your choice
Homemirror. The developer is a Cheng Hannah Mittelstaedt, Homemirror is an Android mirror app that currently implements date, time, weather, birthday information, event reminders, cycling weather recommendations, stock information, new posts for XKCD comics sites, and more
Android-pulltorefresh (not recommended) A powerful pull refresh open source project that supports various controls drop-down refreshes, ListView, Viewpager, WebView, Expandablelistview, GridView, ScrollView, Horizontal ScrollView, Fragment up and down around to pull the refresh, but now this project has stopped maintenance updates, recommended use Android-ultra-pull-to-refresh
Materialdesignlibrary. This library control has been developed following the Google Material design specification, for example: Flat button, Rectangle button, CheckBox, Switch, Progress Bar Circular in Determinate, wait.
PhotoView. PhotoView is a subclass of ImageView that supports all ImageView's source behavior, such as support for Pinch gesture free scaling, support for double-click zoom/restore, smooth scrolling, and so on, and very handy with Imageloader/picasso and the like The network Image reading library is integrated using, also convenient with Viewpager and so on also support sliding gesture control integration
Rxandroid. A project developed by Jakewharton, Rxandroid is an extension of RxJava for Android, primarily for Android development
Material-dialogs. Material Dialogs is a highly customizable and easy-to-use, Material design-style Dialogs, compatible with Android API8 version, personal feel it completely replaces the Android native that, simpler than the native one
26.android-observablescrollview Observablescrollview is an Android library for observing scrolling events in a scrolling view that easily interacts with Android 5.0 Lollipop introduced toolbars (Toolbar) and helps developers to achieve Mate Rial design Application visual experience interface appearance, support ListView, ScrollView, WebView, Recyclerview, GridView components
Android-bootstrap. Android version of the Bootstrap, the use of this library to achieve a lot of Bootstrap style style, have learned Html before the people know what Bootstrap is
Androidswipelayout. Developer is a code home, Androidswipelayout is a support ListView, GridView, ViewGroup and so on left and right to swipe out of the Action menu, similar to the QQ message list to the left to show more information on the Action menu
Dagger. Dagger is a fast dependency injector for Android and Java from Square, which effectively reduces the amount of code you can tap
Listviewanimations. A library that is easily animated to add animations to the Android ListView, supported by: Alpha, Swingrightin, Swingleftin, Swingbottomin, Swingrightin and Scalein, etc., using It can easily achieve the effect of a handsome explosion
31.PagerSlidingTabStrip (not recommended) Pagerslidingtabstrip is an Android Viewpager added on the Viewpager slide indicator, from GitHub above, this library seems to be no one in maintenance, so it is not recommended to use, you can use Smarttablayout instead
Androidviewanimations. The developer is a code home, this library implements a lot of very cool Android animation, animation effect is to learn from animate.css to achieve, very cool, and this is very simple to use.
Androidslidinguppanel. Androidslidinguppanel is a pull-up panel that moves up and out of a display panel control, which is applied to Google Music, Google Maps and Rdio apps
Materialdrawer. Materialdrawer is a similar Google official Navigationview slide show control, personally think Navigationview is not materialdrawer practical, because Navigationview freedom is not very good , a lot of them are dead. The layout cannot be defined freely, and materialdrawer can achieve the same effect as Navigationview, while also supporting the custom effect, very high degree of freedom
Material-animations. Material-animations is a good transition animation library that can be used to jump between activity and activity, jump between Fragment and Fragment, and transition animations before and after each View change.
Materialviewpager. An easy-to-use Material design-style Viewpager Library
Panax Notoginseng Ion. Ion is a great way to make Android's network operation extremely simple, supports asynchronous acquisition and processing of JSON, supports Android file downloads (while supporting download progress bar bindings), supports secure links and proxies
Stetho. Stetho is a powerful Android debugging tool from Facebook that allows you to view the layout of your app in Chrome Developer tools, network requests (using volley only, okhttp Network request library), SQLite, Preference, everything is a visual operation, no need to use the ADB itself, or the root of your device
Fastjson. Fastjson is a high-performance, fully-functional JSON library written in the Java language. It uses an algorithm that "assumes ordered fast matching", which improves the performance of JSON parse to the extreme, and is the fastest JSON library in the Java language today. Fastjson interface is simple and easy to use, has been widely used in cache serialization, protocol interaction, web output, Android client and many other application scenarios
Cardslib (not recommended) Cardslib was an early Android open source code library developed by Gabriele Mariotti for developers to easily implement various Card UIs, and Google officially provided its own CardView under the V7 package, using Google officials Can completely replace this library, so this is also deprecated.
Android-ultra-pull-to-refresh. Developer is Lio, this is a very powerful drop-down refresh library, inherited ViewGroup can contain any View, features even more powerful than swiperefreshlayout, easy to use, but also free to customize their own UI style
Greendao. Greendao is an ORM solution that can help Android developers quickly map Java objects to a form in a SQLite database by using a simple object-oriented API that allows developers to store, update, delete, and query Java objects, Gree Ndao relative Ormlite, androrm these two ORM open source libraries, performance is the highest
Androidstaggeredgrid. Androidstaggeredgrid is a multi-column support and each row of item size, staggered GridView, is to achieve waterfall flow style effect, the library has been deprecated, developers suggest we use the Google official control Recyleview in the Staggeredgridlayoutmanager layout to achieve waterfall flow effects
The. Otto Otto is an event library (pub/sub mode) out of Square that simplifies communication between application components, and Otto modifies the guava library from Google, optimized for the Android platform, compared to the eventbus described above Each of the two libraries has its own merits and depends entirely on the needs of our own projects to choose which one
Xutils. Xutils is a rapid development framework that contains dbutils, Viewutils, Httputils, bitmaputils four modules that can be used for rapid development, support for large file uploads, a more flexible ORM, and a minimum compatible Android 2.2
Realm-java. Realm a lightweight Android version of the data repository, more concise and faster operation of data than the Android native system SQLite
47.android-cleanarchitecture Cleanarchitecture is a very typical use of the MVP architecture of the project, if you have not understood the MVP architecture can look at this project
Stickylistheaders. Stickylistheaders is a ListView section header library that can be fixed at the top of the screen, that is, the header of the current section is fixed at the top of the screen, and when it slides to another section, the H Eader will replace the header of the previous section, pinned to the top of the screen, similar to the effect of Android4.0 's phone address Book
AppIntro. AppIntro is a quick and easy way to build a beautiful and Cool guide page library
Activeandroid. Activeandroid is a lightweight ORM architecture for the Android platform designed with the Active record architecture pattern in rails, enabling rapid development with virtually no SQL code to write
Wuyi Android-volley. Volley is a new network communication framework launched by Google's official development team in 2013 at the Google I/O Conference, a framework that combines the benefits of asynchttpclient and Universal-image-loader in a way that can be asynchtt Pclient is as simple as HTTP communication, can also be as easy as universal-image-loader load the picture on the network, this library is not official, just managed synchronization in Maven, the official only provide the Jar package
Twoway-view. Twowayview is a library of simplified Recyclerview development that builds a wide variety of layouts based on its base LayoutManager, which contains several common layout lists, grids, staggered grid,spannable Grid
Showcaseview. Showcaseview is a library that is well suited for first-time use by users, and is very simple to use and can be customized.
Calligraphy. Calligraphy is a class library that simplifies the use of custom fonts for Android apps that automatically find TextView in your app and set the fonts they use
Nineoldandroids. Nineoldandroids is a backward-compatible animation library developed by Jakewharton, primarily to enable systems below API 11 to use View's property animations, but now Jakewharton has deprecated the use of the library, but recommends that we use the official seal Animations in the Support library
Android-floating-action-button. Floatingactionbutton is a suspension operation button, the official under the support Design package also has a similar to the library effect of the Floatingactionbutton, it is worth noting that this library is early in the official package existed before, Personally, this library is more useful than the official one.
Circleimageview. Circleimageview is an easy way to help you achieve a round effect ImageView picture Library, Circleimageview is based on ImageView extension, so it has all the properties of ImageView control, easy to use the library that is worth using
Material. Material is the Material design style control encapsulated in the library, currently packaged with progress, Button, Switch, Slider, Spinner, Text Field, Tabpageindicator, Sna Ckbar, Dialog, Bottomsheetdialog, Dynamic theme
Actionbar-pulltorefresh. Actionbar-pulltorefresh is a drop-down refresh when the drop-down refreshes when prompted in the ActionBar loading library
Floatingactionbutton. Another hover Operation Button Library, the library adds support for listening sliding scrolling events, when the button is hidden when the slide, the button is displayed when sliding up, there are animation effects, support monitoring ListView, ScrollView, Recylerview
Androidasync. Androidasync is an NIO-based low-end Android asynchronous socket, HTTP (client+server), WebSocket and Socket.io Network communication protocol class library
Rebound. Rebound is a gallery of elastic animations from Facebook that allows animations to look real and natural, like real-world physics, with powerful effects and parameters used by Facebook's origami.
Android-common. Android-common-lib is a collection of some of the trinea's most common caches, public View, and some common tool classes
Rippleeffect. Rippleeffect is a ripple effect that implements the Material Design for any component clicked on Android, backwards compatible to Android API9
Smoothprogressbar. Smoothprogressbar is a library of horizontal scrolling progress bars that help your App to achieve customizable, smooth animations
Recyclerview-animators. Recyclerview animators is an Item added to the recycler control and removed to add animation effects, animated effects have scale, Fade, Flip, Slide inside various effects
Circular-progress-button. A Button with a progress display, the effects and animations are great.
Droidplugin. Droidplugin is a 360 mobile phone assistant implements a new plug-in mechanism on Android: it can run the APK file without installing or modifying it, which has some advantages in improving the architecture of large-scale app and realizing multi-team collaboration development.
dynamic-load-apk. The developer is Singwhatiwanna (Ningyugang), is the author of the "Android Development Art Exploration" book, this is the author of the joint two developers screaming (time of the Sand) and song Siyu took a few months to study out of the APK dynamic loading framework, want to learn more about this framework can be seen in the author blog This article is described in detail
Exoplayer. Exoplayer is a Google development team open-source Media Library, more than the Android framework native MediaPlayer has more advantages to support dynamic adaptive streaming HTTP (DASH) and smooth streaming, support advanced HLS features, support custom and expand your use Scenes, etc.
Crouton (not recommended) Crouton is a display tool class that displays prompt information, which can be used instead of Toast, which is displayed by default at the top of the window and can be displayed one after the other, but the library has been deprecated, not recommended
Robospice. Robospice is a network library that allows you to build asynchronous long-running tasks that are exceptionally easy, particularly powerful in terms of network requests, cache support, and the provision of out-of-the-box rest requests.
Hugo. Hugo is the Jakewharton of the great God to print log, Hugo is based on annotations are called, after the introduction of related dependencies, add @DebugLog on the method to output log, using very simple
Async-http-client. Asynchttpclient is another Android asynchronous request library that supports the WebSocket protocol and is easy to use.
Ultimaterecyclerview. Ultimaterecyclerview is a powerful recyclerview (advanced and flexible version of the ListView) that includes drop-down refreshes, loads more, multiple animations, empty data hints, drag sorting, depending on Difference processing, toolbar gradient, sliding Delete, custom floating button, various refresh effects, scrollbar, sticky header, multi-layout support and so on, and use it as easy as Recyclerview
Materialedittext. Materialedittext was developed by employees of Flipboard, who also provided Material Design control EditText in AppCompat v21, but because it was difficult to use, there was no Api for setting the color, So this third-party library is created.
Side-menu.android. Side menu is open source Yalantis organization, the organization because of open source some animation great open Source library for everyone to know the library is one of them, the library is to provide page-flipping animation effect side menu, animation experience Amazing
Drag-sort-listview. Dragsortlistview is a ListView control that can implement drag sorting and sliding deletion, noting that the author has abandoned maintenance updates to the library, but interested people can study
Android-times-square. Timessquare is a Square-produced control that displays calendar selection dates, allowing users to select multiple dates
Greendroid (not recommended) Greendroid is a well-packaged Android UI interface library, but the library has been deprecated, and it is not recommended
Bayi. Logger Logger is a simple, beautiful, powerful Android print log library
Acra. ACRA is a library that enables Android apps to automatically send crash reports in the form of a Google Docs spreadsheet, designed to provide developers with access to relevant data when the app crashes or behaves incorrectly
Fadingactionbar. Fadingactionbar is a support ListView, ScrollView, WebView is gradually displayed ActionBar library when scrolling down
Androidimageslider. Androidimageslider Library Developer is the code home, the library is for the Banner picture slide to provide a variety of animation effects, you can easily load the network image for Banner
Systembartint. Systembartint is an immersive status bar library that works with more than 4.4 of Android system versions
Android-menudrawer. The Menudrawer is a slide-out menu library that slides out of the menu by dragging the edge of the screen, supports the screen up and down, supports the current View on top and bottom, supports Windows edge, ListView Edge, Viewpager change menu, etc.
Roundedimageview. Roundedimageview a library that quickly supports the image fillet display, which is characterized by the ability to load quickly, in order to increase loading speed, the library does not have to create a copy of the original bitmap, do not use Clippath, do not use Setxfermode cropped bitmap, and other ways to achieve ImageView rounded corners, very simple to use
Afinal. Afinal is an Android SQLite ORM and IOC framework that encapsulates the HTTP framework in Android, making it easier and easier to use with finalbitmap, regardless of bitmap loading in Android Oom problems and fast sliding when picture loading position dislocation and other issues, afinal's purpose is concise, fast, the Convention is greater than the configuration of the way, as much as possible one line of code to complete all things
Android-pulltorefresh (not recommended) Another drop-down refreshes the library, but the library has stopped maintenance, so it is not recommended to use Android-ultra-pull-to-refresh
Bolts-android. Bolts is a collection of underlying class libraries that implement asynchronous operations in the background and provide interface feedback about the current level of asynchronous execution (UI progress updates can be implemented through interfaces), and finally feedback the execution results to the UI main thread, compared to the Asynctask: (1) using a thread pool without a size limit; (2) The task can be cascaded together to prevent code coupling
Numberprogressbar. Numberprogressbar Developer is a code home, this is a simple and sexy digital display of the progress bar Library, the use of very simple and convenient
Swipebacklayout. Swipebacklayout is a support screen swipe left and right to return to the top activity, close the current activity, similar to the Jane book App
Android-gif-drawable. A GIF-enabled view, implemented with JNI, compiles and generates so libraries directly after the XML definition view, simple and easy to use
94. Vitamiobundle Vitamio is an all-in-one multimedia development framework on Android and IOS, featuring: (1) Full support for hardware decoding and GPU rendering, (2) smooth playback of 720P or even 1080P HD MKV, FLV, MP4, MOV, TS, RMVB Common formats such as video, (3) cross-platform support for MMS, RTSP, RTMP, HLS (m3u8) and other common video streaming protocols on Android and IOS, including on-demand and live streaming
Smarttablayout. Smarttablayout is a custom Tab title strip, based on the Android-slidingtabbasic project in Google Samples, which transitions smoothly when sliding Indicator
Ucrop. Ucrop is the Yalantis organization open-source image clipping library, support zoom, rotate the picture, support various proportions of the crop box, very powerful a picture clipping library
Android-crop. Another picture clipping library, backwards compatible to API 10, the personal feeling that this library is not more powerful than the Ucrop described above
98. Holoeverywhere Holoeverywhere is an Android development library that provides a full set of Holo style controls that look and function as well as the standard Holo style controls, except that it can run on Android systems under the 4.0 version
Avloadingindicatorview. The Avloadingindicatorview library contains a wide variety of beautiful loading animations and is very simple to use, as well as ProgressBar when used in peace.
xx. sweet-alert-dialog Android version of the Sweetalert, fresh art, lively and lively sweet heart frame, inspired by the JS version of the Sweetalert
7 seats in the rough square.
Project Name ranking
Retrofit 4
OkHttp 5
Picasso 7
Leakcanary 13
Dagger 29
Otto 44
Timessquare 79
FaceBook owns 4 seats.
Project Name ranking
React Native 1
Fresco 11
Stetho 38
Rebound 62
Jakewharton the Great God occupies 5 seats
Project Name ranking
Butter Knife 14
Actionbarsherlock 16
Viewpagerindicator 18
Nineoldandroids 55
Hugo 73
Code home The Great God occupies 4 seats
Project Name ranking
Androidswipelayout 28
Androidviewanimations 32
Androidimageslide 84
Numberprogressbar 91
Thank

Thank you for all the hard work for the open source of people, I believe that you will develop a better Android, let us together for their hard work to give applause!!

GitHub Open Source Library ranked 100 is a simple introduction, worth collecting!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.