SharePoint development tools
Microsoft has a number of tools that can be used to create business solutions including Visual Studio, SharePoint Designer, and InfoPath Designer.
Visual Studio
Visual Studio 2010 provides a robust environment for developing solutions for SharePoint 2010. Unlike previous versions, there is native support for most of the base project templates. It also natively supports the packaging and deployment process, producing the full feature and package objects and also supports automated deployment and retraction to/from the local SharePoint server to support development efforts.
In addition to the default templates provided by Microsoft, there is an additional community driven project that can add additional or customized project templates under the Community Kit for SharePoint Development (CKS:Dev) project available on CodePlex (http://cksdev.codeplex.com/).
In addition to any server-side development, Visual Studio can also provide a rich development experience for Client-side development of scripts and xsl, though it cannot be used to edit a SharePoint page directly or publish scripts to SharePoint outside of a SharePoint WSP package.
SharePoint Designer
SharePoint Designer 2010 is a free tool targeted to Site Administrators and Information Workers. It excels as a tool that can be used for site level administration and customization. Since it connects to and interacts directly with a specified site, customizations can be deployed directly by the user, without administrator assistance. This makes SharePoint Designer an incredibly important tool in either cloud environments or environments with a strict server change control policy.
Through SharePoint Designer, you can create or customize the following:
InfoPath Designer
InfoPath Designer 2010 is a tool that is included with the Office 2010 Professional Plus suite. It can be used to create electronic forms that can be submitted to a SharePoint library. The forms can configured to either open in the local InfoPath Filler client or with SharePoint Server Enterprise you have the option of deploying the forms as Web Enabled forms to Forms Services. InfoPath Designer can also be used to customize the default SharePoint list and library forms for New Item, Display Item, or Edit Item pages allowing much more robust forms far easier than creating custom Application Pages in Visual Studio.
The InfoPath Designer tool is targeted to Developers, Information Workers, and Power Users able to generate office forms and templates. It provides an easy to use graphical interface for defining form fields and easy to use property windows to configure business rules and back end data connections. It has the ability to easily connect to data sources including SharePoint lists, SQL databases, and web services including SharePoint's own web services.
When publishing the forms, you have the ability to publish it as a Content Type along with the ability to specify the form fields you would like to include as Site Columns or Library Columns. This allows you to map form fields and data to metadata available within the library. In many cases InfoPath forms are developed in conjunction with custom workflows to automate the form submission and processing previously handled by paper based processes.
For advanced cases, there is also support for including managed code inside of the InfoPath forms. While including this code complicates the overall development and deployment process, it does offer flexibility to organizations that do not have developers available to create custom Application Pages in Visual Studio. It is important to note that including managed code is not supported in Office 365 or on many cloud based environments.