Readit News logoReadit News
mdhb · a year ago
There is so much cool stuff at various stages of landing in the Dart pipeline at the moment. A few things that come to mind include:

1. Dart now supports the native Web platform APIs and offers a really compelling alternative to TypeScript now thanks to their their latest generation of JS interop. Example for how the code looks here: https://github.com/kevmoo/kevmoo.com/blob/main/web/main.dart

2. Compile to WASM now on the web also with future work to also align itself with the emerging WASI standards both as a compile target and the ability to embed WASI runtimes into Dart programs (technically already possible through their C interop)

3. Lots of great work on cross language interop with C, C++, Swift, Rust, Go, JavaScript, Objective C, Kotlin and Java here https://github.com/dart-lang/native

4. Upcoming Macros feature which gives fully static type safe automatic and fully debugable code generation.

5. Potentially looking at bringing Shared Memory Multithreading to the language https://github.com/dart-lang/language/blob/2662d252b7fa93175...

6. Also some early work on a bytecode compiler it seems but I’ve not seen any kind of announcement about it here https://github.com/dart-lang/sdk/tree/main/pkg/dart2bytecode

7. This REPL

It’s really a good time to be a part of the community. It’s a very bright looking future for it.

pjmlp · a year ago
Dart's only reason it is still among us is Flutter, if Google ever gets fed up with Flutter, it will fizzle out.

Meanwhile other programming language ecosystems have plenty of domains that keep them relevant no matter what.

mdhb · a year ago
I’ve seen you specifically make this exact same argument in almost every single thread that’s ever about Dart of Flutter for I think at least two years now. It’s a really weird fixation you seem to have.

It’s never come true, you’re talking nonsense just like every other time people try to politely explain it to you.

itohihiyt · a year ago
I hear this a lot. I don't really see Google getting fed up with flutter, due to what they have invested in it, but for the sake of argument let's say that did happen. Google abandons flutter. What happens next? Will it fizzle out?

To take your point about the domains, flutter's, and by association dart's, domain is cross platform development from one codebase. As far as I can tell nothing else comes close just now, that domain makes flutter relevant no matter what. Surely as opensources projects, both survive?

BrutalCoding · a year ago
I wasn't aware of that bytecode compiler, even though I work with Flutter/Dart on a daily basis. How did you find out?

Nonetheless, that’s some low level stuff that I have little experience with haha.

