My guest in this episode is Kevin Moore. Kevin is a Product Manager at Google working on Dart and Flutter.

In one of the last episodes of the Flutter 101 podcast, I talked to Ryan Knell, the author of the Alfred package. Kevin, who works as Product Manager at Google, listened to the episode. He then shared on Twitter, that he would love to come on and explain more about his thoughts on pkg:shelf and Dart on the server and CLI. Of course, I invited him immediately!

Most people know Dart as the language behind Flutter. Flutter code is powered by the world-class Dart platform, which enables compilation to 32-bit and 64-bit ARM machine code for iOS and Android, as well as JavaScript for the web and Intel x64 for desktop devices.

Dart is also used for tooling, as command-line apps, running web servers, and more. pub.dev is also running on Dart and it's serving millions! It's a great match as a backend language for teams and developers who already write Flutter. If your Flutter app needs a backend or you need to glue some services together, Dart is a great match.

We talked about how you can run Dart in the cloud today. You can use Cloud Run’s container support, combined with Dart’s Docker images, to run server-side Dart code.

We briefly talked about the Functions Framework that makes it easy to write Dart functions instead of server applications for handling web requests. Using the framework, you can create functions that handle HTTP requests and CloudEvents and deploy your Dart functions to Google Cloud.

Lastly, we also talked about command-line apps, and Kevin shared his tips on which packages can improve your development experience while writing and using Dart on the command line.

Guest: Kevin Moore

Twitter @kevmooGitHub @kevmooLinkedIn linkedin.com/in/kevmooReddit @kevmooMedium @kevmoo

Host: Vince Varga

Twitter @vincevargadevGitHub @vincevargadevLinkedIn @vincevargadevWeb vincevarga.dev

Most relevant past episodes from Flutter 101

Dart Server Framework Alfred with Ryan Knell (Episode 11): Ryan Knell is the author of the performant, Express.js-like Dart server framework Alfred. We talked about the state of full-stack Dart, ORMs, backend frameworks, Flutter, and many more!Dart on AWS Lambda and Serverless Computing with Sebastian Döll (Episode 6): We talked to Sebastian Döll (GitHub Microsoft, previously Solutions Architect at AWS) about serverless computing, the state of serverless Dart, and how he implemented a custom AWS Lambda Runtime for Dart.Backend and Frontend Web with Dart with Jermaine Oppong (Episode 7): We talked about backend and frontend Dart with Web Developer and YouTuber Jermaine Oppong. Shelf, Alfred, Aqueduct, Angel, AngularDart, and more.

Mentioned packages

pub.dev/packages/shelf: A model for web server middleware that encourages composition and easy reusepub.dev/packages/functions_framework: FaaS (Function as a service) framework for writing portable Dart functionspub.dev/packages/shelf_router: A convenient request router for the shelf web framework, with support for URL parameters, nested routers, and routers generated from source annotationspub.dev/packages/args: Library for defining parsers for parsing raw command-line arguments into a set of options and values using GNU and POSIX style optionspub.dev/packages/build_cli: Parse command-line arguments directly into an annotation class using the power of build_runner and source_genpub.dev/packages/completion: A package to add shell command completion to your Dart application

Other Resources

Pop, Pop, Win! + source code: demonstration app for the open-source Dart project from Google: an implementation of Minesweeper in DartThe Chromium ProjectsArs Technica: Google has released Dartium, a Chromium build with a Dart VM (2012)Fandom Google Wiki: Dartium: "Dartium is a modified version of Chromium that is designed to support the Dart language."Dart News and Updates: The new AdWords UI uses Dart - we asked why (2016)Good to Great: Why Some Companies Make the Leap... and Others Don't by Jim C. CollinsRack: a Ruby Webserver InterfaceAnnouncing Dart 2.13: (...) Official Docker support and Dart on Google CloudDockerDocker Official ImagesDart Docker Official ImagesKubernetes - Production-grade container orchestrationDart Docs - Google Cloud (Cloud Run, Functions, Kubernetes, Compute Engine, App Engine)Announcing Dart support for GitHub ActionsIt's All Widgets! hosted by Hillel Coren: Kevin MooreYouTube Kevin Moore: Code generation with the Dart build systemYouTube Google IO Q&A: Cloud, Dart, and full-stack Flutter

 

 

 

 

Twitter Mentions