I have just started working on a reusable library. This library is going to be pretty big and since it involves communicating with external devices over various communication media (such as RS232, TCP/IP, Radio etc), I am thinking about providing support of performing operations that involves communication, asynchronously.
I have read the .NET guidelines, various articles etc. Many sources refer to future developments in .NET 4.0 regarding asynchronous programming.
I have 2 options:
- Forget .NET 4.0 and implement the library using best pattern/method available today.
- Read, learn and play with .NET 4.0 so that my library gets benefit of up-to-date language and framework facilities.
Considering that release timeline of my library goes till mid next year (2010) and quality of library matters more than release date (Yes, I am lucky), what option would you recommend?
If you suggest option-1, is there anything I can do to make my library ".NET 4.0 friendly" (easy changes in future to use advanced parallel features)?
If you suggest option-2, how stable the current parallel features in .NET 4.0 or how much rework you expect because of working on beta platform?