Skip to content

Importance of libraries

Application Library Engineering Group edited this page Jul 28, 2021 · 7 revisions

This Wiki gives you a clear understanding of libraries, guide, tips to follow while developing libraries and gears you to the next level to create awesome libraries that can help us create better apps.

Getting Started:

One of the major reasons for using these libraries is to expedite the development process, i.e., develop an amazing application without any unnecessary or additional efforts.

These libraries provide developers with basic pre-written codes and other important elements that can be used instantly rather than performing these tasks from scratch.

Lets, see some of the guidelines/best practices to be followed:

  • Firstly, there is no defined set of standards or hard and fast rule available for this. However if you follow a structure it could make things easier and clearer.
  • Always stick to the goal as to why you initially started creating this library.
  • Keep it simple and straight.
  • Do some research and find if there is already an existing library available you just reinvent the wheel, you can actually avoid this.
  • It is not always necessary to create libraries, fixing a feature in a existing library is contributing and giving back to the community.
  • High quality dependencies.
  • Permissive license, including (but not limited to) Apache, Artistic, BSD, CC BY, MIT, MS-PL and W3C
  • GitHub Version Tag so you can see exactly what source is in the package.
  • Support for the latest stable version
  • General usability when it comes to the overview, docs, sample/example code, and API quality.
  • Good runtime behavior in terms of CPU and memory usage
  • Integration as well as unit test coverage.

Before creating libraries, We would suggest you go through some of the best readily available libraries and see the structure or pattern common in these libraries.

Below are some of the top libraries:

The end goal of every library is to simplify abstract complexities of code and package the code for others to reuse in their projects.

Library Training Materials:

1. How are libraries different from Framework? - (https://www.freecodecamp.org/news/the-difference-between-a-framework-and-a-library-bd133054023f/)

2. Criteria to follow while designing the libraries? - (https://proandroiddev.com/10-tips-for-android-library-developers-c2275ad46fe8)

3. Creation of Android library - (https://developer.android.com/studio/projects/android-library) (https://www.vogella.com/tutorials/AndroidLibraryProjects/article.html)
4. Build and publishing Library - (https://proandroiddev.com/publishing-your-first-android-library-to-mavencentral-be2c51330b88)
5. Overview of JitPack or other resources to publish libraries - (https://jitpack.io/) (https://www.thedroidsonroids.com/blog/how-to-distribute-android-libraries)
6. Best Practices around building Android libraries - (https://www.raywenderlich.com/52-building-an-android-library-tutorial)
7. Testing process - (https://adrianhall.github.io/android/2019/12/24/unit-testing-android-libraries/)
8. Take away from the Top libraries in Android - (https://www.spaceotechnologies.com/best-android-libraries/)

Clone this wiki locally