3 ms·
The down sides for me for me are Dart - no thanks to learning another language, and to Google lock in. As others have pointed out, Google has a pattern of devel
by talkingtab 8y ago
The down sides for me for me are Dart - no thanks to learning another language, and to Google lock in. As others have pointed out, Google has a pattern of developing and then abandoning products and technology. See https://gcemetery.co/ https://gcemetery.co/
- weavie 8y agoIt's open source, so the lock in shouldn't be an issue.. My first reaction when hearing about it was to wonder how good the ffi in Dart is. Would it be possible to interface to Flutter from different languages? Then I would definitely be interested..
- preommr 8y agoPeople say this but having the right backing is important for something so essential to a project. Having a big company behind the development and especially dogfooding makes a world of difference in terms of stability.
- marcobellinaso 8y agoIt's a good language though, and if you have experience with C#/Swift/Kotlin/Java etc...you'll be productive from day 1...there's not really much to learn, I wouldn't call it a problem.
- brianpgordon 8y agoDid you just say that Dart is a good language? You're aware of the memes about Dart's type system being completely broken by design right? https://www.dartlang.org/faq#q-why-are-generics-covariant https://www.dartlang.org/faq#q-why-are-generics-covariant Of course this is from the company that brought us interface{} and people seem to be OK with that...
- skybrian 8y agoFlaws in the type system just aren't that important to most people. Consider the popularity of Typescript, which is unsound.
- kiriakasis 8y agoI gather that you would prefer invariant generics. I know a bit about type systems but very little about subtyping so I would really enjoy some information :) Why are covariant generics bad? (also just a link is fine)
- brianpgordon 8y agoInvariant generics would at least let you rely on the type system doing its job correctly. But even better would be to annotate each type parameter as covariant, contravariant, or invariant - this is what Scala and C# and probably a bunch of other languages do. As an example, here's approximately how the Function trait is defined in Scala. The square brackets indicate type parameters (like angle brackets in Java), the - indicates covariance, and the + indicates contravariance. trait Function1[-T, +R] { def apply(arg1: T): R }
- cwyers 8y agoMy concern about Dart wouldn't so much be language quality, it would be the ecosystem. I know if I go out there and do a project in JavaScript or C# (so RN/Xamarin) there's piles of libraries out there. There's documentation. There's Stack Overflow answers and tutorials.
- Jyaif 8y agoGWT is 12 years old, Android is 10 years old, Go is 9 years old, Dart is 7 years old. I'd say their client platforms are OK.