作者:Chad Z. Hower
译者:taowen(taowen.bitapf.org)
原文URL:http://www.atozed.com/indy/Texts/WhyIndy.iwp
来自.net的用户最常见的问题是:“既然.Net已经有了对socket的支持,为什么我还要使用Indy?”。这是一个非常值得一问的问题,而且有一个简单却有不是很显而易见的答案。
更多的协议
Indy比起其他库来实现了更多的协议。实现了多余120种协议和互联网标准。要查看Indy与.Net框架实现了的协议的对比,参见feature matrix。
健壮性
每个Indy所支持的协议都是健壮的,对每个协议都具有完备的支持。例如,就SMTP来说支持几乎你可以想到的诸如MIME,Base65,BinHex,QP,XXE以及UUE等等所有编码类型。FTP内建了几乎所有已知文件列表格式的file parser。有了Indy,要给已存在的协议添加额外支持的需要是罕见的。
易于使用
因为它的接口类型遵循的是阻塞模型,Indy是非常易于使用的。再也没有机遇事件的状态机需要管理了。每件事情按照顺序发生,就像访问文件那样。
Indy支持RAD
注意:这个特性目前还不能用于Visual Studio.net因为Visual Studio需要比起Delphi来说多得多的工作来支持窗体设计器的集成。这个特性位于我们的to do列表之上,但是目前还不可用。在将来的发布版中期待它的出现吧!
Indy的类可以在运行时很容易的构建使用,而且许多用户喜欢这样来使用。然而,Indy组件可以被可视化的创建,托放到窗体和自定义类上。这种方法让交互和配置属性与事件变得非常容易。自定义的服务器甚至可以这样通过可视化地构建command handler的方法来建立。
Indy是免费的
使用Indy或部署使用了Indy的程序是完全不需要任何费用的。
Indy是开放源代码的
Indy开发者是一大群专注且活跃的人们。Indy事实上包含好几个开发团队,但是主开发团队被称作Indy Pit Crew。Indy Pit Crew中有许多网络编程和协议方面的著名且在业内广受尊敬专家。
在用户社群的帮助下,Indy Pit Crew不仅能够快速的修正错误,还能够把Indy演进为规模更大且更优良的东西。
支持
与Indy是开放源代码的同时,使用Indy还能选择商业的支持。Atozed Software同时提供商业的支持以及Indy方面的咨询服务。通过它的Indy Experts Support Program,你可以获得优先的支持。只要事先购买点数(以30欧元购买40点起步),然后在每次使用时从你预付的点数中扣除。Indy Experts还是Indy Plus的一部分。
除了商业支持,Indy还有免费的社群互助支持,得到来自活跃的用户社群和Indy开发团队的帮助。
源代码
Indy以附带完整源代码的形式发布。它不但用Delphi写成,而且这份完整的源代码还使得你可以使用Delphi或者DebugCLR(这包含在Visual Studio之中,而且可以用于调试Delphi代码)来进行调试。再也不用猜测内部发生了什么,或者尝试着琢磨为什么事情不如你所愿。完整的源代码,完整的支持,完整的力量。
经过验证的
Indy是经过验证的——Indy已经有10年历史了而且在数以百万计的由几十几百人开发的软件的安装拷贝中使用着。Indy在小型的商用程序中,福布斯的500强中,政府部门中以及更多的场合中使用。可能你已经用过了包含Indy的程序,而你甚至都没有意识到它的存在。
灵活性
Indy的每一层都是可插拔的,包括RFC的应答,加密,身份验证,编码等等。通过实现所需的功能然后简单的把它注册到Indy之中就能添加新的功能。
可移植性
Indy更好移植,既能在语言之间也能在平台之间。
语言:
C#
C++
Delphi
JScript
Visual Basic
平台:
Linux
.Net Framework
Win32
Indy是单一源码的;单一源码的基础被用来支持所有这些平台和语言。
About the Author
Chad Z. Hower, a.k.a. "Kudzu" works for Atozed Software, and is the original author of both Internet Direct (Indy) and IntraWeb. Both Indy and IntraWeb have been licensed by Borland for inclusion in Delphi, Kylix and C++ Builder. Chad's background includes work in the employment, security, chemical, energy, trading, telecommunications, wireless, and insurance industries. Chad's area of specialty is TCP/IP networking and programming, inter-process communication, distributed computing, Internet protocols, and object-oriented programming. When not programming, he likes to cycle, kayak, hike, downhill ski, drive, and do just about anything outdoors. Chad, whose motto is "Programming is an art form that fights back", also posts free articles, programs, utilities and other oddities at Kudzu World. Chad is an ex-patriate who spends his summers in St. Petersburg, Russia, winters in Limassol, Cyprus, and travels extensively year round. Contact Kudzu.