4 ms·
I don't work for Google, but as far as I can tell Go was developed for helping with Google's internal server issues. They found the C++ code to be too difficult
by RyanZAG 11y ago
I don't work for Google, but as far as I can tell Go was developed for helping with Google's internal server issues. They found the C++ code to be too difficult to get new Googlers acquainted with, and they had legal and other issues with Java. Dart on the other hand is a migration path for their heavy use of Java in front end areas for cross client-server usage with their GWT toolkit. It's also designed to make Javascript 'nicer' to use for some of their developers who do not like using Javascript.
However, Google is really big with a lot of differing opinions. They still have a lot of developers working on GWT. They still have a lot of developers heavily involved with C++ standards etc. So some Googlers are not going to be giving up Java or C++ any time soon. Some Googlers who really like Dart want to use it for everything. Some want to use Golang for everything. So the languages aren't really pushed or designed to be complimentary and they're more along organizational boundaries inside Google.
From the last words on the topic, Android itself is still staying fully Java and Dart or Golang will be alternative ways to deploy certain kinds of applications to Android which don't need very heavy integration. This Flutter appears to be closer to a Google replacement for javascript-based Cordova cross platform apps in the same way Dart is designed to be a replacement for Javascript websites.
- kibwen 11y ago> they had legal and other issues with Java Note that the legal issues with Java revolve around Google's custom implementation of Java that ships with Android, which is certainly not the version of Java that Google is using for its internal server programming.
- sandGorgon 11y agoFlutter ships with a functional-reactive style framework, inspired by React. Flutter gives developers access to any service or API that the host operating system provides, via Mojo’s IPC system If I can write android apps with the SAME performance as Java, then this is effectively a replacement for me. I was seriously considering Kotlin, but with Google making a play here - this is the way I'll go.
- pjmlp 11y agoIt will always be slower than Java on Android, because you need to pay the price of JNI calls to the Framework libraries.
- sandGorgon 11y agothey are using Mojo to call native.
- pjmlp 11y agoHad to search for what it is. https://github.com/domokit/mojo https://github.com/domokit/mojo I doubt it is faster than Java ART for access to Android Frameworks. Call JNI from C++ it might have delays around 300ms or more per call.
- badlogic 11y ago300ms for a JNI call? In all my years using JNI with Dalvik/ART i have never seen such a degradation. Can you give an example?
- pjmlp 11y agoThis is a number I had on my head from the "Using the NDK Performantly (Big Android BBQ 2015)" talk. https://www.youtube.com/watch?v=Wb5HAI73QRE&list=PLWz5rJ2EKKc_HyE1QX9heAgTPdAMqc50z&index=11 https://www.youtube.com/watch?v=Wb5HAI73QRE&list=PLWz5rJ2EKK... From some examples using buffers, maybe I am wrong.
- mda 11y agoI think they update their benchmark results to https://chromeperf.appspot.com/ https://chromeperf.appspot.com/ (browse for benchmarks with mofo prefix) Looks like pretty damn fast to me.
- pjmlp 11y ago