Weekly podcast focusing on software development with Flutter and Dart. Hosted by Vince Varga.
Dart in the Cloud, Backend, Command Line, and Shelf with Kevin Moore
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 @kevmoo
- GitHub @kevmoo
- LinkedIn linkedin.com/in/kevmoo
- Reddit @kevmoo
- Medium @kevmoo
Host: Vince Varga
- Twitter @vincevargadev
- GitHub @vincevargadev
- LinkedIn @vincevargadev
- Web 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 reuse
- pub.dev/packages/functions_framework: FaaS (Function as a service) framework for writing portable Dart functions
- pub.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 annotations
- pub.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 options
- pub.dev/packages/build_cli: Parse command-line arguments directly into an annotation class using the power of build_runner and source_gen
- pub.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 Dart
- The Chromium Projects
- Ars 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. Collins
- Rack: a Ruby Webserver Interface
- Announcing Dart 2.13: (...) Official Docker support and Dart on Google Cloud
- Docker
- Docker Official Images
- Dart Docker Official Images
- Kubernetes - Production-grade container orchestration
- Dart Docs - Google Cloud (Cloud Run, Functions, Kubernetes, Compute Engine, App Engine)
- Announcing Dart support for GitHub Actions
- It's All Widgets! hosted by Hillel Coren: Kevin Moore
- YouTube Kevin Moore: Code generation with the Dart build system
- YouTube Google IO Q&A: Cloud, Dart, and full-stack Flutter