mdhb · a year ago
I spend some time each week just browsing the various repos under the Dart account to see what’s going on in the ecosystem and that turned up recently but as I said there no kind of announcement so I would take them very literally when they say it’s an experiment.
skybrian · a year ago
Where is JS Interop used in the first example? (It's a bit hard to tell with the wildcard imports how much of that is actually coming from web.dart.)
mdhb · a year ago
Web.dart is basically designed to give you the equivalent of any of the browser based APIs you would find on MDN essentially unchanged so things like document.querySelectorAll and things like that would just work as though you were using JavaScript (and you technically are in the background) but without otherwise needing to ever leave Dart.
meiraleal · a year ago
> It’s a very bright looking future for it.

Err... At Google? After laying off the core maintainers? Not bright at all.

mdhb · a year ago
That literally never happened.
aidos · a year ago
Even though I don’t use Dart myself I very much approve of this initiative.

I live in my Python REPL (ipython) and I couldn’t live without my hot reloading without losing state. Allows for hacking about a bit directly in the REPL. Once something starts to take shape you can push it into a file, import it into your REPL then hack about with it in a text editor.

The hot reloading is great when you have a load of state in classes and you can change code in the editor and have that immediately updated on your existing objects in the REPL.

dbtc · a year ago
After learning how to do this in lisp I've been missing it in python. Do you use anything alongside ipython to make this happen?
aidos · a year ago
Config file here with a couple of lines to add it to ipython automatically.

https://github.com/aidos/dotfiles/blob/master/_config/ipytho...

mixmastamyk · a year ago

  from importlib import reload 
Reload paired with inotify are the building blocks, to wire up yourself.

westurner · a year ago
jupyter-dart-kernel: https://github.com/vickumar1981/jupyter-dart-kernel :

  pip install jupyter-console jupyterlab -e https://github.com/vickumar1981/jupyter-dart-kernel#egg=jupyterdartkernel
  jupyter console --kernel jupyterdartkernel
  jupyter kernelspec --list
IPython/extensions/autoreload.py: https://github.com/ipython/ipython/blob/main/IPython/extensi... docs: https://ipython.readthedocs.io/en/stable/config/extensions/a...

0x_rs · a year ago
Dart is really nice to write in, with far less mental overhead than some of its would-be competitors that couldn't possess the same wisdom and foresight at the time of their creation, so an interactive shell for it is pretty cool. In general I think it's slowly trying to carve its place in the world other than Flutter's language (for which many great packages have been made), but it doesn't have any other forefront project or library, and probably still carries a bit of prejudice from the Dartium mayhem and being a language looking for some purpose that could be orphaned by a blind-sighted Google at any time, the Ads story about it still comes up often. I'd like to see it around more.
vineyardmike · a year ago
I somewhat disagree.

Dart is a decent language for Flutter, but I’m not sure why you’d want to use it off of the flutter path. Maybe for CLI or other client-side tools? Either way, if you’re not re-using a dart package or using flutter, you absolutely should not pick it as your tool of choice.

The language seems nice syntactically, but I find it really frustrating in practice. It’s good enough for the “happy path” that was envisioned - basic UI hierarchies. It’s clear some team designed the language by first writing examples of what they wanted it to look like when making a UI. I think Swift UI caused similar complexities on Swift. You can confirm that even the contributors think this from reading controversial PRs in GitHub.

The nice thing about flutter, and Dart, is that it’s starting to take a life on outside Google. Google should hand off ownership to a foundation or other organization - especially now that their newest thing is Kotlin Multiplatform. I hear more and more companies writing flutter backends for their UI work, so hopefully it could survive alternative stewardship. I believe some TVs and car navigation systems now use flutter, plus all the google stuff.

andriesm · a year ago
Dart is my favourite language, it is the flutter framework I'm not so fond of. People literally designed better GUI frameworks than flutter 20 years ago. They did all sorts of weird things, probably for "performance" reasons, that forces the user to do things that kinda undo many of those "gains". Language wise, I love the fact that it comes with NULL safety out of the box, the number one feature I miss in GO-lang is NULL safety. NULL safety has very low cost to syntax or compile efficiency, and literally takes away half your program crash possibilities.
surajrmal · a year ago
Golang doesn't have an alternative ownership structure. Kotlin doesn't have an alternative ownership structure. Why is it important for dart and flutter? This feels like moving goal posts.

If there were major other entities seeking to participate in its development and advancement I could see a reason to change things, but that doesn't seem to be the case.

vips7L · a year ago
Kotlin is a Jetbrains product, not a Google one.
masijo · a year ago
Not strictly related (because it doesn't have a working REPL yet) but may also find ClojureDart of interest.

https://github.com/Tensegritics/ClojureDart

cageface · a year ago
This is the same author as the awesome flutter rust bridge: https://github.com/fzyzcjy/flutter_rust_bridge

Thanks for everything you've done for the dart community!

concerndc1tizen · a year ago
From the same author that did flutter_rust_bridge :) https://github.com/fzyzcjy/flutter_rust_bridge

Really nice work!

synergy20 · a year ago
dart's syntax is very easy to pick up, sadly it's defined as a 'client-side language', instead of a general purpose one, otherwise I would invest more time into it.

while flutter is cross platform I think for the web, WASM is its focus, which I dislike, not sure what JS interop mentioned in the comment here really does. can Dart be compiled to readable JS?

mhoad · a year ago
They dropped that “client side” framing a while back thankfully. It’s considered a general purpose language at this point.
isoos · a year ago
One of the postgresql client packages (posgres) is roughly 8 years old. That's how "client side" it ever was...