Suave.IO
Angular
Suave.IO | Angular | |
---|---|---|
5 | 699 | |
1,311 | 94,541 | |
0.2% | 0.3% | |
4.8 | 10.0 | |
about 1 month ago | 5 days ago | |
F# | TypeScript | |
GNU General Public License v3.0 or later | 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.
Suave.IO
- The combined power of F# and C#
-
New server-side framework based on monadic parsing
This is cool. I just want to give a shoutout to Suave, which is the original inspiration for Giraffe, and is still my go-to web server in F#.
-
Building a Webpack alternative in F#
This shouldn't be that hard, I just needed a server that well... served the HTML/CSS/JS files right? I went to my desktop, created an F# script added a couple of libraries like Suave and CliWrap so I could call the dotnet fable command from my F# code and make it compile my Fable files.
-
Introducing Giraffe.Htmx
Giraffe is a library that sits atop ASP.NET Core and allows developers to build web applications in a functional style; dotnet new giraffe is literally my starting point when I begin a new web application project. (Rather than write three more sentences filled with effusive praise, I’ll just leave it at that; it’s great.) It also provides a view engine (that builds upon Suave‘s “experimental” view engine) which uses an F# DSL to define HTML in a strongly-typed way. It has been incredibly efficient for a while, but with .NET’s work over the past two releases at improving performance, and Giraffe’s adoption of those techniques, it is lightning fast.
- Suave 2.6.1 Released 🚀
Angular
-
Angular Signals, Reactive Context, and Dynamic Dependency Tracking
/** * https://github.com/angular/angular/blob/75a186e321cb417685b2f13e9961906fc0aed36c/packages/core/src/render3/reactivity/untracked.ts#L15 * * packages/core/src/render3/reactivity/untracked.ts * **/ export function untracked(nonReactiveReadsFn: () => T): T { const prevConsumer = setActiveConsumer(null); try { return nonReactiveReadsFn(); } finally { setActiveConsumer(prevConsumer); } }
- Episode 24/15: Wiz behind the curtain, Copilot in VSCode
-
Always unsubscribe. No exceptions. Debate closed.
source: https://github.com/angular/angular/issues/46542
-
Angular Signals: Best Practices
Besides the dangers, mentioned by Angular docs (infinite loops, change detection errors), there is another thing, that might be quite nasty: effects are executed in a reactive context, and any code you call in effect, will be executed in a reactive context. If that code reads some signals, they will be added as dependencies to your effect. Here Alex Rickabaugh explains the details.
-
Understanding control flow syntax in Angular 17
In June 2023, the Angular team raised a new RFC to implement control flow syntaxes within Angular. They gave the following rationale for introducing control flow syntax:
- Episode 24/09: Testing without TestBed, SSR & Hydration
-
Preparing our Code for Zoneless Angular
For scheduling, I use awesome code I found in the Angular source code.
-
⏰ It’s time to talk about Import Map, Micro Frontend, and Nx Monorepo
Just to give you more context, I led the migration of several AngularJS applications to the newer Angular Framework. My client finally decided to make that move following the AngularJS deprecation announcement (stay up to date please 🙏)️.
-
Conventional commit specification
Link — angular/CONTRIBUTING.md
-
Angular Control Flow: the complete guide
Angular v17 was released some months ago with a ton of new features, a brand new logo and the new blog angular.dev.
What are some alternatives?
Giraffe - A native functional ASP.NET Core web framework for F# developers.
Next.js - The React Framework
Saturn - Opinionated, web development framework for F# which implements the server-side, functional MVC pattern
qwik - Instant-loading web apps, without effort
ASP.NET MVC
SvelteKit - web development, streamlined
DotVVM - Open source MVVM framework for Web Apps
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.
Freya - Freya Web Stack - Meta-Package
solid - A declarative, efficient, and flexible JavaScript library for building user interfaces.
dotNetify - Simple, lightweight, yet powerful way to build real-time web apps.
lit - Lit is a simple library for building fast, lightweight web components.