为何选择indy?
原文来自: http://www.sudu.cn/info/html/edu/20071227/54171.html
陆岛整理 2010-03-28
来自.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. Chads background includes work in the employment, security, chemical, energy, trading, telecommunications, wireless, and insurance industries. Chads 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.
-------------------------------------------------------------------------------------------------------------------------------------------
整理:陆岛 2010-03-28