Google Languages Update - Blockly, GWT & Dart
Written by Sue Gee   
Wednesday, 02 November 2016

Over the years Google has come up with a lot of languages that it has handed over to the open source community. There have been recent updates to three of them, Blockly, GWT and Dart, all of which occupy distinct niches.

 

Blockylogo

Google Blockly was introduced in 2012 and is open source under the Apache 2.0 License. It looks and feels like a version of Scratch in that users program by dragging and dropping code blocks onto a design surface, that is then compiled to JavaScript. It is also written in JavaScript and as such is designed to run in a web page. It can also generate code which can be run standalone. The generated code can be JavaScript, Dart or Python.

As we reported in 2013, Blockly, was originated by Neil Fraser as an educational tool on a vacation trip to Vietnam. It has been extensively used in Hour of Code tutorials, including the one President Obama famously tried so the availability of Blockly for iOS and a major update to the Blockly Developer tools is timely in view of the forthcoming Hour of Code 2016 in Computer Science Education Week - December 5-11, 2016.

The post on the Google Developers blog from Champika Fernando, Product Manager, Kids Coding has the details:

At Google I/O, we announced our ongoing investment in Blockly with the release of a native Android version. We also highlighted significant improvements to the performance of web Blockly, which enables better rendering performance on mobile devices. Now iOS developers will have access to an open-source developer preview of Blockly for iOS that supports building better experiences on mobile, including multi-touch and enhanced animations as new experimental features.

blockly

Today’s release supports our ongoing efforts to enable developers to create consistent, high-quality, beginner programming experiences - as block-based programming interfaces can make coding more accessible by removing syntax errors and supporting “tinkerability.” We believe that coding is more than just a set of technical skills; coding is a valuable tool for everyone, empowering users from around the globe to imagine, invent, and explore.

With Blockly for iOS, developers can add Blockly views and fragments directly into their iOS app. This will offer tighter integration and improved performance compared to using a WebView. In this developer preview, blocks are currently optimized for tablets, but ready to customize for any app.

In addition, if you already use Blockly we're releasing a major update to the tools for creating custom blocks and configuring Blockly for your app, check out the new Blockly Developer Tools. The new tools allow you to edit and maintain a library of custom blocks, quickly configure toolboxes, and export and import files to local storage.

 

gwtlogo

Google Web Toolkit (GWT) is essentially a Java-to-JavaScript compiler and in its day was considered a rival to JavaScript itself. The project was originated by Google in 2006 and had its first open source release in 2007. Until June 2012 it remained under Google control but was then handed over to a steering committee - the immediate effect of which was to a delay of 4 months before GWT 2.5, the final Google-directed release reached GA status. The project is now on GitHub where it and GWT 2.8.0, the third major release since it moved there, was released on October 20th.

News of this release provoked comments such as "Wow, it's alive" but others pointed out that it is used by many products at Google including AdWords and Google Wallet. One positive comment reads:

You'll have to look long and hard to find anything that matches GWT when it comes to writing large, perhaps enterprise, applications that focus on longevity, maintainability and performance. 


dartlogo

One reason for the decline in popularity of GWT was the advent in 2011 of yet another Google language - Dart. It is a single-inheritance, object-oriented language in the style of Java, C# etc, but with optional typing and first class functions. It attracted a lot of GWT's former developers and was for a time considered a potential JavaScript killer. It was handed over to  having seen an astonishing rise in popularity in 2014. Only a year later, when the Dart team backtracked on its intention to integrate the Dart VM into Chrome, instead deciding to concentrate its efforts on compiling Dart to JavaScript, expectations were reigned back and within a few weeks Google moved Dart to Github.

Last week saw the Dart Developer Summit  in Munich, Germany with Google indicating its ongoing commitment to Dart, the language that it uses for AdSense and AdWords. The two products launched at the event were AngularDart 2.0 and Flutter

AngularDart has been in production at Google since February and according to its developers:

over the past 4 months, AngularDart’s output has gotten 40% smaller, and our AngularDart web apps got 15% faster.

As well as launching AngularDart 2.0 final Google also released, in developer preview, the AngularDart components that it uses for its major web apps. 

Flutter is Google’s tool for writing cross-platform applications for Android and iOS in Dart. According to Dart News & Updates:

Flutter is different than other mobile SDKs. It's built with a best-in-class text rendering engine and the same 2D-to-GL library that Chrome (and others) use, which means its lowest layers are battle-hardened and proven. Flutter does not use the OEM widgets, instead it paints every pixel using its framework and graphics engine. This gives developers tremendous control and expressiveness across all of mobile. However, apps built with Flutter try to feel natural on iOS and Android; Flutter's framework embraces platform differences like scroll physics, iconography, fonts, and gestures.

A key benefit of using Flutter is its extremely fast development cycle, thanks to the Dart VM and Flutter's functional-reactive framework. For both iOS and Android, hardware and emulators, developers using Flutter can experience sub-second dev cycles as they add and debug app UIs. The app's state is maintained during the reloads, which means developers can iterate very quickly without restarting their app for every change. "We measure our dev cycles in milliseconds", said Eric Seidel, engineer on Flutter.

The new Flutter plugin for IntelliJ was also announced. Building on the existing strong support for Dart on the JetBrains platform, the Flutter plugin helps you run, debug, and hot reload on mobile devices and emulators from within a full IDE.

Flutter has its own website, flutter.io, and is an active GitHub project.

Despite our initial misgivings when Google started to open source its language projects, it certainly seems to have established a good relationship with the wider community allowing progress across a broad range of projects. GitHub and open source in general also benefits from the symbiosis as the 12,140 Googlers who are contributors don't necessarily confine themselves to Google originated projects but also to anything that sparks their interest.

  

p3langsicon

 

Banner


Run WebAssembly Components Inside Node.js With Jco
28/03/2024

Jco 1.0 has been just announced by the Bytecode Alliance.It's a native JavaScript WebAssembly toolchain and runtime that runs Wasm components inside Node.js. Why is that useful?



Azure AI And Pgvector Run Generative AI Directly On Postgres
26/03/2024

It's a match made in heaven. The Azure AI extension enables the database to call into various Azure AI services like Azure OpenAI. Combined with pgvector you can go far beyond full text search. Let's  [ ... ]


More News

 

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Wednesday, 02 November 2016 )