Açıkçası bende kitaplardan öğrenmediğim için belli bir kitap öneremem ama bir yön verebilirim.
Başta dili tanıtan bir kitap alacaksın ki çoğu aşa yukarı aynı bilgileri verecektir ve sonrasında tarif kitabı kullan. Misal kitaptan bir örnek bul slider, lightbox veya başka bir javascript ile yapılacak bir araç ve onu kitaptaki gibi 0 dan yapmaya çalış. Her kod satırırnın ne işe yaradığını anlamaya gayret göster. Ben kendimi video kurslarla eğittim ama ben yabancı uyruklu olduğum için benim dilimde çok daha zengin kaynaklar bulabildim ve kendimi geliştirme konusunda hep bir hedef konusu seçip onu hazır bir script yüklemektense 0 dan yapmaya çalıştım. Ha takıldığım konular olduğu zaman hazır scriptleri açıp adamların yazdıklarını anlayıp mantığını öğrenmeye çalıştım. Şuanda gayet iyi seviyede javascript, html, CSS, PHPbilgisine sahibim.
O üstteki dezavantajlardan bahsedecek olursak tekrardan dediğim gibi en büyük dezavantajı performanstır. Eğer uygulamanız çok fazla görsellik ve animasyon içeriyorsa yazılım yapılacak platforma göre onun kendi diliyle yazmak performans için çok daha verimli olacaktır ama eğer uygulamanız görsel açıdan metin, fotoğraflar, videolar vb içeriklerden oluşuyorsa hiçbir sıkıntı yok. Bir diğer dezavantaj bazen ihtiyacınız olan özellik henüz o araçlarda yapılmamıştır diyelim kamerayı kullanmanız lazım ama adamlar bunun özelliğini daha koymamışlar ve ozaman ya beklemeniz yada kendiniz c++ gibi dillerle o destek eklentisini yazmanız gerektirebilir. ( Bu çok sık olan bir durum değil ama olabiliyor.)
Son olarak şundan bahsetmem gerekir:
Bu üstte verdiğim ionic, electron gibi frameworklardan başka frameworklarda mevcuttur. Misal şuanda çok popüler olan React Native, Native Script gibi frameworklar var ve çalışma prensipleri biraz daha farklıdır ama performans açısından daha iyi sonuçlar veriyorlar. Bu frameworklar yine javascript kullanıyorlar ama onlara has birkaç tasarım özelliğini öğrenmen gerekecektir. Yane javascript her yerde kullanılır ve illaki çok performanslı birşeye ihtiyacım var diye kasacak olursanızda yine bir çözüm bulunur.