Why .NET Core? Advantages of .NET Core for your project
At mobitouch, we like to keep up with the most recent innovations in the tech industry and happily add new tools to our tech stack. However, we also make sure to build strong support for battle-tested and proven programming languages and frameworks. The secret behind our success is this approach to building expertise in-house. One of our core company competencies lies around .NET Core, an open-source development framework created by Microsoft that has so far allowed us to build many different test applications.
Read this article to learn what .NET Core is, what its key advantages are, and what kind of application you can build it with on the example of our successful case study.
What is .NET Core?
.NET Core is a free, cross-platform, and open-source framework for software developers. The idea is to enable development teams to build many different types of applications in one place. By using .NET Core, developers can take advantage of multiple editors, programming languages, and libraries to build web or mobile applications, desktop apps, games, and even the Internet of Things.
Developers who use .NET Core write applications in C# and F#. These are all modern programming languages that help developers to develop cross-platform applications supporting different formats. Moreover, .NET Core is surrounded by a rich package ecosystem allowing teams to easily extend the functionality of this practical framework.
Benefits of .NET Core
- Extended class library – instead of writing a lot of code manually to handle some common low-level programming operations, developers can take advantage of the readily accessible library types and members from the .NET Core framework class library.
- Common type system – in traditional programming languages, basic types are defined by the compiler, and that complicates cross-language interoperability. The .NET Core framework defines the basic types that are common to all of the languages it targets.
- Excellent memory management – in many programming languages, developers are responsible for allocating and releasing memory and handling the object’s lifetime. In .NET Core, the CL provides all of these services.
- Language interoperability – by using .NET Core, code written in one language becomes accessible to developers who write code in other languages. As a result, developers can keep on building applications using their preferred language.
.NET Core expertise at mobitouch – Meetfaces Trading case study
Meetfaces Trading is an innovative business platform dedicated to companies across various sectors. It allows businesses to access extra advertising space by adding an editable company offer, featuring an infinite number of updates with text files, images, or videos. Ultimately, the platform helps to boost the advertising of the company’s products or services.
The primary objective of the project was developing an advanced portal that would enable companies to present their business cards, including full business offers from practically any sector. One of the key functionalities our team needed to implement was the ability to add job offers and company equity sale offers.
Meetfaces Trading is a large system that consolidated companies from many different sectors. It differs from the solutions on the market because it offers mediation between companies that set up their business cards and financial institutions or employee benefits systems (such as private medical care or sports products).
Moreover, our team had was tasked with the visual design of the individual business cards so that they would look like dedicated web pages. The key idea behind the Meetfaces Trading was helping companies that never had their own websites to build their presence on the internet.
- .NET Core 3.1
- MSSQL Server
- MongoDB (NoSQL database)
The biggest advantage of microservices architecture is that teams can independently develop, maintain, and deploy each microservice. Microservices applications scale better because they can be scaled separately when necessary. They also reduce time to market and speed up the CI/CD process, which means greater agility. Besides, isolated services have better fault tolerance. After all, maintaining and debugging a lightweight microservice is easier than doing the same in a complex monolithic application.
Identity server allowed for the introduction of single sign-on (SSO), a centralized session, and user authentication service where a single set of login credentials can be used to access multiple applications. With a single security token (username and password pair), you can enable or disable user access to multiple systems, platforms, applications, and other resources.
gRPC is a modern, open-source, high-performance RPC platform that can run in any environment. It efficiently connects services in and across data centers with plug-in support for load balancing, tracking, health checking, and authentication. It’s also applied in distributed computing to connect devices, mobile applications, and browsers to backend services. The gRPC protocol allowed us to quickly communicate and exchange data between microservices.
This is a document database that we used to search and retrieve large amounts of data that would be problematic with traditional SQL and the response time would be too long.
DDD (Domain driven development)
Domain-driven design gives developers principles and patterns for solving difficult problems in software and sometimes in business. Domain-based design creates the business logic explaining the requirements from the domain’s perspective
Why did we use .NET in this project?
.NET Core was an excellent technology choice for this project. It allowed us to easily write an integration test and ensure that the application could be scalable and efficient. Our implementation was based on Docker containerization, and .NET Core also allowed us to create as many environments as we wanted with just one click.
If you would like to learn how we could use .NET Core in your project, get in touch with us. Our team has the experience and skills to take full advantage of technologies like .NET Core for projects realized for businesses in practically every sector.