Sebastopol, CA--There are a lot of network tasks that developers may have on their wish lists for projects, but never seriously consider because of the amount of work involved to pull them off--tasks such as giving an application an embedded SSH server for administration, or writing a custom IMAP server. "You might think it would be helpful to write your own IMAP server, but then you look at the IMAP spec and you think about the months it would take just to get your app speaking the IMAP protocol, and you say 'forget it,'" says Abe Fettig, a software developer who specializes in network communication and integration. For Fettig, the answer to this problem was found in Twisted, an open source network-application written in Python. Says Fettig, "With Twisted you can write SSH and IMAP servers, and lots of other things, because all the heavy lifting has been done for you."
According to Fettig, Twisted makes it possible to do what you may have thought impossible. "Twisted is unique in that it offers high-level interfaces for network communications, while being powerful enough that you won't outgrow it. Like Python itself, it hides the nasty low-level details without feeling dumbed down," notes Fettig. The secret then to mastering this powerful programming tool is his new book, Twisted Network Programming Essentials (O'Reilly, US $29.95). One of Twisted's great strengths is its comprehensive support for a wide range of protocols. With Twisted, developers can focus on what they want to do and on the applications they want to deliver, without having to implement the underlying network protocols.
Networked applications are the present and future of programming according to Fettig, and with Twisted, developers can set themselves up for success in these areas. "Developers are building apps that use the web, email, instant messaging, usenet, file sharing, VoIP, etc.," Fettig says. "It's going to become increasingly important for applications to communicate with other services on the Internet and to handle multiple concurrent network connections gracefully. Twisted has the features that you need (even if you don't know you need them yet), and it's flexible enough that you'll be able to adapt quickly. The requirements for Internet apps are going to become increasingly sophisticated as time goes on, so it's good to use a framework that gives you lots of headroom."
In Twisted Network Programming Essentials readers learn how to:
"I've been using Twisted since 2002 for various projects. During that time, I'd learned that Twisted is chock full of amazing, powerful features, but that there wasn't any way to discover these features other than reading the source code yourself (or, if you were lucky, finding an old post on the mailing list)," says Fettig. "It was a shame that the Twisted developers had done all this great work and made it open source, but that people were having a hard time discovering and using it. So a lot of people, including myself, wanted to see a printed Twisted book."
Perhaps Matthew "the Glyph" Lefkowitz, creator of Twisted, says it best in his foreword to the book, "As the Twisted project's originator and nominal leader--and as someone who is not being paid for writing this--I can very honestly say that this is a fine book, and it has made me proud of what I've started."
O’Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O’Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying “faint signals” from the alpha geeks who are creating the future. An active participant in the technology community, the company has a long history of advocacy, meme-making, and evangelism.