InfoPath Form vs. Custom Web Part

I was recently asked a question regarding when should one consider creating a custom web part vs. just creating an InfoPath form.  As much as I love writing code it is my experience that whenever I don’t have to write code and can use some other tool or re-use code then this is indeed nirvana.  With that said the answer to the question posed is, if I can do it in InfoPath then I will choose that 100% of the time over writing a custom web part.  The help understand my decision here are a listing of Pros and Cons of each to help you decide.

 

Web Parts

Pros

· Fully customizable

· Extremely flexible data validation

· Only requires WSS or Standard SharePoint License

Cons

· Need to be developed in .Net by a developer

· Complex to deploy

· Workflow Integration not trivial

· Updates need to be customized via development process

InfoPath

Pros

· Easy to create, can be delegated to Power User familiar with Office applications

· Easy to deploy via Form Library

· Integrates seamlessly with Workflow

· Can be created without Developer skills

· Can be used offline via the InfoPath Client

· Easily updateable and the latest version is always downloaded to the client.

Cons

· Limited to the use of InfoPath controls

· Limited to the data validation rules of InfoPath

· Need Enterprise SharePoint License to run Forms in browser