--
For other discussions, see https://groups.google.com/a/dartlang.org/
For HOWTO questions, visit http://stackoverflow.com/tags/dart
To file a bug report or feature request, go to http://www.dartbug.com/new
To unsubscribe from this group and stop receiving emails from it, send an email to misc+uns...@dartlang.org.
> Once those are fixed you'll reach 60fps in all modern browsersSo you assume that (let's say 1 year) compiled js is as fast as Dart in the VM now?Sorry but I cannot believe that when looking at the benchmarks over the years(!) https://www.dartlang.org/performance/
dart2js and our dart-on-the-web story in general were developed under a lot of technical constraints over the past several years. One of the biggest constraints was that whatever Dart code people wrote had to work both when compiled to JS and running in Chrome with a native Dart VM. This made dart2js's life a lot harder:
- Any JS interop story has to handle the fact that it may be communicating with a different VM with its own GC.
- dart2js has to support every single corner of the Dart language* since it would break the web if something worked in Chrome-with-a-native-VM but not in Firefox-with-dart-compiled-to-JS.
Those constraints are gone now. I can't speak for the dart2js folks, but I really hope they use this new reality to their advantage.
Question: Presumably Dartium remains in the picture because it an essential Dart development tool?
Absolutely. We are committed to fast dev turn-around with great debugging.
- lex
On Thu, Mar 26, 2015 at 9:44 AM, Lex Berezhny <l...@damoti.com> wrote:On Thu, Mar 26, 2015 at 12:36 PM, 'Bob Nystrom' via Dart Misc <mi...@dartlang.org> wrote:dart2js and our dart-on-the-web story in general were developed under a lot of technical constraints over the past several years. One of the biggest constraints was that whatever Dart code people wrote had to work both when compiled to JS and running in Chrome with a native Dart VM. This made dart2js's life a lot harder:
- Any JS interop story has to handle the fact that it may be communicating with a different VM with its own GC.
- dart2js has to support every single corner of the Dart language* since it would break the web if something worked in Chrome-with-a-native-VM but not in Firefox-with-dart-compiled-to-JS.
Those constraints are gone now. I can't speak for the dart2js folks, but I really hope they use this new reality to their advantage.On Wed, Mar 25, 2015 at 2:02 PM, Kevin Moore <kev...@google.com> wrote:Question: Presumably Dartium remains in the picture because it an essential Dart development tool?Absolutely. We are committed to fast dev turn-around with great debugging.I'm getting conflicting messages from different people at google.Bob is saying that Dart VM support in browser is going to be dropped.Kevin is saying that Dartium will remain.Isn't Dartium a Chrome browser with Dart VM?So, will Dartium (with Dart VM) remain or will it be dropped?Dartium is a Chromium branch with important security features disabled. You'll be able to continue using it for Dart development, but it is not suitable for deploying apps or as a general web browser.
On Thu, Mar 26, 2015 at 12:36 PM, 'Bob Nystrom' via Dart Misc <mi...@dartlang.org> wrote:dart2js and our dart-on-the-web story in general were developed under a lot of technical constraints over the past several years. One of the biggest constraints was that whatever Dart code people wrote had to work both when compiled to JS and running in Chrome with a native Dart VM. This made dart2js's life a lot harder:
- Any JS interop story has to handle the fact that it may be communicating with a different VM with its own GC.
- dart2js has to support every single corner of the Dart language* since it would break the web if something worked in Chrome-with-a-native-VM but not in Firefox-with-dart-compiled-to-JS.
Those constraints are gone now. I can't speak for the dart2js folks, but I really hope they use this new reality to their advantage.On Wed, Mar 25, 2015 at 2:02 PM, Kevin Moore <kev...@google.com> wrote:Question: Presumably Dartium remains in the picture because it an essential Dart development tool?Absolutely. We are committed to fast dev turn-around with great debugging.I'm getting conflicting messages from different people at google.Bob is saying that Dart VM support in browser is going to be dropped.
Sorry, I should have been clearer. We fully intend to support Dartium. But there's a big difference between the Dart VM integrated into a development tool (which is what Dartium is) versus it being integrated into a browser that's part of the public open web.For example (and to be clear, these are hypothetical), let's say people on the team come up with a much nicer way of doing JS interop. However, when used in a browser with the Dart VM, it leaks a little bit of memory of time. If we are focused on a production-quality Dart VM in public Chrome, then that's not acceptable and it's enough to kill that interop story. But if we only have to worry about Dartium, leaking a few bytes here and there may be acceptable.
--
Yes. If you see such things, please file bugs.
--
I think Angular 2, seems pretty performant. Dont know about something like react for Dart
I'm not so worried about Dartium performance. The worry would be thing that impact production JS performance.For the example of taking an item from an uninitialized list and setting it as the value of an input text widget, how would we do that in Dartium?Dart doesn't distinguish between a value of null and a value of undefined. So it seems tricky to come up with something such thatnew List(5)[0].toString() == 'undefined'I can't really do it in Dartium at the widget level because I can't tell if you mean to give me null or if you're passing me an undefined value. So if you don't want it to be an error, it seems to me that you'd have to modify the setter on the widget in JavaScript, which has performance and code size implications there. It might not be too bad, those values aren't set all that often, but it depends how many of those cases there are.
--
Though I'm still not sure what it would do for the null/undefined case. It might just be what Stephen suggested in the bug, that the compiler would reject that code outright and require you to provide a String, rather than just doing a toString() on null/undefined.
On 30 March 2015 at 20:55, 'Alan Knight' via Dart Misc <mi...@dartlang.org> wrote:Though I'm still not sure what it would do for the null/undefined case. It might just be what Stephen suggested in the bug, that the compiler would reject that code outright and require you to provide a String, rather than just doing a toString() on null/undefined.If Dartium was running the same dart2js'd code as production browsers, the behaviour would be the same; so I don't think it would need changing. Being consistent is more important than what the behaviour is.
Though I'm still not sure what it would do for the null/undefined case. It might just be what Stephen suggested in the bug, that the compiler would reject that code outright and require you to provide a String, rather than just doing a toString() on null/undefined.If Dartium was running the same dart2js'd code as production browsers, the behaviour would be the same; so I don't think it would need changing. Being consistent is more important than what the behaviour is.If this were the case, why would Dartium exist at all, why not use chrome for development? The power I see in dartium is faster build cycles since there is no transpilation required, and being able to debug dart code (typed) rather than js code (spaghetti).
Watched this video from the Dart Summit today:https://www.youtube.com/watch?v=2Ef3ALvbkhA&list=PLOU2XLYxmsIIQorIS8gagUiMau9S84vZV&index=6
Seems like work is well underway to enable development with production browsers using dev_compiler. I suspect this means Dartium will ultimately go away. Sounds very positive :)
The question was asked on this forum and the official answer was that Dartium will remain.Everything beyond that is speculation.
One way to think about this is that today the competition for dev_compiler today is Dartium and so right now, everyone does their web development using Dart in Dartium so that has the latest Chrome features. We're really imagining that people that use the dev_compiler would just develop against tip of Chrome and use the unflagged features there.
Right, so our plan in the short term is we'll continue to ship Dartium and support it, we know it's critical for you folks.
--