A experiência acumulada, o ancinho recolhido e a funcionalidade testada pelo tempo e centenas de criadores é a melhor forma de descrever o significado das bibliotecas utilizadas no desenvolvimento.
Há prós e contras na utilização de bibliotecas prontas:
- + Não é necessário passar tempo a reinventar a roda.
- + Já testou a funcionalidade pronta e resolveu os “problemas das crianças” (se a biblioteca for popular).
- O programador nem sempre está interessado em como a biblioteca é vulnerável e afecta o desempenho.
- O módulo pode ser bastante incómodo se precisar apenas de utilizar uma pequena parte da funcionalidade.
Se precisar apenas de um par de horas de trabalho para a implementação, muitas vezes não se justifica a utilização de soluções prontas. Quando se pode resolver uma tarefa massiva com um par de linhas de código e importá-la, não vale a pena reinventar a roda. É importante compreender e estimar inicialmente a dimensão da funcionalidade pretendida. Isto vem com a experiência.
Algumas coisas dificilmente podem ser feitas sem bibliotecas (ou pelo menos podem ser feitas, mas são difíceis, longas e não fazem sentido). Estamos a falar sobretudo do acesso a ferramentas e serviços de terceiros. Por exemplo, o pagamento dentro de aplicações móveis é feito através da norma, mas ainda assim uma biblioteca.
A exibição de uma imagem na lista pode parecer uma tarefa fácil. Mas, de facto, haverá alguns problemas com o cache, redimensionamento, arredondamento de esquinas, etc. Este é um bom exemplo de quando a utilização de bibliotecas de imagens populares é mais do que justificada.