Austin Kottke's Code Site

Thoughts about Architecture – Java, C/C++, JS, Objective-C, Swift, Groovy, Grails, (RIP Flash)

May 22nd, 2018

Google’s love/hate relationship with JS and love of flutter

android, C++, flutter, java, by austin.

I for one think it’s absolutely hilarious how google devs despise js as an enterprise development tool. But can’t stand to develop in it. I remember when angular1 came out. And thought to my self “Wow google actually made a library in pure js?” and recommends you to develop in js – impressive. Some years back I worked in a project called GWT – you may have heard of it. It compiles Java down into JS and provides a somewhat awesome way to dev apps – outside of compile times and crappy looking widgets.

Anyway – So when angular1 came out I was like “Whoa awesome – pure js”. Used it for a project to build a fully functional phone with WebRTC and flash. Worked great – I really enjoyed the thoroughness that google put into it. But I couldnt get over the fact – having done a prior project in GWT/GXT that google was just laying it all out and doing a pure js library. I mean “I thought google despised js as a pure dev language.”

Now, years later – Google releases angular 2 through 5 – “AHHHHH Im right – they ditched js in favor of TypeScript” haha. Now we’re using TypeScript. So I guess I was right. Google cant stand js.

So now – I see flutter and Im like – wow, that’s pretty cool – FINALLY a competitor to react-native. But wait there’s more! https://flutter.io/. Google revamped the dart language and basically said screw js – lets use Dart! Honestly Im kind of excited about flutter as it uses a REAL language to build mobile apps. Although I think they should have used Groovy but that’s fine. We got a REAL language.

Google’s UI development frameworks (that could have been done in js but google said f’ that):

  • GWT version 1.0 RC 1 was released on May 16, 2006 (Java)
  • Angular JS 1.0 release October 20, 2010 (JS – But not for long!) 
  • Angular 2 May 2016 (Typescript preferential treatment – (remove JS from title))
  • Flutter May 2017 (Dart Lang) 

Point here is. Google doesnt want to build enterprise applications with JS. And I kind of agree with them here. React-Native comes out using JS some years back. Google could have been like “Oh yea, lets destroy that with our own js library to take out react-native”. Instead they implement something completely different using the Dart Lang. Interesting. Lets see if it gains traction. The Dart lang has gotten NO love from the community. Lets hope in time that google can bring a viable competitor to react-native for the pour developer souls that do not want to write everything in js.

Here’s some Flutter Code:

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
 
class AnimatedListSample extends StatefulWidget {
  @override
  _AnimatedListSampleState createState() => new _AnimatedListSampleState();
}
 
class _AnimatedListSampleState extends State {
  final GlobalKey _listKey = new GlobalKey();
  ListModel _list;
  int _selectedItem;
  int _nextItem; // The next item inserted when the user presses the '+' button.
 
  @override
  void initState() {
    super.initState();
    _list = new ListModel(
      listKey: _listKey,
      initialItems: [0, 1, 2],
      removedItemBuilder: _buildRemovedItem,
    );
    _nextItem = 3;
  }
}

Anyway – pretty cool eh? I think its got potential.

Note to Dart Team: Make an actual layout language and ide! Xcode using Storyboard’s did it right. Building components inline in the code is not abstracting the design enough. The design should be separate. Layout and code not a good mix. Designers need jobs too!

-Austin

Please follow and like us:
0

Back Top

Leave a Reply

Your email address will not be published. Required fields are marked *

*