bflat
CoreWCF
bflat | CoreWCF | |
---|---|---|
27 | 24 | |
3,474 | 1,601 | |
0.7% | 0.8% | |
6.9 | 7.7 | |
about 2 months ago | 1 day ago | |
C# | C# | |
GNU Affero General Public License v3.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bflat
-
Borgo is a statically typed language that compiles to Go
The sibling pretty much sums it up. But if you want more detail, read on:
Generally, there are three publishing options that each make sense depending on scenario:
JIT + host runtime: by definition portable, includes slim launcher executable for convenience, the platform for which can be specified with e.g. -r osx-arm64[0].
JIT + self-contained runtime: this includes IL assemblies and runtime together, either within a single file or otherwise (so it looks like AOT, just one bin/exe). These requires specifying RID, like in the previous option.
AOT: statically linked native binary, cross-OS compilation is not supported officially[1] because macOS is painful in general, and Windows<->Linux/FreeBSD is a configuration nightmare - IL AOT Compiler depends on Clang or MSVC and a native linker so it is subject to restrictions of those as a start. But it can be done and there are alternate, more focused toolchains, that offer it, like Bflat[1].
If you just want a hello world AOT application, then the shortest path to that is `dotnet new console --aot && dotnet publish -o {folder}`.
[0] https://learn.microsoft.com/en-us/dotnet/core/rid-catalog
[1] https://github.com/bflattened/bflat (can also build UEFI binaries, lol)
-
Learn how to build beautiful and interactive .NET command-line applications using System.CommandLine and Spectre.Console with my latest blog post
See here
-
Question about NativeAOT platform support
See B flat
-
Native AOT Overview
I've been wondering how to integrate modern .NET Core into a custom build system (buck2) and was wondering similar things. There's this project I think is cool called bflat[1] that basically makes the C# compiler more like the Go compiler in the sense it's a one-shot single-use tool that can cross compile binaries natively. It's done by one of the people on the .NET Runtime team as a side project, but quite neat.
I think in practice you're supposed to compile whole .dll's or assemblies all at once, which acts as the unit of compilation; I don't think the csharp compiler generates native object-files-for-every-.cs, the kind of approach you'd expect from javac or g++. Someone please correct me if I'm wrong though! I'd like to learn more about this.
[1] https://github.com/bflattened/bflat
-
If you were stuck on a remote island, would you pick C# as your programming language
You can compile without a GC using https://github.com/bflattened/bflat
- AOT
-
Hey people, made a game for my CS homework as a freshman using C#, what do you guys think about it?
nice. have you tried compile it using https://github.com/bflattened/bflat to have native executable? as long as you don't have PackgeReference it can be compiled using bflat instead of full dotnet
- Bflat – a single ahead of time crosscompiler and runtime for C#
-
bflat - Build native C# applications independent of .NET
The creator actually addresses this issue:
CoreWCF
-
How do I approach migrating from .net framework WCF to .net core web api
CoreWCF might be of some use.
-
Having a heck of a time getting WCF web.config working correctly.
You can open a discussion in the CoreWCF repo:
-
Why WCF? Am I wrong for hating it so much?
In the later versions you could avoid almost all the XML mess by configuring all of the settings in code. The experience is pretty close to gRPC imo, one plus point is you don't need to learn how to write proto classes. Though you could use protobuf-net for a similar experience. I'm kinda hopeful with CoreWCF, they aim to support more transports (including event gRPC) in the future along with queues other than MSMQ and slowly evolve from being too SOAP specific. There's a lot of potential still for WCF to be a transport agnostic framework that ecompass a lot of transports.
- OpenAPI vs SOAP and WSDL
-
.NET 7 is Available Today
On our end, it's WCF for some servers that haven't been upgraded over. Though it seems we have a path forward for that now with CoreWCF that we're working towards.
-
Bring WCF apps to the latest .NET with CoreWCF and Upgrade Assistant
There's ongoing work on adding generic queue support. The first two concrete implementations should be MSMQ and RabbitMq from what I recall, though MSMQ will be windows only. But the nice thing about the work is it also opens up other types of message queues for WCF (e.g. Azure Service Bus, RabbitMq, Amazon SQS etc...).
- .NET 6 is now in Ubuntu 22.04
-
CoreWCF 1.1.0 release and project templates
It's seems there's already design work started for a generic queue concept here. I'm pretty interested to see how it goes as well as that'll be a big part for CoreWcf to move forward as a viable choice for greenfield projects and not just a way to migrate existing Wcf projects to Core.
-
Questions about OWIN and WCF from a high level.
The ongoing .net core port called CoreWcf plans to realize that goal as a future feature on it's roadmap. Where there's plans on adding new transports that didn't exist on .net framework wcf like Grpc, Azure Service bus, Amazon SQS, rabbitmq etc...
-
CoreWCF v1.0.0 released and comes with official support from Microsoft
If you hit any difficulties or have any problems, feel free to jump on the gitter channel. Details for that are in the repo contributing guide.
What are some alternatives?
asdf-dotnet-core - ✨ .Net Core plugin for asdf version manager
SoapCore - SOAP extension for ASP.NET Core
zerosharp - Demo of the potential of C# for systems programming with the .NET native ahead-of-time compilation technology.
Introducing .NET Multi-platform App UI (MAUI) - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project
dmd - dmd D Programming Language compiler
dapr - Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
centos-stream
wcf - This repo contains the client-oriented WCF libraries that enable applications built on .NET Core to communicate with WCF services.
vscodium - binary releases of VS Code without MS branding/telemetry/licensing
zeebe-dapr-example - An example that allows to orchestrate Dapr microservices with the Zeebe process engine.