Salesforce provides programmatic access to your organization’s information using simple, powerful, and secure application programming interfaces (APIs). APIs open up a platform to developers and enable them to explore different ways to integrate platform capabilities within their own applications.
Until recently, all that was available to developers using the Microsoft .NET Framework – and consequently building applications for Windows, Windows Phone, and even Silverlight – were the APIs themselves. We love .NET developers (I’m one myself), and there is a large constituent of .NET developers within the Salesforce community. That’s why we’re proud to announce that last week we released the Salesforce Toolkits for .NET, specifically targeting the Force.com REST APIs and the Chatter APIs.
The Salesforce Toolkits for .NET provide native libraries for interacting with Salesforce APIs, including the REST API and Chatter API. These toolkits make it super simple to consume services from Salesforce within .NET applications by packaging them up as NuGet packages, thus handling deployment and versioning. These toolkits give .NET developers the ability to take their expertise and skills and apply it to a whole new set of applications that are built on Salesforce while also letting them integrate Salesforce better into their existing applications.
The toolkit is comprised of the following:
- A set of native libraries for the Microsoft .NET Framework.
- NuGet packages for easy deployment and versioning.
- Sample applications to get you started.
There were a few key design principles followed when designing and building these toolkits:
- Provide support for as many modern Microsoft platforms as possible with the same core library. To accomplish this, the toolkits makes use of Portable Class Libraries to enable use on the following platforms: Windows 7 (.NET 4, .NET 4.5), Windows 8, Windows Phone 8, and Silverlight 5.
- Avoid performance bottlenecks and application blocking. To accomplish this, the toolkits make use of the Async and Await pattern for asynchronous programming.
- Allow developers to take advantage of dynamic objects so that they don’t necessarily have to create classes to represent every Salesforce object.
- Provide the support for key operations and enable the community participate in active development of the toolkits. You will see that our policy for contributions is extremely permissive – we want you to participate!
- Use NuGet packages as the primary delivery mechanism while allowing access to the underlying source code. Furthermore, give developer’s access to the latest development/test packages.
Where Can I Find the Bits?
You can find all the source code in Github:
The NuGet packages are published here:
How Do You Get Started?
The easiest way to get started today is to use the NuGet packages.
Take a look at the repositories and review some of the sample code that shows you how to generate access tokens, make Force.come REST API calls, and use the Chatter API. You can take a look at the available sample applications and I also recommend reviewing the Force.com functional tests and Chatter functional tests for insight into the libraries.
Take a look at two great posts from members of the community:
- Richard Seroter (@rseroter): Using the New Salesforce Toolkit for .NET
- Nathen Dress (@nadrees): Force.com Toolkit for .NET Initial Review
There is certainly more to do. Here’s a short list of additional ideas (not necessarily prioritized):
- Continue to provide more support for API operations. We’re only scratching the surface today.
- Visual Studio extension for interacting with Salesforce.
- Lots more samples. If you’re at all interested in getting involved, this is a great way. I’d love to work with you.
- Support for other APIs, such as the Streaming API, SOAP API, Toolking API, and so on.
- Webinars and hackathons for .NET developers.
- Lots more blogging and discussion about the toolkits and how to use them.
At the end of the day, the purpose of the Salesforce Toolkits for .NET is to make it easier for .NET developers to build amazing applications using .NET and Salesforce. This release is just the first step; there’s certainly more to do, and a lot of opportunity for you to get involved.