Making e-commerce modern and performant with .NET 7
Customer
nopCommerce
Products & services
.NET
ASP.NET
Azure
MS SQL server
Industry
Professional Services
Organization Size
Small (1-49 employees)
Country/region
Armenia
As the e-commerce market grows and expands, online store owners and businesses know that in order to compete online, they need a streamlined platform for their clients and customers to interact with their business. Store owners, as well as developers, want modern, personalized, secure, and compliant solutions. With fulfilling these needs in mind, nopCommerce created a free .NET open-source e-commerce platform with built-in enterprise features and an intuitive architecture for creating an e-commerce store. Founded in 2008, nopCommerce has become a popular ASP.NET e-commerce solution and is used in over 60,000 online shops ranging from small/medium, enterprise and global businesses too. This open-source platform has 1,500+ integration offerings like plugins, themes, and language packs and over 250,000 worldwide community members. It has been downloaded over 3 million times and a lot of this popularity is due to a modern, performant platform running on .NET 7.
nopCommerce is a platform built for developers too. With the help of Microsoft technologies, nopCommerce has become a flexible solution that enables e-commerce entrepreneurs to create their own web store without having to code or hire specialists. The nopCommerce developer community has more than 250,000 active members. They contribute to the open-source GitHub repository, which means everyone always has access to the latest version of nopCommerce all the time. nopCommerce runs on .NET 7 which is cross-platform – so it can run on any platform, Windows, Linux or Mac and is also fully compatible with Azure.
nopCommerce has an enterprise-level architecture - a very strong example of what a .NET developer should be looking at the front-end, business logic, mid-tier, and database level."
We like nopCommerce because it's a platform with a very well-structured architecture that enables its modification greatly since it's open source. nopCommerce can be easily adapted to cover the needs of every one of our customers."
Becoming a highly scalable and customizable e-commerce platform
In 2008, they came up with the idea to create a free open-source platform due to the absence of a comparable solution. This platform would offer businesses boundless opportunities, opening up new horizons for their growth and success. To create a more reliable and easily adjustable platform, the nopCommerce team decided to move the e-commerce platform to ASP.NET MVC technology in nopCommerce version 2.0 from ASP.NET web forms in the very first release. This change enabled our core team and other developers to build new features and make development faster and more agile. Also, ASP.NET MVC did not only ensure necessary outcomes but also created an ecosystem for third-party developers to contribute into or adjust code based on their own specific needs. Before that, in 2009, nopCommerce introduced a solution partnership program to cover the specific and sophisticated needs of merchants. As a result, the community started to grow in number and active participation grew in the development of the e-commerce platform.
The e-commerce platform started to become an enterprise solution and gained popularity within many online businesses. The performance of the nopCommerce platform was always a high priority so the nopCommerce team decided to move to ASP.NET Core. This enabled the platform to become a cross-platform, headless application. Immediately, the team created an operating system-agnostic nopCommerce platform that ran on Windows, Linux and iOS, and enabled Docker support. It was a substantial development, as an e-commerce store on nopCommerce could now be customized and scaled by .NET developers with their preferred operating systems. Furthermore, all merchants could also manage their stores regardless of which corporate and personal operating system they were running.
Raising performance and capabilities
The latest major nopCommerce release, version 4.60, has been updated to .NET 7. It has made the platform more flexible and transferable by bringing unification of developing cross-platform applications. The update allows the nopCommerce team and other developers to customize and build an application with features of a nopCommerce store, as well as for different types of devices, and with centralized management with ease.
Every time there's a major update of nopCommerce, an increase in overall performance measures, like optimized response time and load distribution, has been observed. The most recent update and visible differences in performance are between the 4.30 (on .NET Core 3.1), 4.40.4 (.NET 5) and 4.50 (on .NET 6) versions. Before showing the results, it's helpful to describe the methodology behind them.
Methodology
The nopCommerce team used the test tool, loader.io, a fairly well-known SaaS service, to gauge load and scalability. The server hosting the deployed application was a standard development machine:
- CPU: 3.00 GHz Intel(R) Core(TM) i5-7400
- RAM - 16.0 GB
- IIS 10(10.0.19041.1415)
- Windows 10 Pro (19044. 2604)
The team also used a common database that was set up with the program. These were all controlled by MS SQL Server 2019. (19.0.2000). They selected a test setup that would link 250 people in a minute in order to mimic the load. Users would browse a selection of arbitrary application sites. These would be sufficient to show the platform's overall response and show how things differ from earlier iterations.
Results
By updating to .NET 7 in the nopCommerce 4.60, the response time was reduced by 13.6% compared to the 4.50 (.NET 6) version and 53.3% compared to the 4.40.4 (.NET 5) version.
The most noticeable and influential outcome was represented in a reduced response time of 4.50 by 65.3% compared to 4.30 (.NET 6 compared to .NET Core 3.1.) and by 46.1% to 4.40.4, alongside smoother load distribution with fewer bursts.
Load distribution in 4.50 - .NET 6
Load distribution in 4.60 - .NET 7
The nopCommerce platform achieved these benchmarks because of migration to .NET 6 from .NET 5 that was in the 4.40.4 release and the more recent migration to .NET 7 in the 4.60 release. These .NET updates have created a better cross-platform (Windows, macOS, Linux) framework. Certainly, there have been even more improvements in capabilities and productivity due to architecture improvements, source code refactoring and bug fixing. To learn details of the migration process and outcomes, read the Update to .NET 7: what updates it brings and how it may improve a software article on the nopCommerce blog.
To obtain the latest release of the platform with source code, go to the Download nopCommerce page. Learn more about current core development tasks and roadmaps for upcoming releases from the project's nopSolutions/nopCommerce GitHub repository.
If you are a .NET developer looking for an e-commerce platform, you should consider nopCommerce. It is both a great extensible e-commerce platform and supports the latest versions of .NET."
Ready to get started?
Learn .NET easily with our step-by-step tutorials.