Innovate
Your Software
Faster without Risk

FeatBit, a Fast & Scalable Open Source Feature Flags Management Tool built with .NET; Ideal for Self Hosting.
Table of Contents

Innovate Your Software Faster without Risk

A Fast, Scalable, and Open-source Feature Flags Management Service. For Cloud & Self-hosting.

Full-Stack .NET (C#) Feature Flagging Solution is Improving!

Last updated date:

Feature Management

Feature flag technology is becoming increasingly popular in the software development world, primarily because it helps deliver new features faster and more safely. As businesses grow faster and competition intensifies, many advanced companies implement feature flags for a variety of scenarios, both new and old:

  • Mitigate Delivery Risk: Use feature flags to decouple feature releases from code deployments. By utilizing if/else statements (or other conditionals), you can control feature visibility. You can add targeting rules to control feature visibility for different users, groups, or environments. Canary releases or progressive rollouts allow you to deploy features to a small group of users first, then to all users gradually. In case of any issues, you can immediately roll back only the problematic feature (or piece of code) without changing, rebuilding, or redeploying code.
  • A/B Testing: Feature flags enable you to split traffic into different groups and test various features or UIs, focusing on metrics such as conversion rates, user engagement, and user experience. This approach allows companies to collect experimental data and make decisions based on that data.
  • Feature Control: Use feature flags to manage access control based on user permissions or subscription plans. Feature flags can control feature visibility for different users, groups, or environments. More companies use feature flags for various purposes, allowing them to maintain a single code base to serve multiple use cases, including testing in production, canary releases, A/B testing, permission control, and entitlement management.

Feature flag technology combines all these capabilities into a single management center with a standardized code base, designed for one unified use case: Feature Management. It's not just a developer tool; it's also a productivity tool. Implementing the best practices of feature flag technology is becoming key to success.

.NET: An All-in-One Application Framework

.NET encompasses various frameworks to support different types of applications. It's now a full-stack application framework that supports web, desktop, mobile, IoT, and game development.

  • ASP.NET Core: A cross-platform, high-performance, open-source framework for building modern backend services and web applications.
  • WPF, WinForms, WinUI: Frameworks for building Windows desktop applications.
  • Blazor WebAssembly: A single-page application (SPA) framework for building interactive web applications using C# and .NET (without the need for JavaScript).
  • Xamarin/MAUI/AvaloniaUI: Cross-platform mobile application frameworks for building iOS, Android, Windows, and macOS applications.
  • Unity: A game development platform for building 2D, 3D, AR, and VR games.
  • Meadow/nanoFramework: IoT frameworks for building IoT applications.
  • ML.NET: A machine learning framework for building machine learning models using C# and .NET.
  • And more...

Many companies build their systems with .NET, and many .NET developers are full-stack engineers. This technology increases productivity and reduces the cost of hiring different types of developers.

The Essential Role of Feature Management in .NET (C#)

A full-stack .NET feature flagging solution offers flexibility and efficiency for companies and developers. The ideal solution provides a feature management platform that allows developers to manage features across all platforms and frameworks with a single code base. Most importantly, it should be open-source, easily integrated into existing systems, and extendable to support new use cases.

Full-Stack .NET (C#) Feature Flagging Solution is Improving

Many .NET-based teams use Microsoft Feature Management as their feature flagging tool. This solution is built with .NET (C#) technologies.

Microsoft Feature Management can be remotely controlled with Azure App Configuration. However, to avoid vendor lock-in and usage limits, many teams develop their own custom feature providers to use with Microsoft Feature Management. The downside of Microsoft Feature Management is that it can only control features by enabling or disabling them. This limitation prevents it from supporting A/B testing, marketing strategies, entitlement management, and permission control. In some specific scenarios, it is even difficult to use for canary releases.

Some teams use tools like LaunchDarkly, Split.io, Unleash, Flagsmith, etc. All these tools provide .NET SDKs for integrating with both backend and frontend applications. However, since these tools are not built with .NET (C#) technologies, teams face challenges when building their own custom feature flag management features:

  • Providers often lack comprehensive pricing structures.
  • Teams cannot build their own features based on these providers because they are not open-source and do not use a familiar technology stack.

With FeatBit's release of their .NET (C#) feature flagging client SDK, companies that use .NET (C#) technologies can now enjoy a more suitable solution for modern feature management. It meets the following requirements:

  • Open-source: FeatBit .NET (C#) is an open-source feature flags management solution, allowing developers familiar with .NET (C#) to easily build custom features on top of it.
  • Full-stack SDKs: FeatBit offers both .NET (C#) backend SDK and .NET (C#) frontend SDK, enabling seamless integration of feature flagging into full-stack .NET (C#) applications, including Blazor WebAssembly, ASP.NET, WPF, WinForms, MAUI, etc.
  • Rich Features: FeatBit .NET (C#) provides many advanced feature management capabilities, such as targeting rules, multiple variations, reusable segments, scheduled releases, approval workflows, rich webhooks, permission control, and audit logs.
  • Comprehensive Pricing: FeatBit .NET (C#) offers a fully free professional edition, which is sufficient for many use cases. Larger companies can also choose the enterprise edition, which has comprehensive pricing.
  • Continuous Improvement: FeatBit aims to provide the best feature management solution. For example:
    • It plans to become a custom feature provider for Microsoft Feature Management.
    • It plans to offer seamless feature flag integration with companies' existing permission control and entitlement management systems.
    • It continuously improves the .NET (C#) SDKs to ensure a better developer experience.
    • It aims to offer support for preprocessor directives as a form of feature flagging.
    • It is exploring ways to involve Artificial General Intelligence in feature flagging.

Conclusion

Feature Management and .NET technology are both making great strides in the software development world. A reliable tool is crucial for improving developer productivity and company efficiency. .NET deserves a dedicated and powerful feature flagging solution that helps developers manage features across all platforms and frameworks with a single code base.