Developers of SharePoint should be giddy with excitement in all of the tools and features coming out of Visual Studio 2010 and SharePoint Designer 2010. Here are the biggest take-a-ways from Paul Andrew’s talk on the 2010 developer platform:
1. “Save site as template” now exports as a WSP which can be imported into Visual Studio 2010 as a new project
2. BDC is now Business Connectivity Services which supports full Create, Read, Update, Delete calls to sources, plus Office 2010 integration using new SharePoint Designer 2010 tools
3. LINQ to SharePoint to replace complex CAML queries in code. Strongly typed, intelli-sense, joins and projections
4. Developer Dashboard displays call stack, load time, and other valuable data to debug and review code
5. Relationships between lists, supporting cascade deletes (transactions are actually handled on SQL Server)
6. Large List? No problem! Just be certain of data in views. Use throttling and indexes for performance. 10’s to 100’s of thousands of documents = no problem.
7. Column Validation – lets us add validation logic when defining columns
8. Client Object Model – simple API to Add, Retrieve, Update and Manage data. Commands are batched for performance:
ClientContext cnt = new ClientContext (“http://siteurl”);
Web site = context.Web;
site.Title = “Something New”;
9. Rest APIs – uses ADO.NET Data Services. Out of the box services in SharePoint. Retrieve data off of site in 3 lines of code.
10. Better Events and Workflow. Event Receivers and Workflows now possible at the site scope level (workflow does not bind to a list). Event receivers can run asynchronously
11. Easily build dialog forms using AJAX.
12. Silverlight web part out of the box. - code doesn’t need to run on server!!!
13. Sandboxed Solutions – can monitor counters on server (CPU, RAM, etc.) to automatically shutdown bad code. Uses a proxy worker process so not direct access to Microsoft.SharePoint.dll
14. WSP is the unified developer platform (for both Site Collections and local machine)
15. Integration with Team Foundation Server (TFS): work item tracking, source control, team build, manage test cases, automated testing, and load testing!