NavigationNewsAbout Tutorials Downloads Forums |
About |
What is the Windows Abstraction Layer? The Windows Abstraction Layer (WAL) is meant to abstract the Windows API into an easy to use object oriented Windows GUI library in C++, while still leaving the low level Windows API available as an option to the user should he/she need anything not included. This may not seem so remarkable as opposed to being a purist and using the Windows API, but it is extremely useful in certain situations. For example, Intellisense which comes with new Visual Studio products including 2005 express does not allow you to easily see what methods you have available in the Windows API, which means you get to root around in the MSDN API documentation. Not fun. Since all methods are members of things that you instantiate, you are able to see what methods you have available using Intellisense. This simplifies the task of Windows GUI programming quite a bit. On top of that, the object-oriented design style used in the WAL library means that you can spend less time thinking about which each method does and more time constructing your GUI application. Why not just use Windows forms? It has always seemed silly to me the way Microsoft does some things. I understand they are there to make the developer's life easier, but sometimes the developer wants to get the job done quickly without having to learn new aspects of a programming language (managed C++, anyone?). WAL uses traditional C++ that programmers of all skill levels should be able to use without much of a problem. Also, WAL is a small API, meaning you won't have to search through thousands of methods in order to perform a simple task. What are some downfalls of using the Windows Abstraction Layer? While I intend to implement plenty of common features, quite often people have to use other features of the Windows API. This means that you, the developer will not be able to indirectly access certain features of the Windows API using WAL. For this reason WAL exposes much of itself for direct Windows API access as possible. While I realize that this isn't exactly a downfall, I do realize that you probably will come across problems that will require alteration of WAL. As a result I have listed this as a downfall of WAL. Can I contribute to WAL? By all means, yes. While I can do a majority of the work given a good amount of time, I am currently enrolled in another project which consumes a vast amount of my free time. Also, I am very inexperienced with the Windows API. If you are interested in contributing to this project, and have C++/Windows API experience, please e-mail me at wkunker@gmail.com. Thank you for taking the time to read about the Windows Abstraction Layer, and if you do decide to use it, please leave feedback on the forums. |