Berbicara tentang framework, memang kadang kalanya sering terjadi perdebatan mulai dari size dari framework yang harus dibawa ketika di deploy sampai level programming library yang disediakan oleh framework ini. Pada pembahasan diskusi ini saya akan membatasi scope yaitu:
- Win32 API
- MFC (Microsoft Foundation Class)
- STL (Standard Template Library)
- ATL (Active Template Library)
- WTL (Window Template Library)
- .NET Framework
Win32 API
Bagi developer yang sudah touching programming di area 1996-2001, sangatlah familiar dengan istilah Win32 API karena semua programming yang berbasis orientasi OS Windows pasti related to API di OS tersebut. Akibatnya Win32 API merupakan bisa dibilang bacaan wajib.
Semakin berkembangnya dunia software dimana semua serba cepat, serba wizard alias kalau bisa cukup klik Generate bisa langsung aplikasinya jadi..bhah!!..kayak tukang sulap saja. Tentu feature ini sangat digemari oleh para professional developer yang ingin memperoleh uang dengan cepat. Akibatnya Win32 API nyaris-nyari tak tertentu tetapi mereka tidak sadar bahwasannya yang dibuat merupakan refer dari Win32 API.
Sampai saat saya tulis artikel ini, peminat Win32 API bisa dibilang sangat kecil. Padahal Win32 merupakan API yang menjanjikan baik dari segi performance hingga kemudahan deployment.
MFC (Microsoft Foundation Class)
Wah, kalau barang ini ketika kemunculanya banyak ditentang para developer C++ karena ada beberapa issue fundamentel yang membuat orang tidak memakai MFC salah satunya MFC tidak menerapakan Pure OOP dikarena ada beberapa sintak yang menggunakan MACRO untuk memudahkan proses development.
Disamping itu, proses deployment dari MFC dimana harus membawa 3-5 Mb framework MFC sehingga industri software menjadi agak ribet dalam deployment. Ditambah dengan ketidak konsistenya API dari MFC dari versi satu ke versi selanjutnya.
Personali, saya gak menganjurkan untuk memakai MFC bagi mereka yang ingin belajar C++, the best way..ya belajarlah mulai dari Win32, mulai define API, Windows Message hingga membuat kelas. Opini ini juga ada yang menulis mengenai mengapa programmer baru tidak dianjurkan belajar MFC terlebih dahulu. http://users.bigpond.net.au/programming/explanation.htm
STL (Standard Template Library)
Di dunia C++, ada kemudahan dalam membantu suatu class. Seperti diketahui kadang kalanya kita membangun kelas banyak sekali padahal dari kelas-kelas tersebut bisa diambil benang merahnya yaitu kesamaan fungsilitiesnya akibatnya Template merupakan salah satu solusi untuk ini. STL menyediakan standard template yang dapat digunakan oleh C++ Dev sehingga template ini bisa digunakan di project yang lain.
ATL (Active Template Library)
ATL mempunyai kemiripan dengan STL. ATL sendiri lahir sebagai jawaban untuk kompleksitas dari Template C++ Class yang tidak dapat dipenuhi oleh STL. Beberapa aplikasi yang berbasis server di OS Windows kebanyakan sudah tersedia Template nya di ATL ini sehingga framework ini sangat cocok digunakan untuk membuat komponen yang berbasis server selain juga cocok untuk COM/ActiveX. Saat ini Microsoft sudah menyediakan ATL yang support MFC.
WTL (Window Template Library)
WTL disana ada kata Template artinya kedudukan sama dengan STL dan WTL lebih fokus ke template Windows seperti Dialog, Menu, Toolbar...etc.
.NET Framework
Huh!... ini sudah banyak dibahas, bisa dibaca di blog http://blogs.netindonesia.net . Yang jelas .NET menyediakan library yang sangat banyak sehingga beberapa Mb.
Resource C++
So...ada yang mau share ketika membuat product harus memakai software apa ?