Why Indy?
A common question from .NET users is: "Why should I use Indy when .NET has
socket support?". This is a very reasonable question, with simple but not
immediately obvious answers.
More Protocols
Indy implements more protocols than any other library. More than 120
protocols and Internet standards have been implemented. To see the protocols
Indy implements versus the .NET framework please see the feature
matrix.
Robustness
Each of Indy's protocols is robust with rich support for each protocol. For
example, SMTP has support for every encoding type you could imagine with MIME,
Base64, BinHex, QP, XXE, and UUE. FTP has built in file parsers for almost every
known file listing format. With Indy, the need to add additional support to
existing protocols is rare.
Ease of Use
Indy is very easy to use because its interface follows the blocking model.
There are no event based state machines to manage. Everything happens in a
sequence, just like accessing a file.
Indy is RAD
Note: This feature is not currently available in Visual Studio.NET because
Visual Studio requires significantly more work to integrate with the form
designer than does Delphi. This feature is on our to do list, but is not
available at this time. Watch for it in a future release!
Indy classes can easily be used by constructing them at runtime and many
users prefer it this way. However Indy components can also be visually created
and dropped on forms or custom classes. This method allows for easy interaction
and configuration of both properties and events. Custom servers can even be
built visually by constructing command handlers.
Indy is Free
There are absolutely no costs to use Indy, or deploy an application that uses
Indy.
Indy is Open Source
Indy is developed by a large team of dedicated and active people. Indy
actually consists of several teams, but the main development team is referred to
as the Indy Pit Crew. The Indy Pit Crew consists of many networking and protocol
experts who are well known and respected in the field.
With the help of the user community, the Indy Pit Crew is able to not only
fix issues quickly, but also rapidly evolve Indy to bigger and better
things.
Support
While Indy is open source, Indy also has commercial support options. Atozed
Software offers both commercial support, as well as consulting on Indy. Through
its Indy Experts Support program you can receive
priority support on a per incident basis. Simply purchase units (Starting at 30
Euros for 40 units) and each incident is deducted from your prepaid units. Indy
Experts is also available as part of Indy Plus.
In addition to commercial support, Indy also has freely available peer support
with a very active user community and with the help of the Indy team.
Source Code
Indy comes with full source code. While it is written in Delphi, full source
code still allows you to debug using either Delphi, or DebugCLR (Which is
included in Visual Studio, and will debug Delphi code) to see what is going on.
No more guessing about internals, or trying to guess why something is not
working as you expect. Full source code, full knowledge, full power.
Proven
Indy is proven - Indy has been around for over 10 years now and is in use in
millions of installations from software developed by tens of thousands of
developers. Indy is in use in small businesses, Fortune 500's, government and
more. Chances are you have used software that uses Indy without even knowing
it.
Flexibility
Every layer of Indy is pluggable, including RFC replies, encryption,
authentication, encodings, and more. New functionality can be added by
implementing the desired functionality and merely registering it with Indy.
Portability
Indy is more portable, both in terms of languages and platforms.
Languages:
- C#
- C++
- Delphi
- JScript
- Visual Basic
Platforms:
- Linux
- .NET Framework
- Win32
Indy is single source; a single source base is used to support all of these
platforms and languages.
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.
|