HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
dart-lang
sdk
Dart2015–2026
dart-lang / sdk

sdk

The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.

54Distinct people
67Mentions
1Explicit recommenders
11.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

> Does it have good editor integration for autocompletion and linting? Yes, we have full IDE support in IntelliJ with auto-complete, go to definition, find references, and all…

munificent used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year67 dated mentions

Observed mentions: 2015-05-16 21:36:05 UTC to 2026-09-24 18:43:01 UTC.

0510152015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 6 mentions; 2 submissions, 4 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 12 mentions; 0 submissions, 12 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 14 mentions; 0 submissions, 14 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 6 mentions; 2 submissions, 4 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC624
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC523
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC12012
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC514
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC413
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC303
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC14014
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC624
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC505
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Dart An approachable, portable, and productive language for high-quality apps on any platform Dart is: Approachable: Develop with a strongly typed programming language that is consistent, concise, and offers modern language features like null safety and patterns. Portable: Compile to ARM, x64, or RISC-V machine code for mobile, desktop, and backend. Compile to JavaScript or WebAssembly for the web. Productive: Make changes iteratively: use hot reload to see the result instantly in your running app. Diagnose app issues using DevTools. Dart's flexible compiler technology lets you run Dart code in different ways, depending on your target platform and goals: Dart Native: For programs targeting devices (mobile, desktop, server, and more), Dart Native includes both a Dart VM with JIT (just-in-time) compilation and an AOT (ahead-of-time) compiler for producing machine code. Dart Web: For programs targeting the web, Dart Web includes both a development time compiler (dartdevc) and a production time compiler (dart2js). License & patents Dart is free and open source. See LICENSE and PATENT_GRANT. Using Dart Visit dart.dev to learn more about the language, tools, and to find codelabs. Browse pub.dev for more packages and libraries contributed by the community and the Dart team. Our API reference documentation is published at api.dart.dev, based on the stable release. (We also publish docs from our beta and dev channels, as well as from the primary development branch). Contributing to Dart See the contribution guide for details. Building Dart If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building. There are more documents in our repo at docs. Roadmap Future plans for Dart are included in the combined Dart and Flutter roadmap on the Flutter wiki.
Read the full README on GitHub

What Hacker News says

