REPL for Dart
github.com
github.com
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.
Nonetheless, that’s some low level stuff that I have little experience with haha.
Dart has had browser support and DOM APIs before but never had the same APIs you have in the web platform before.
Err... At Google? After laying off the core maintainers? Not bright at all.
More:
https://www.reddit.com/r/FlutterDev/comments/1cduhra/comment...
The one major company backing a project lays off a number of the team working on the project.
That is not exactly the signal of a bright future.
Here’s the top comment from the Reddit post that was linked
> Hey folks! Kevin, product manager on Flutter and Dart here.
> The layoffs were decided AT LEAST a couple of layers above our team and affected a LOT of teams. (I think I can say that). Lots of good folks got bad news and lots of great projects lost people. Flutter and Dart were not affected any more or less that others. It was a tough day...tough week.
Can you comprehend that?
> Hey folks! Kevin, product manager on Flutter and Dart here.
> The layoffs were decided AT LEAST a couple of layers above our team [...]
> Flutter and Dart were not affected any more or less that others.
It’s genuinely one of the weirdest things I’ve seen on here in some time.
Also, if you can't talk without offending and going out of your mind, you can just respect this forum guidelines and say nothing.
This didn’t happen the Flutter / Dart team specifically. You are portraying this as an issue with Flutter only.
Meanwhile other programming language ecosystems have plenty of domains that keep them relevant no matter what.
It’s never come true, you’re talking nonsense just like every other time people try to politely explain it to you.
I don’t “feel attacked” more frustrated that you’re here yet again to make the same crappy points knowing full well you have zero interest in having a real conversation or changing your mind.
It’s more akin to dealing with the drunk uncle at Christmas who tries to trap you into the same argumentative conversations that he did the past 3 years.
What is also annoying is that they come to normal Dart/Flutter related threads just to spoil them.
Meanwhile, the ecosystem grows, more and more people and companies choose Dart and Flutter and have fun creating software with this excellent toolchain.
The dogs bark, but the caravan goes on, as they say.
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?
How many programming languages and frameworks are out there as open source, that in reality are only limping along?
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.
from importlib import reload
Reload paired with inotify are the building blocks, to wire up yourself.https://github.com/aidos/dotfiles/blob/master/_config/ipytho...
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...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.
Which ones? Flutter is quite good, especially compared to things like Java Swing or GTK.
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.
I think that Google should explicitly encourage and support the ecosystem by moving key tooling to a third party foundation, even if staffed by their employees - eg. the pub.dev package manager could be maintained independently and get a team dedicated to it. Google would be then free to drop support, or change direction, without dragging this great ecosystem down to stagnate.
Golang/Kotlin are seeing strong, and continued, support amongst their owners, and their support isn't questioned. That said, many people have questioned the direction of Golang because the only maintainers are Google employees, and they don't listen to much outside opinions for direction.
Thanks for everything you've done for the dart community!
Really nice work!
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?
This is the “built in” way to do runtime evaluation. It lets you dynamically load things. Google used this in some LLM demo where an AI created a UI in response to a user query.