Dart 3.1 and a retrospective on functional style programming in Dart

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews

    I was pessimistic about flutter 4 years ago but rechecked it recently (learning right now) and IMO it's really good user/developer proposition these days. They resolved most of issues on mobile devices and desktops - only web version still off but once wasmGC is ready (hopefully this year) probably things will improve.

    Best way for developer elevator pitch just download few flutter apps and see how you like the experience:

    1. wonderous - https://flutter.gskinner.com/wonderous/

    2. flutterflow (low code + gui editor for flutter) - https://https://flutterflow.io/

    3. appflowy (notion alternative) - https://appflowy.io/

    4. flutter gallery (official flutter kitchen sink) -

    Android (Google Play Store, .apk) - https://play.google.com/store/apps/details?id=io.flutter.dem...

    web (gallery.flutter.dev) - https://gallery.flutter.dev/

    macOS (.zip) - https://github.com/flutter/gallery/releases/latest

    5. official material 3.0 demo - https://flutter.github.io/samples/web/material_3_demo/#/

  • Uno Platform

    Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.

  • Not a fan of XAML after trying to get into it, but there is Uno Platform. It wraps native widgets on mobile, just like React Native (which is good for accessibility), and uses C#. https://platform.uno/

    My guess is that it's mainly focused on mobile. On Windows, it has no overhead (behaving like a normal WinUI 3 app), on macOS I think it uses Catalyst by default (which was developed by Apple to make more iOS apps available for Mac desktops) and on Linux it draws its own widgets that the devs try imitating the GTK style with.

    On Android and iOS, it just uses the native widgets which I think is a better experience so you can see my reasons for guessing it's mobile-first. That may or may not be what you want.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • language

    Design of the Dart language

  • Current syntax is not all that bad if you are going to do OO and add various helper methods on `Message` and its subclasses, but if you just want to define your data and no behavior / helpers - then it is exceedingly verbose.

    [1]: https://github.com/dart-lang/language/issues/3021

  • flutter-wonderous-app

    A showcase app for the Flutter SDK. Wonderous will educate and entertain as you uncover information about some of the most famous structures in the world.

  • Wonderous:

    A showcase app for the Flutter SDK.

    Built by gskinner in partnership with the Flutter team, Wonderous deliberately pushes visual fidelity, effects and transitions to showcase what Flutter is truly capable of on modern mobile hardware.

    https://github.com/gskinnerTeam/flutter-wonderous-app

  • chokidar

    Minimal and efficient cross-platform file watching library

  • > It’s typical to listen to this stream of events and use chained if-else statements to determine an action based on the type of the events that occur.

    You'd think something like directory watching would have a clear set of events that would make nice objects with consistent meanings, but in my experience file watching gets crazy complicated, and can have all sorts of edge cases.

    Just take a looked here for all the various edge cases that crop up: https://github.com/paulmillr/chokidar/issues

    Then you have linux, windows, macos, and maybe you want to abstract over some underlying implementation like chokidar vs fb/watchman vs webpack/watchpack. Every new OS release could also cause things to change.

    So usually its going to be a bunch of if-else statements hacked together to get around edge cases, and have to be revisited later on.

    Any attempt to abstract this into objects, just obfuscates things. And OO forces you to name things, when in fact they might be un-nameable. `FileSystemModifyEventExceptWhenXAndYAndSometimesZ`.

    The behavior might rely on a series of events together, so the object hierarchy must be re-worked.

    OO has this rosy idea that we just have to come up with the perfect hierarchy, but things change in unexpected ways, and everything must have a descriptive noun.

  • Fable: F# |> BABEL

    F# to JavaScript, TypeScript, Python, Rust and Dart Compiler

  • Stuff like this: https://github.com/fable-compiler/Fable/issues/1822

    It just seems like an incredibly ambitious project that appears to have very little equal but is mainly worked on by a handful of people but no corporate backing. I get the feeling that if you want to use it, you'll either be the only one doing what you're doing or among just a few people. I already use F# and feel this way about the core language itself.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts