Iceshrimp: A #csharp fediverse platform
Was just told (by @Subversivo ) about this: https://iceshrimp.dev/iceshrimp/iceshrimp.net
#Iceshrimp are rewriting the whole thing (a JS/Node #misskey / #firefish fork) in C# with Blazor for the frontend.
Cool to see. Should handle the performance issues that have plagued the *key forks and maybe provide a new general branch of fediverse platform.
What lang/stack isn’t represented on the fediverse now? C++, Kotlin?
Does anyone know if / how well the federation between Iceshrimp and Lemmy works?
-❔ How are posts from Lemmy (with headline + URL) displayed on Iceshrimp?
-❔ Can you find Lemmy posts in Iceshrimp by searching for the URL?
-❔ Can you follow Lemmy communities from Iceshrimp?
-❔ Can you post to Lemmy communities from Iceshrimp?
The first three points work with Sharkey (one of the Misskey/Firefish forks), but unfortunately posting does not.
@maegul @Subversivo @fediverse @fediversenews I’m not a coder, so I’m curious what advantages C# brings to the table
@mick_collins @Subversivo @fediverse @fediversenews
I’m not familiar enough (or at all) with C#, but AFAICT, it could make an instance more stable, as firefish and misskey have struggled with handling a decent amount of users and C# could be a faster system for the server.
Also, a re-write sometimes is a good thing. And, developers have different preferences for languages, so having a C# project around enables C# devs to more easily contribute to the fedi.
ASP.NET Core (web framework for C#) is one of the best available, when you need great performance. Also, C# is pretty popular and that means potentially more contributors.
@mick_collins @maegul @Subversivo I worked in C# at my previous job, and am using Typescript in my current job.
The biggest advantage to C# is that it is a strongly typed language, which allows the compiler to do a much better job of verifying your code. (“Type” in this context refers to data types.) Javascript is a weakly typed language, so the compiler will accept a lot of code that C# wouldn’t. So your users end up discovering bugs that a C# compiler would have discovered during compilation, so you’d fix them before you deploy to users.
Typescript is a big improvement over Javascript, but still nowhere near as good, mostly because it needs to maintain backward compatibility with Javascript.
Weak typing is convenient for small/simple projects and for people who are just getting started with programming - both of which are what Javascript was for. But the bigger the project, the more useful it is to have a strongly typed language, and a compiler that will point out type mismatches before your users get a chance to find them.
@maegul @Subversivo @fediverse @fediversenews what is this, for the unacquainted? Is it a full activitypub server or just the front-end?
@maegul @Subversivo @fediverse @fediversenews I’m waiting for Uxn / Varvara myself