Backends in Dart

QCon San Francisco 2022

Session Backends

Backends in Dart

Monday Oct 24 / 10:35AM PDT, Bayview

Abstract

Dart's popularity has surged in the past few years, as it's the language behind Flutter - Google's cross platform front end framework. That's now driving a notion of 'Full Stack Dart', where if you've spent time learning Dart for the front end, why not also use it for the back end. The Dart tool chain has some great features for back ends, such as the ability to create ahead of time (AOT) compiled binaries, or just in time (JIT) snapshots. But those features lead to some interesting trade offs around packaging, cold start times, observability and longer term performance optimization. This presentation will provide an overview of Dart as a back end language, then dive into those trade offs to look at the pros and cons of different choices.

Interview

I'm working on the stability, scalability and reliability of our platform for personal data stores that we call atSigns.

I'm going to be talking about Dart on the back end, which we use. We build the personal data stores using Dart. At the moment, each of those runs as an ahead of time (AOT) compiled binary. But AOT compilation, although it gives us a lightweight, fast starting binary, robs us of the ability to observe what's going on inside of those personal data stores in terms of memory management. We don't actually see what's happening with the data because that's all encrypted. So I'm going to be talking a lot about snapshots, which is a cool feature of Dart, where it's kind of the best of both worlds. So you get to have Just in Time (JIT) compiler optimizations from the VM, but the snapshot means that you get a warm start rather than a cold start. It gets over that cold start problem that we're all familiar with from running things on Java, and so I think it's a really cool feature of Dart, one that's sort of underappreciated. I hope to raise awareness of Dart as a programming language and especially some of the things that can be done with it on the back end.

I think it's pretty wide. There'll be folks out there working with Dart already, maybe doing stuff in Flutter who want to see what they can do with Dart on the back end. There'll also be people using Java at the moment who might be interested in a similar but different virtual machine language; and then I think there will be startups doing observability, monitoring, security and things like feature flags where they've got an interest in Dart as a language especially now that it’s hit the top 20 in the popularity, and want to learn more about what's going on with it, how people are using it, and what the opportunities are for their platforms to support it.

I'd like them to try it out if they've not tried Dart before, and if they're a little more into Dart, I'd like them to try out things like snapshot for some backend services and see if that gives them the best of both worlds of quick starting applications that have a full observability tool suite associated with them.

Topics

Backends Dart Full Stack Observability Performance Optimization Java Data Languages
76% senior dev or higher
1:11 speaker ratio
60+ practitioners

QCon San Francisco 2022 is a three day conference for senior software engineers, architects and team leads. An international program committee of working engineers selects every session. Patterns and practices, not products and pitches.

Share

From the same track

Monday 24 October

10:35 Bayview Session Backends Backends in Dart Chris Swan Engineer @atsigncompan, Previously Fellow @DXCTechnology, CTO & Director of R&D roles @CohesiveNetworks @UBS @Capital SCF and @Credit Suisse 11:50 Bayview Session Backends 24/7 State Replication Todd Montgomery Ex Researcher @Nasa, Engineering Fellow @ Adaptive Financial Consulting and a High Performance Distributed Systems Whisperer 13:40 Ballroom A Session Ubiquitous Caching: A Journey of Building Efficient Distributed and In-Process Caches at Twitter Juncheng Yang Ph.D. student @CarnegieMellon, Focus on Efficiency and Performance, Previously @Twitter & @Cloudflare, Facebook Fellow 14:55 Ballroom BC Session Panel: Building Modern Backends Chris Swan, Frank Yu, Juncheng Yang 16:10 Ballroom BC Session Microservices Data Mesh: Are We There Yet? Zhamak Dehghani CEO and Founder @Stealth Startup, Data Mesh Founder, Author, Speaker 17:25 Ballroom A Session Backends Leveraging Determinism Frank Yu Director of Engineering @Coinbase, Previously Principal Engineer and Director @FairX