| Sorry, posting after a few drinks again... Silly stuff like "I like wide-code-formatting, not vertical stacks with 4 characters on a line or something. (cultural) "Too many moving parts" in almost every implementation of anything, (as in "modern" javascript/front-end frameworks and their build-toolchains) such that its built for a large corp to use lots of warm bodies to "divide et imperis".
(I can understand this with regards to Flutter, half of the complication of this cross-platform thing being Googles fault, of course. Android Studio needing it's own dedicated 32-core terabyte-ram compute cluster, naturally, and trying to find cross-platform layout containers etc without being verbose = good luck!) Particular pain points? Let's go with some Flutter stuff, as it's arguably the primary use case folks will encounter Dart for, now that the Dart VM isn't going to be embedded in all the browsers suddenly, as was proposed at one point. Arguably, I'm doing it all wrong, as someone will point out.
Elaborate (client-side) modeling that will only work if everything is completely fleshed out: We have our classes, but OH let's make the state a separate object and let's basically have you haul 3 paragraphs of junk around to represent one thing and some related stuff that should probably be part of the same object...
Hey, who knows, maybe it'll be like CSS in some future revs in which you have to look for 20 class blocks extending the same class, but that's in Crystal etc, and it's raison-d-etre seems pretty established (extensibility) but it does make localization a PITAS. ...and then we have factory methods, and we can't really debug passing stuff through them until we get data, but it's not as simple as
if(this.readyState == 4 && this.status ==200) {boom, does it look like JSON? is it an array instead? what do we have here?} so there's this "build an elaborate model on the client side, but then you are basically only validating and attempting to JSON.parse whatever your (likely http) API spits out. factory TextLine.fromJson(Map<String, dynamic> json) {}
Never mind that I have to finish tiling all model bits to pull something through and see what I have, although the flutter hot-reload helps speed things up a bit,
which you then end up pulling data through what pretends to be fancy/modern but is actually no better than the browsers HTTP XHR methods //the future
Stream<List<Album>> fetchCards(int limit, int skip) async* {
http.Response response = await http
.get('https://mobile.somesite.com/albums/'+ limit.toString() + '/' + skip.toString() );
List responseJson = json.decode(response.body);
yield responseJson.map((m) => new AlbumCatalog.fromJson(m)).toList(); Syntax is generally fine, text is better than SVG, but somehow working with Dart makes me feel depressed, in a Javascript kind of way...
(lot's of tooling and attempts to not be what it really is underneath, hence my gut reaction to arrow functions and pretend-classes in Javascript, etc...) |