67 sources
I’m currently working on adding better SIMD support to Dart (https://github.com/dart-lang/sdk/issues/64170) and I have a question for the author or others here. Does Rust or any other language support customizing the compiler so that interprocedural analyses can track custom subsets of, for example, doubles so that the compiler can choose the most efficient instruction sequence for example for min/max? If we know a double is never NaN then we can emit only one instruction on x86, but have to emit one more on arm64. If we know a double is never zero and never NaN, we can emit a single instruction on both. This whole conversation between relaxed SIMD and deterministic SIMD seems to only exist because our compilers are not smart enough and/or their whole program analyses don’t support any plugin-like capabilities. There are other examples wh
Read the rest
ere if we know a SIMD bitmask is canonical (all 1s per lane) then we can implement horizontal reductions more efficiently. This is very niche and I doubt that any language supports interprocedural analyses with such a rich domain, so it feels like a hole in the programming language space.
In Fearless SIMD v1.0
Dart failed to become JS alternative because browser makers rejected native Dart VM for obvious reasons. There have been lots of previous discussion about Darts strengthweaknesses and why Google chose Dart for Flutter. To sum it up, Darts strengths is JIT/AOT compilation, hot reload, concurrency, null safety to deliver performant UIs across platforms without JS interop or markup bridges. Google tested other languages but stuck with Dart for its “UI as code” fluency, hot reload that preserves app state and native performance parity on mobile/web/desktop. Of course, other frameworks and languages is catching up to features and DX that Dart and Flutter offers. Even though Dart was meant for UIs, there is work being done to make it a viable option for backend dev as well, see Serverpod. Dart also finally implemented cross compilation this yea
Read the rest
r which helps with shipping binaries to other machines. https://github.com/dart-lang/sdk/issues/28617
In Ask HN: Is Dart a particularly optimised language for front-end development?
I don't have a full answer for you, but I know a little. I've hacked on the Dart compiler some, but my relationship with Dart has mostly been as a creator of Flutter and briefly Eng Dir for the Dart project. Dart has multiple layers where it does tree shaking. The first one is when building the "dill" (dart intermediate language) file, which is essentially the "front-end" processing step of the compiler which takes .dart files and does amount of processing. At that step things like entire unused libraries and classes are removed I believe. When compiling to an ahead of time compiled binary (e.g. for releasing to iOS or Android) Dart does additional steps where it collects a set of roots and walks from those roots to related objects in the graph and discards all the rest. Not unlike a garbage collection. There are several passes of thi
Read the rest
s for different parts of the compile, including as Dart is even writing the binary it will drop things like class names for unused classes (but keep their id in the snapshot so as not to re-number all the other classes). I have no experience with tree shaking in the dart2js compiler, but there are experts on Discord who might be able to answer: https://github.com/flutter/flutter/blob/master/docs/contribu... What exactly all this means as a dev using Dart, I don't know. In general I just assume the tree shaking works and ignore it. :) The Dart tech lead has done some writings, but none seem to cover the exact details of treeshaking: https://mrale.ph/dartvm/ https://github.com/dart-lang/sdk/blob/main/runtime/docs/READ...
In An update on Dart macros and data serialization
> Runtime introspection (e.g., reflection) makes it difficult to perform the tree-shaking optimizations that allow us to generate smaller binaries. Does anyone have any more information on How Dart actually does Tree Shaking? And what is "Tree Shakeable"? This issue is still open on Github https://github.com/Dart-lang/sdk/issues/33920. I think this quote accurately sums things up > In fact the only references I can find anywhere to this feature is on the Dart2JS page: > Don’t worry about the size of your app’s included libraries. The dart2js tool performs tree shaking to omit unused classes, functions, methods, and so on. Just import the libraries you need, and let dart2js get rid of what you don’t need. > This has led customers to wild assumptions around what is and what is not tree-shakeable, and without any clear guidance to patterns t
Read the rest
hat allow or disallow tree-shaking. For example internally, many large applications chose to store configurable metadata in a hash-map:
In An update on Dart macros and data serialization
Here's the cons from my experience. Dart does not cross-compile, it's still an issue to this day and there haven't been any plans to fix that yet from what I can tell. https://github.com/dart-lang/sdk/issues/28617 Another slight issue I've found is the error message it spits out is kinda unhelpful most of the time, but that issue also applies to Flutter. The stacktrace is like 100 lines with only the five first rows is helpful, the rest is internal code. Dart lacks a repl (there is this package called Interactive but it's a hacky solution). One last thing I do not enjoy about Dart is that even if the code compiles, you are not guaranteed that the massive refactor you did is "sound", that will say, errors can popup during runtime, so you have to write tests for every part. This is such a bummer because in Java, if I do a large refactor and
Read the rest
the linter, ide and compiler is happy, then you will likely be rest assured that the program will run fine (JavaFX is a exception). Dart is a language meant for ui development, nothing else. The team doesn't seem interested in splitting up the language from the Flutter framework. There have been tons of work from the community to provide tools for standalone application / backend development (see Shoelace and Serverpod). The pros is a beautiful, expressive language with awesome DX. Good range of packages available and easy to meta-program with, it's not on the Ruby level but with "extensions" you can do lots of fun stuff. Dart deserves more love than what it currently gets.
In Ask HN: Pros and Cons of the Dart Language?
Well, myself and a few hundred other contributors are behind Flutter. Happy to answer questions. The flutter.dev page got rewritten to be more "marketing friendly" a few years back. docs.flutter.dev is still maintained by the engineers however. Regarding who exactly contributes to Flutter, it's all on GitHub, so you can see the actual committers, e.g. https://github.com/flutter/flutter/graphs/contributors https://github.com/flutter/engine/graphs/contributors https://github.com/dart-lang/sdk/graphs/contributors As for flutterfoundation.dev, it appears to be just Matt? Who used to be employed at Google and reported to me on the Flutter team but is no longer.
In We're forking Flutter
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
Read the rest
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.
In REPL for Dart
> For Dart in particular, it sounds like there was a serious discussion about the choice Yes, we debated it for years. Literally the day we launched, a user filed an issue requesting support for null safety: https://github.com/dart-lang/sdk/issues/22 For most of Dart's history, that was the #1 upvoted issue on the issue tracker. Back in 2011 before I worked directly the language, I proposed null safety: http://journal.stuffwithstuff.com/2011/10/29/a-proposal-for-... I'm immensely glad we finally did it, even though the migration has been a ton of work.
In The road to Dart 3: A fully sound, null safe language

Showing the 15 most recent of 67 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.