In this post, I have tried to briefly capture list of available Java IO application frameworks. IO Frameworks reduces the development time by providing additional features over the bare-bone IO API's provided with Java.
Here is the definition I have used for the Framework
"An (N)IO Framework is a library, that provides easy to use API by shielding low level complexity of IO and provides rich and reusable API's to create robust and scalable Networking Applications".
A key point here is, only complexity is reduced, the power of low level API's is still available.
Have been using Apache MINA for a while, and found some similar and powerful frameworks. The idea is to share the result of searches. I don't intent to compare them on their performances or features. The text for the frameworks have been picked from the respective websites.
- Apache MINA - MINA (Multipurpose Infrastructure for Network Applications) is a network application framework which helps users develop high performance and high scalability network applications easily.
- xSockets - xSocket is a lightweight java nio-based server framework to build high performance, high scalable, multithreaded servers. It supports writing synchronous and asynchronous client-side applications as well as server-side applications in a very intuitive way
- Grizzly - The Grizzly framework has been designed to help developers to take advantage of the Java™ NIO API. Grizzly goals is to help developers to build scalable and robust servers using NIO.
- Netty - Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP/IP socket server