Why Companies Are Choosing Salesforce Over .NET

June 1, 2016

The Microsoft .NET framework has been around for more than 15 years, making it the “establishment” programming model for the Windows platform. Recently, at companies with both .NET and Salesforce investments, I have seen an increasing eagerness to develop applications that would traditionally be on .NET on Salesforce. 

Salesforce introduced an entirely new way of developing applications in the Cloud with a combination of a Software as a Service (SaaS) with a highly configurable Platform as a Service (PaaS). The combination of interoperable and complementary SaaS and PaaS platforms from one vendor created a new level of flexibility with the ability to create application functionality without needing custom code combined with the availability to use code when desired. 

When I am asked to guide the conversation about .NET versus Salesforce, here are the key advantages I consider:

  • Speed to Deployment
  • Clicks over Code
  • Technical Debt
  • Availability of Resources

Capability for Quick Innovation

In this section I’ll cover Speed to Deployment, Clicks Over Code, Technical Debt

In the business world today, constant innovation is necessary in order to remain an industry leader and meet customer demands. Technology advancement must maintain a rapid pace. The vast majority of Microsoft .NET applications were built entirely through code while Salesforce contains many features and functions that are configurable with the program’s built-in customization tools. This lower reliance on code to create functionality enables much faster innovation while minimizing technical debt.

Additionally, Salesforce releases new versions of its software 3x per year on a regular cadence. Features are immediately available to users, though they can be turned on or off after a release. Microsoft does not maintain a regular release schedule for .NET, and when releases do come out they often contain incompatibilities with old versions, requiring re-engineering of existing apps before integrating new features.

User Experience and Adoption

In this section I’ll cover Clicks Over Code

The user interface and experience are what determine the adoption of a technology. Because of the importance of perfecting the interface, there are developers on the .NET platform who specialize in UI. Specialized code knowledge is required in order to design interfaces that scale across multiple devices on .NET.

On the other hand, Salesforce built their new UI design system, the Lightning Experience, as largely configurable without code. Applications built in Lightning automatically scale for all device sizes. Another aspect of a positive user experience requires technology to be intuitive and easily accessible. Salesforce’s tools for analytics and reporting can be built out without code, making it easy for users to access the data that is crucial to their jobs without relying on the IT team.

Financial Cost

In this section I’ll discuss Availability of Resources

The long-term cost of maintaining software, building an application, or using a particular platform comes down to the skill set required in order to keep the technology viable and available for use in your business. Because of Salesforce’s ability to be configured without code, a smaller developer force is required to keep it functional and useful than a traditional all-code platform.

There’s a growing demand for applications to work with Salesforce due to its surging prominence as the CRM of choice. When developing a new application, the .NET platform requires developer teams who can work on development from the .NET side and a separate team with different skill sets is usually required to build integrations into Salesforce. In contrast, with Salesforce a single set of developer resources and skill sets can be re-used for configuration and coding, and integration is built-in, because we are building natively on the Salesforce Platform.

Salesforce will continue to grow as a choice for companies looking to develop new applications or adopt new software due to its customer-centric design. Companies buy technologies to drive business outcomes and this is where Salesforce has placed its focus as well. With the combination of SaaS and PaaS, Salesforce outdoes traditional coding frameworks in cost, experience, and functionality.

Summary of Advantages of Salesforce over .Net

  • .NET development is almost entirely code-driven whereas Salesforce was designed to allow for configuration without code.
  • .Net development requires an additional set of tools to develop - one for .Net, and one for Salesforce. Development on the Salesforce Platform only requires a single set of tools. Additionally, code management, version control, and continuous integration are far easier to manage using Salesforce tools.
  • .NET’s reliance entirely on code creates higher technical debt because the cadence of innovation is slowed.  Salesforce’s ability to be customized with configuration tools rather than code means that it requires a smaller developer force because administration of the program can be done by admins who do not know coding languages. 
  • .Net development will require additional work & complexity for integrations to be created to talk to/share objects and records in Salesforce Platform.  In contrast, Apex and Visualforce are native languages that run directly on Salesforce Platform, have direct access to Salesforce objects and records, etc.
  • .Net development requires a long time to develop before engaging end users with the ability to demonstrate feature-rich mockups and/or working applications.  In contrast, with Force.com feature rich mockups can be delivered in days to demonstrate User Experience to the business to help drive adoption.
  • .Net development yields user interfaces that are typically quite poor / clunky, unless a UI/UX expert is engaged.  Development on Salesforce Platform using Lightning Experience with the Lightning Design System will produce a far superior, modern UI - with less effort.
  • Applications developed on Salesforce Platform using Lightning Experience with the Lightning Design System will run on tablets and mobile devices with responsive design (the UI adapts to the device characteristics).  .Net development to accomplish this is much more complex.
  • .Net users do not benefit from a regular cadence of new releases including new features and capabilities updates.  New releases do not appear on a regular rotating schedule.  New releases of Salesforce Platform occur tri-annually and developers can take advantage of new features immediately.
  • .Net releases typically introduce incompatibilities which can break existing .Net applications.  Very often, Microsoft will recommend that applications remain on older versions of the framework - meaning they lose access to new features.  In contrast, applications developed on Salesforce Platform benefit directly from any or all new features and capabilities, which are controlled by configuration settings to either enable or disable them.
  • .Net will require additional development work to be performed for Reporting, Dashboards, and myriad other analytics capabilities that might be required.  These capabilities are built in natively on Salesforce Platform, and require only configuration to setup.

In summary, I would not recommend .Net UNLESS the customer already has an existing app built on .Net that they want to re-purpose to Salesforce, and they are willing to accept the poor UI and other tradeoffs. Whereas, for any net-new development, their best option by far is to develop using Salesforce Platform / Config / Apex + Visualforce.

To learn more about how the best IT teams are leveraging Salesforce to achieve business goals, download the special report with data gathered from over 1500 users.

1602_SOSF Social Ads IT TW.png

See More