As a developer, your mission is to deliver professional applications that meet your customer requirements on time and within budget. To achieve this goal, professional developers incorporate components into their applications. A component is basically a collection of functions that are packaged in a particular way. The functionality may be anything from low level disk I/O to advanced encryption algorithms. They may be packaged either as a language-specific class library or set of subroutines or as a generic component that can be used from a variety of tools. This could be an ActiveX control (aka OCX), DLL, OLE server, COM object or Java Bean. Here are the best controls and development productivity tools for your review.