1. Tujuan dokumen
Tulisan ini adalah daftar pustaka sumber terbuka yang dikelompokkan menurut bidang agar pengembang C++ dapat cepat menemukan fungsi yang dibutuhkan.
Pustaka harus dapat diunduh dalam bentuk kode sumber, dan karena informasi bisa saja sudah usang atau tautannya salah, pengguna perlu memeriksanya sendiri.
2. Serbaguna, komunikasi, dan GUI
Boost, Folly, Dlib, JUCE, dan lainnya adalah pustaka serbaguna yang menyediakan berbagai fungsi.
Di bidang komunikasi terdapat Boost.Asio, POCO, ZeroMQ, Thrift, REST SDK, dan lainnya, yang digunakan untuk pengembangan jaringan, HTTP, messaging, dan layanan terdistribusi.
Bidang GUI mencakup Qt, GTKmm, wxWidgets, FLTK, dan lainnya.
3. Grafis, multimedia, dan game
SDL, SFML, dan OpenFrameworks digunakan untuk aplikasi multimedia.
OpenGL, Ogre3D, bgfx, GLFW, GLM, Assimp, dan lainnya mendukung grafis 2D/3D, rendering, serta pemrosesan model.
OpenCV digunakan untuk pemrosesan citra, sementara keluarga VLC dan GStreamer dimanfaatkan untuk pemutaran video dan pemrosesan media.
4. Matematika, AI, dan komputasi berkinerja tinggi
Eigen, Armadillo, dan Boost.uBLAS digunakan untuk komputasi aljabar linear.
Dlib, MLPACK, Shogun, dan liblinear menyediakan fungsi machine learning.
Pustaka terkait TBB, OpenMP, CUDA, dan OpenCL mendukung pemrosesan paralel serta komputasi berkinerja tinggi.
5. Pemrosesan dan penyimpanan data
Keluarga Boost.Container menyediakan beragam struktur data.
protobuf, cereal, yaml-cpp, dan lainnya digunakan untuk serialisasi objek, sedangkan RapidJSON, jsoncpp, TinyXML, dan lainnya menangani pemrosesan JSON dan XML.
ODB, SOCI, sqlpp11, mysql++, dan lainnya menyediakan koneksi database serta fungsi ORM.
6. Alat pendukung pengembangan
Google Test, Catch, dan Boost.Test digunakan untuk unit test, sedangkan Celero mendukung benchmarking performa.
OpenSSL, Crypto++, dan Botan menyediakan fungsi kriptografi.
spdlog, Log4cpp, dan plog adalah pustaka C++ representatif untuk pencatatan log.
7. Bidang lainnya
Termasuk juga pustaka untuk berbagai bidang seperti internasionalisasi, perhitungan keuangan, embedded, sistem real-time, PDF, pencarian, manajemen konfigurasi, dan integrasi bahasa skrip.
Secara keseluruhan, dokumen ini adalah daftar referensi untuk menelusuri pustaka berdasarkan fungsi yang dibutuhkan dalam proyek C++.
2 komentar
Versi Korea terakhir diperbarui pada 2016, jadi sepertinya lebih baik melihat versi aslinya
Wah, saya baru tahu dari tulisan ini bahwa ada situs cppreference berbahasa Korea, jadi sempat senang..
Sepertinya saya tetap harus menggunakan situs berbahasa Inggris seperti biasa.