.NET

.NET

Application and Data / Languages & Frameworks / Frameworks (Full Stack)
Avatar of Yshayy
Software Engineer

Our first experience with .NET core was when we developed our OSS feature management platform - Tweek (https://github.com/soluto/tweek). We wanted to create a solution that is able to run anywhere (super important for OSS), has excellent performance characteristics and can fit in a multi-container architecture. We decided to implement our rule engine processor in F# , our main service was implemented in C# and other components were built using JavaScript / TypeScript and Go.

Visual Studio Code worked really well for us as well, it worked well with all our polyglot services and the .Net core integration had great cross-platform developer experience (to be fair, F# was a bit trickier) - actually, each of our team members used a different OS (Ubuntu, macos, windows). Our production deployment ran for a time on Docker Swarm until we've decided to adopt Kubernetes with almost seamless migration process.

After our positive experience of running .Net core workloads in containers and developing Tweek's .Net services on non-windows machines, C# had gained back some of its popularity (originally lost to Node.js), and other teams have been using it for developing microservices, k8s sidecars (like https://github.com/Soluto/airbag), cli tools, serverless functions and other projects...

READ MORE
GitHub - Soluto/tweek: Tweek - an open source feature management solution (github.com)
29 upvotes2 comments530K views
Shared insights
on
.NET.NET

My first introduction to .NET was in the early alpha days, back in the early 2000s. In nearly the two decades that have passed since, it has matured into a very powerful platform. .NET as a platform has always had a great deal of polish that I haven't been able to find anywhere else. The ease of use and general technical excellence of the platform meant that I was delivering value at a consistent rate and with relatively little trouble.

That didn't make anything perfect, of course. The closed nature and the single platform that .NET was traditionally limited to took their toll. In particular, a bug fix that you found and reported might be fixed in the next release (18 months away) or not, with very little input or ability to understand what was going on.

And then the CoreCLR came along. In 2015, we made the decision to move the all of our applications and code into the CoreCLR.

That has been an amazing experience. The fact that I can dive into the source directly has made things so much simpler, and the fact that you can submit patches and interact directly with the core team has been an absolute joy. Our company has contributed several times (some code and mostly some interesting bug reproductions and perf issues) and has been continuously at awe at the level of commitment and (I have no other word) grace that we get from the team.

The fact that we can now run .NET code (and our product) on Windows, Linux, Raspberry PI(!) and Mac has been a great boon to us. We recently deployed our software to a whole lot of industrial robots running custom ARM boards. That is something that would have just been unimaginable every as much as five years ago.

In pretty much respects, the overall community, the core team, the engineering quality and the fact that it brings the polish that I've gotten so used to in environments where you are generally left cobbling things all by yourself means that it is my platform of choice for projects big and small.

READ MORE
Ayende @ Rahien (ayende.com)
28 upvotes28.8K views
Avatar of CmdrKeen
Co-founder & CEO at Raygun
Shared insights
on
.NET.NETNode.jsNode.js
at

The core Web application of Raygun is still a Microsoft ASP.NET MVC application. Not too much has changed from a fundamental technology standpoint. We originally built using Mono, which just bled memory and would need to be constantly recycled. So we looked around at the options and what would be well suited to the highly transactional nature of our API. We settled on Node.js, feeling that the event loop model worked well given the lightweight workload of each message being processed. This served us well for several years.

When we started to look at .NET Core in early 2016, it became quite obvious that being able to asynchronously hand off to our queuing service greatly improved throughput. Unfortunately, at the time, Node.js didn鈥檛 provide an easy mechanism to do this, while .NET Core had great concurrency capabilities from day one. This meant that our servers spent less time blocking on the hand off, and could start processing the next inbound message. This was the core component of the performance improvement.

We chose .NET because it was a platform that our team was familiar with. Also we were skilled enough with it to know many performance tips and tricks to get the most from it. Due to this experience, it helped us get to market faster and deliver great performance.

#Languages #FrameworksFullStack

READ MORE
How Raygun Processes Millions of Error Events Per Second - Raygun Tech Stack | StackShare (stackshare.io)
23 upvotes1 comment144.8K views
Avatar of CmdrKeen
Co-founder & CEO at Raygun
Shared insights
on
.NET.NETWordPressWordPressHugoHugo
at

There鈥檚 no doubt WordPress is a great CMS, which is very user friendly. When we started the company, our blog wasn鈥檛 really our top priority, and it ended up being hosted on a fairly obscure server within our setup, which didn鈥檛 really change much until recently when things become harder to manage and make significant updates.

As our marketing team increased, the amount of traffic that found us through our content marketing increased. We found ourselves struggling to maintain our Wordpress install given the amount of theme updates, plugins and security patches needing to be applied. Our biggest driver to find an alternative solution however was just how slow Wordpress is at serving content to the end user. I know there will be die hard fans out there with ways to set things up that mean WordPress sites can load quickly, but we needed something a lot more streamlined.

We could see in our own Real User Monitoring tool that many users were experiencing page load speeds of over five seconds, even longer in worst case scenarios. Hugo is an open source static site generator that has enabled us to reduce load times by over 500% and make our blog far more maintainable across the whole team.

The Raygun marketing site runs on a .NET CMS called N2 but we plan to swap that out with Hugo as well in future.

#StaticSiteGenerators #SelfHostedBloggingCms #SupportSalesAndMarketing

READ MORE
How Raygun Processes Millions of Error Events Per Second - Raygun Tech Stack | StackShare (stackshare.io)
19 upvotes2 comments52K views
Avatar of bananatron
Product Engineer at Loanlink.de

When starting a new company and building a new product w/ limited engineering we chose to optimize for expertise and rapid development, landing on Rails API, w/ AngularJS on the front.

The reality is that we're building a CRUD app, so we considered going w/ vanilla Rails MVC to optimize velocity early on (it may not be sexy, but it gets the job done). Instead, we opted to split the codebase to allow for a richer front-end experience, focus on skill specificity when hiring, and give us the flexibility to be consumed by multiple clients in the future.

We also considered .NET core or Node.js for the API layer, and React on the front-end, but our experiences dealing with mature Node APIs and the rapid-fire changes that comes with state management in React-land put us off, given our level of experience with those tools.

We're using GitHub and Trello to track issues and projects, and a plethora of other tools to help the operational team, like Zapier, MailChimp, Google Drive with some basic Vue.js & HTML5 apps for smaller internal-facing web projects.

READ MORE
8 upvotes199.8K views
Avatar of LadyNaggaga
Senior Program Manager - .NET Team at Microsoft

.NET Core is #free, #cross-platform, and #opensource. A developer platform for building all types of apps ( #web apps #mobile #games #machinelearning #AI and #Desktop ).

Developers have chosen .NET for:

Productive: Combined with the extensive class libraries, common APIs, multi-language support, and the powerful tooling provided by the Visual Studio family ( Visual Studio and Visual Studio Code ), .NET is the most productive platform for developers.

Any app: From mobile applications running on iOS, Android and Windows, to Enterprise server applications running on Windows Server and Linux, or high-scale microservices running in the cloud, .NET provides a solution for you.

Performance: .NET is fast. Really fast! The popular TechEmpower benchmark compares web application frameworks with tasks like JSON serialization, database access, and server side template rendering - .NET performs faster than any other popular framework.

READ MORE
.NET | Free. Cross-platform. Open Source. (dotnet.microsoft.com)
7 upvotes1 comment60.1K views
Avatar of Sparker73
Frontend Developer
Shared insights
on
Node.jsNode.jsJavaScriptJavaScript.NET.NETPHPPHP

Node.js is my choice because it uses very few resources to run and it is capable to handle tons of connections simultaneously. Most developers already know JavaScript, the evolution of ECMAScript is immediately reflected to Node.js and all you have to do is update your Server's Node.js version without time and effort. Thousands of improvements that makes it very powerful especially in asynchronous programming. The web is full of courses, dev communities, free sample code, plunkers and many knowledge sources on Node.js that facilitates the learning curve. What else we can ask from a legendary language that is still evolving? I am learning Node.js by developing a simple REST WebAPI and using it as a playground to test situations in which the main objective is to challenge Node.js and compare results and performance with .NET implementations and certain well known fast PHP implementations. Until now the results are astonishing. Summarizing: Node.js for backend is so far (in my opinion) the most recommended solution to get positive achievements in size, speed, power, concurrency, scalability, deployment and running costs.

READ MORE
7 upvotes23K views

I have been working in .NET for more than 10 years. As an architect, I understand that enterprises want to lower costs. Full .NET framework, although excellent, has lot of costs around it - starting from Visual Studio for development (Enterprises cannot use Community edition) to Windows Server licensing for hosting. .NET Core makes development faster, cheaper and accessible to anyone. It is easier to convince bosses to go with .NET Core than with the full framework. With Visual Studio Code, development teams can install it in minutes compared to the full day they had to submit their laptop to IT team to get full Visual Studio installed. .NET Core is also highly performant and has been my choice for an IoT project that I have been executing with microservices running in a Docker container managed by Kubernetes! Unless I have a specific need, I preach the gospel of .NET Core.

READ MORE
Mayank's Blog (blog.mayanks.page)
7 upvotes9.8K views
Avatar of qaerdogan
Developer at Prizma

Visual Studio Git GitLab MariaDB nginx Linux

Visual Studio 2019 is increasing my productivity incredibly when I building MVC WebAPI and Web project. GitLab is essential tools for me. Issue boards are great as well as Source code safe in GitLab. The most amazing thing is Microsoft's new strategy on .NET enviroment for me. I love .NET Core 's cross platform support. I can deploy my projects on Linux via nginx and .NET Core runtime or self host options. MariaDB become our first choose database option because of its great talents.

READ MORE
6 upvotes51.8K views
Shared insights
on
.NET.NETF#F#C#C#DockerDockerKubernetesKubernetes

I've used .NET for many years, but only in recent years, after Microsoft introduced .NET Core, I've found a new love and excitement for the technology again. The main driver for us using .NET Core is not that it is cross platform compatible, open source or blazingly fast (which it is!), but the fact that we can use (what we consider) the best programming languages (mainly F# and C#) to carry out our jobs without sacrificing the other benefits.

Today we run most of our web infrastructure on .NET Core in Docker containers, deployed into a Kubernetes cluster which spans across multiple time zones in the Google Cloud and we couldn't be happier. Due to the portability of the .NET Core platform we are even able to develop many new services as serverless functions with F# which has become an absolute game changer.

READ MORE
6 upvotes24.2K views