Selamlar,
Verdiğin örneklerden ilerleyelim. Library (kütüphane) daha çok görece basit işlemleri destekleyen komutların oluşturduğu yapılardır. Yani sadece mail atma işine yarayan, sadece db işlemlerini yapanlar, sadece görüntü işleme işine bakanlar. Bazı örnekler
Görüntü işleme: OpenCV
Grafik Kütüphanesi: Open GL
DB işlemleri için: MyBatis
Email işlemleri : JODD email
Bunun yanında kodlayacağın projede hem db bağlantı işleri, hem dependency injection, hem loglama gibi bileşenler kullanıyorsan bunların hepsini güzelce yönetebileceğin bir kütüphaneler topluluğu gibi bir yapı kullanman gerekecek. Tabi kendin de halledebilirsin ama daha çok zaman ve bilgi gerektirecektir. Bunun için de framework(çatı) dediğimiz kavramları kullanıyoruz.
Web Framework: Play
Oyun Framework: Unity
Uygulama framework: Spring
Mesela play sana db bağlantı işlerini, katmanlara ayırmak için gerekli yapıları, view(presentation/sunum) katmanı için yapıları sağlar.
Unity de görüntü kullanımından ses kullanımına, collision detection işlemlerine kadar bir yelpazede yardımcı olur.