JavaScript é uma linguagem sucinta
O Browser Object Model é limitado
JavaScript é uma linguagem com falhas
Dificuldade em manipular o documento (DOM)
Falta de recursos para desenho vetorial de maneira uniforme
Não trabalha com 3D
Usa os controles pobres que o HTML já disponibiliza
Bibliotecas podem ser usadas para atacar algumas destas falhas
Bibliotecas também podem ser usadas para atacar falhas ou limitações de CSS ou HTML
Bibliotecas boas devem ser
Isso é intrusivo:
<a onclick="executeAlgumaCoisa()" href="#">Clique aqui</a>
Isso é não-intrusivo
<a href="pagina.html" id="meuLink">Clique Aqui</a>
...
// Associe o clique no link com id 'meuLink' à execução da função executeAlgumaCoisa
document.getElementsById("meuLink").onclick = executeAlgumaCoisa;
...
function executeAlgumaCoisa()
{
...
}
Bibliotecas populares
podem ser hospedadas por CDNs