SlideShare a Scribd company logo
© 2021 - The @ Company | atsign.dev
Full Stack Dart
DroidCon London - October 2021
© 2021 - The @ Company | atsign.dev
© 2021 - The @ Company | atsign.dev
A brief introduction
Engineer, The @ Company,
building a platform that puts people in
control of their data.
Co-host, Tech Debt Burndown Podcast
Cloud Editor, InfoQ
Blogger blog.thestateofme.com
Links to socials etc. at chris.swanz.net
© 2021 - The @ Company | atsign.dev
Agenda
➔ Why Dart?
➔ Language features
➔ JIT vs AOT
➔ Dart on Docker
➔ Functions Framework for Dart
➔ Profiling and performance management
➔ Other places you can learn more
➔ Call to action - try out the Functions Framework Examples
Why Dart?
© 2021 - The @ Company | atsign.dev
“Dart is a client-optimized language
for fast apps on any platform”
dart.dev
© 2021 - The @ Company | atsign.dev
Flutter pulled Dart into the Redmonk Top 20
1 JavaScript
2 Python
2 Java
4 PHP
5 CSS
5 C++
5 C#
8 TypeScript
9 Ruby
10 C
11 Swift
12 R
13 Objective-C
14 Shell
14 Scala
16 Go
17 PowerShell
18 Kotlin
19 Rust
20 Dart
Language features
‘Hello World!’
void main() {
print('Hello, World!');
}
Garbage antipattern (just like Java or C#)
// Create an object of arguments to pass
var args = ['parent-element', 'child-element'];
// Create a result object and call function
var value = getValue(args);
// Null test value of result object
if (value != null) {
// Return result object
return value;
}
Async/await (like JavaScript)
Future<String> createOrderMessage() async {
var order = await fetchUserOrder();
return 'Your order is: $order';
}
Future<String> fetchUserOrder() =>
// Imagine that this function is
// more complex and slow.
Future.delayed(
const Duration(seconds: 2),
() => 'Large Latte',
);
Future<void> main() async {
print('Fetching user order...');
print(await createOrderMessage());
}
Concurrency - Isolates
“independent workers that are similar
to threads but don’t share memory,
communicating only through messages”
Sound null safety (since Dart 2.12, Mar 2021)
// In null-safe Dart, none of these can ever be null.
var i = 42; // Inferred to be an int.
String name = getFileName();
final b = Foo();
// To indicate that a variable might have the value null
// just add ? to its type declaration
int? aNullableInt = null;
Licensing
Package Manager - pub.dev
JIT vs AOT
Dartshowplatform - A more useful ‘Hello World!’
import 'dart:io' show Platform, stdout;
void main() {
print(Platform.version);
}
2.14.4 (stable) (Wed Oct 13 11:11:32
2021 +0200) on "linux_arm64"
JIT - Just `dart run` it in the virtual machine
$ time dart run showplatform.dart
2.14.4 (stable) (Wed Oct 13 11:11:32
2021 +0200) on "linux_arm64"
real 0m6.280s
user 0m5.050s
sys 0m0.915s
AOT - Compile it first then run the binary
$ dart compile exe showplatform.dart
$ time ./showplatform.exe
2.14.4 (stable) (Wed Oct 13 11:11:32
2021 +0200) on "linux_arm64"
real 0m0.028s
user 0m0.019s
sys 0m0.009s
Trade off - compilation is slow
$ time dart compile exe 
showplatform.dart
Info: Compiling with sound null safety
Generated: showplatform.exe
real 0m17.434s
user 0m20.912s
sys 0m2.958s
Dart on Docker
A typical Dockerfile for AOT compiled Dart binary
FROM dart AS build
WORKDIR /app
COPY ./mydemoapp.dart .
RUN dart pub get
RUN dart compile exe /app/mydemoapp.dart 
-o /app/mydemoapp
FROM scratch
COPY --from=build /runtime/ /
COPY --from=build /app/mydemoapp /app/mydemoapp
ENTRYPOINT ["/app/mydemoapp"]
Image sizes for a trivial application
Image sizes for a non trivial application
Functions Framework for Dart
GoogleCloudPlatform/functions-framework-dart
The Functions Framework lets you write lightweight functions that run in many
different environments, including:
● Your local development machine
● Google Cloud Run - see cloud run quickstart
● Google App Engine
● Knative-based environments
Google Cloud Functions does not currently provide an officially supported Dart
language runtime, but we're working to make running on Google Cloud Run as
seamless and symmetric an experience as possible for your Dart Functions
Framework projects.
examples/hello/lib/functions.dart
import 'package:functions_framework/functions_framework.dart';
import 'package:shelf/shelf.dart';
@CloudFunction()
Response function(Request request) => Response.ok('Hello, World!');
$ curl https://"$YOUR_APP_URL"
Hello, World!
All without needing to worry about writing an HTTP server or request handling logic.
To:
Profiling and performance management
Dart DevTools
https://dart.dev/tools/dart-devtools
Memory view
https://flutter.dev/docs/development/tools/devtools/memory
Flame chart
https://flutter.dev/docs/development/tools/devtools/performance
But… DevTools need to connect to a VM, so JIT only
Other places where you can learn more
https://events.google.com/io/session/6d5795f2-ec1c-4c7a-9efa-ea90c8c59c03?lng=en
https://events.google.com/io/session/083b441e-4076-4443-9750-6529b34257b7?lng=en
https://gcppodcast.com/post/episode-261-full-stack-dart-with-tony-pujals-and-kevin-moore/
https://pinboard.in/u:cpswan/t:dart
Call to action:
Try the Functions Framework Examples
Qwiklabs - Dart Functions Framework
https://www.qwiklabs.com/focuses/18213
Free Qwiklabs from Cloud Skills Challenge
https://inthecloud.withgoogle.com/google-cloud-skills/register.html
© 2021 - The @ Company | atsign.dev
40
Review
➔ Why Dart?
➔ Language features
➔ JIT vs AOT
➔ Dart on Docker
➔ Functions Framework for Dart
➔ Profiling and performance management
➔ Other places you can learn more
➔ Call to action - try out the Functions Framework Examples
Questions?
41
Contact
Chris Swan
chris@atsign.com
@cpswan
At The @ Company (The At Company) we are technologists, creators, and
builders with one thing in common: We love the Internet. You could go so far as
to call us Internet optimists. Though we acknowledge that the Internet has deep
flaws, we believe that we can extract all its goodness without sacrificing our
privacy, time, and control over our digital identities.
We’ve committed ourselves to the creation of a more human Internet where
privacy is a fundamental right and everyone owns their own data. Let’s say
goodbye to the fear and paranoia caused by data breaches and unsolicited
online surveillance.
We’ve developed a fully-secure, privacy-compliant technology powering
customer mobile applications: the @protocol, and with unique identifiers called
@signs that act as keys into these experiences. With like-minded partners we’re
resolving these long-standing issues with a spirit of fun, not fear, and with
delightful customer experiences.
FACT SHEET
Founded : 2019, by Barbara
Tallent, Colin Constable, and Kevin
Nickels, 30+ years executive
experience at NCD/Netmanage,
Credit Suisse, Deutsche Bank,
Juniper Networks, Founded 3 prior
startups, 3 exits. Chairman: Kim
Perdikou, PCNET, Reader’s Digest,
most recently CIO, GM, EVP Juniper
Networks
HQ : Virtual offices, with base in
San Jose, CA.
Funding : $11M seed, May, 2021
Employees: 22
Patents : 15 pending
Website : https://atsign.com

More Related Content

What's hot

Tutorial c#
Tutorial c#Tutorial c#
Tutorial c#
Mohammad Faizan
 
OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ OO Design and Design Patterns in C++
OO Design and Design Patterns in C++
Ganesh Samarthyam
 
Advanced Java Topics
Advanced Java TopicsAdvanced Java Topics
Advanced Java Topics
Salahaddin University-Erbil
 
C plus plus for hackers it security
C plus plus for hackers it securityC plus plus for hackers it security
C plus plus for hackers it security
CESAR A. RUIZ C
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
Maarten Balliauw
 
Deep C
Deep CDeep C
Deep C
Olve Maudal
 
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzingDEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
Felipe Prado
 
C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#
Hawkman Academy
 
His162013 140529214456-phpapp01
His162013 140529214456-phpapp01His162013 140529214456-phpapp01
His162013 140529214456-phpapp01Getachew Ganfur
 
C sharp
C sharpC sharp
C sharp
sanjay joshi
 
API Design
API DesignAPI Design
API Design
Tim Boudreau
 
C++ to java
C++ to javaC++ to java
C++ to java
Ajmal Ak
 
Difference between Java and c#
Difference between Java and c#Difference between Java and c#
Difference between Java and c#
Sagar Pednekar
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp Presentation
Vishwa Mohan
 
Mark asoi ppt
Mark asoi pptMark asoi ppt
Mark asoi pptmark-asoi
 
iOS Development at Scale @Chegg
iOS Development at Scale @CheggiOS Development at Scale @Chegg
iOS Development at Scale @Chegg
GalOrlanczyk
 
How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# Programmer
LearnItFirst.com
 

What's hot (18)

Tutorial c#
Tutorial c#Tutorial c#
Tutorial c#
 
OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ OO Design and Design Patterns in C++
OO Design and Design Patterns in C++
 
Advanced Java Topics
Advanced Java TopicsAdvanced Java Topics
Advanced Java Topics
 
C plus plus for hackers it security
C plus plus for hackers it securityC plus plus for hackers it security
C plus plus for hackers it security
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
 
Deep C
Deep CDeep C
Deep C
 
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzingDEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
 
C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#
 
His162013 140529214456-phpapp01
His162013 140529214456-phpapp01His162013 140529214456-phpapp01
His162013 140529214456-phpapp01
 
Metaprogramming
MetaprogrammingMetaprogramming
Metaprogramming
 
C sharp
C sharpC sharp
C sharp
 
API Design
API DesignAPI Design
API Design
 
C++ to java
C++ to javaC++ to java
C++ to java
 
Difference between Java and c#
Difference between Java and c#Difference between Java and c#
Difference between Java and c#
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp Presentation
 
Mark asoi ppt
Mark asoi pptMark asoi ppt
Mark asoi ppt
 
iOS Development at Scale @Chegg
iOS Development at Scale @CheggiOS Development at Scale @Chegg
iOS Development at Scale @Chegg
 
How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# Programmer
 

Similar to Droidcon London 2021 - Full Stack Dart

presentation @ docker meetup
presentation @ docker meetuppresentation @ docker meetup
presentation @ docker meetup
Daniël van Gils
 
Deploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and KubernetesDeploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and Kubernetes
PetteriTeikariPhD
 
QConSF 2022 - Backends in Dart
QConSF 2022 - Backends in DartQConSF 2022 - Backends in Dart
QConSF 2022 - Backends in Dart
Chris Swan
 
Desktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféDesktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex Café
Angelo Corsaro
 
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex CafeDesktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
ADLINK Technology IoT
 
Flutter Vikings 2022 - Full Stack Dart
Flutter Vikings 2022  - Full Stack DartFlutter Vikings 2022  - Full Stack Dart
Flutter Vikings 2022 - Full Stack Dart
Chris Swan
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Ajeet Singh Raina
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
BalaBit
 
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefernTechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
Marc Müller
 
Better Operations into the Cloud
Better Operations  into the CloudBetter Operations  into the Cloud
Better Operations into the Cloud
Fabio Ferrari
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
IRJET Journal
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
Erik Osterman
 
Axigen on docker
Axigen on dockerAxigen on docker
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
DevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDKDevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDK
Crocodile WebRTC SDK and Cloud Signalling Network
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
Fandogh Cloud workshop slides
Fandogh Cloud workshop slides Fandogh Cloud workshop slides
Fandogh Cloud workshop slides
ssarabadani
 
The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019
Ahmed Abu Eldahab
 
Docker at SourceLair | Paris Kasidiaris | 1st Docker Crete Meetup
Docker at SourceLair | Paris Kasidiaris | 1st Docker Crete Meetup Docker at SourceLair | Paris Kasidiaris | 1st Docker Crete Meetup
Docker at SourceLair | Paris Kasidiaris | 1st Docker Crete Meetup
Alexandra Karapidaki
 
Flutter Festival London 2022 - End to end IoT with Dart and Flutter
Flutter Festival London 2022 - End to end IoT with Dart and FlutterFlutter Festival London 2022 - End to end IoT with Dart and Flutter
Flutter Festival London 2022 - End to end IoT with Dart and Flutter
Chris Swan
 

Similar to Droidcon London 2021 - Full Stack Dart (20)

presentation @ docker meetup
presentation @ docker meetuppresentation @ docker meetup
presentation @ docker meetup
 
Deploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and KubernetesDeploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and Kubernetes
 
QConSF 2022 - Backends in Dart
QConSF 2022 - Backends in DartQConSF 2022 - Backends in Dart
QConSF 2022 - Backends in Dart
 
Desktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféDesktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex Café
 
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex CafeDesktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
 
Flutter Vikings 2022 - Full Stack Dart
Flutter Vikings 2022  - Full Stack DartFlutter Vikings 2022  - Full Stack Dart
Flutter Vikings 2022 - Full Stack Dart
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
 
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefernTechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
 
Better Operations into the Cloud
Better Operations  into the CloudBetter Operations  into the Cloud
Better Operations into the Cloud
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
 
Axigen on docker
Axigen on dockerAxigen on docker
Axigen on docker
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
DevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDKDevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDK
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
Fandogh Cloud workshop slides
Fandogh Cloud workshop slides Fandogh Cloud workshop slides
Fandogh Cloud workshop slides
 
The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019
 
Docker at SourceLair | Paris Kasidiaris | 1st Docker Crete Meetup
Docker at SourceLair | Paris Kasidiaris | 1st Docker Crete Meetup Docker at SourceLair | Paris Kasidiaris | 1st Docker Crete Meetup
Docker at SourceLair | Paris Kasidiaris | 1st Docker Crete Meetup
 
Flutter Festival London 2022 - End to end IoT with Dart and Flutter
Flutter Festival London 2022 - End to end IoT with Dart and FlutterFlutter Festival London 2022 - End to end IoT with Dart and Flutter
Flutter Festival London 2022 - End to end IoT with Dart and Flutter
 

More from Chris Swan

LNETM - Atsign - Privacy with Personal Data Services
LNETM - Atsign - Privacy with Personal Data ServicesLNETM - Atsign - Privacy with Personal Data Services
LNETM - Atsign - Privacy with Personal Data Services
Chris Swan
 
SOOCon24 - Showing that you care about security - OpenSSF Scorecards
SOOCon24 - Showing that you care about security - OpenSSF ScorecardsSOOCon24 - Showing that you care about security - OpenSSF Scorecards
SOOCon24 - Showing that you care about security - OpenSSF Scorecards
Chris Swan
 
All Day DevOps 2023 - Implementing OSSF Scorecards Across an Organisation.pdf
All Day DevOps 2023 - Implementing OSSF Scorecards Across an Organisation.pdfAll Day DevOps 2023 - Implementing OSSF Scorecards Across an Organisation.pdf
All Day DevOps 2023 - Implementing OSSF Scorecards Across an Organisation.pdf
Chris Swan
 
Fluttercon Berlin 23 - Dart & Flutter on RISC-V
Fluttercon Berlin 23 - Dart & Flutter on RISC-VFluttercon Berlin 23 - Dart & Flutter on RISC-V
Fluttercon Berlin 23 - Dart & Flutter on RISC-V
Chris Swan
 
QConNY 2023 - Implementing OSSF Scorecards Across an Organisation
QConNY 2023 - Implementing OSSF Scorecards Across an OrganisationQConNY 2023 - Implementing OSSF Scorecards Across an Organisation
QConNY 2023 - Implementing OSSF Scorecards Across an Organisation
Chris Swan
 
Flutter SV Meetup Oct 2022 - End to end encrypted IoT with Dart and Flutter
Flutter SV Meetup Oct 2022 - End to end encrypted IoT with Dart and FlutterFlutter SV Meetup Oct 2022 - End to end encrypted IoT with Dart and Flutter
Flutter SV Meetup Oct 2022 - End to end encrypted IoT with Dart and Flutter
Chris Swan
 
London IoT Meetup Sep 2022 - End to end encrypted IoT
London IoT Meetup Sep 2022 - End to end encrypted IoTLondon IoT Meetup Sep 2022 - End to end encrypted IoT
London IoT Meetup Sep 2022 - End to end encrypted IoT
Chris Swan
 
Flutter Vikings 2022 - End to end IoT with Dart and Flutter
Flutter Vikings 2022 - End to end IoT with Dart and FlutterFlutter Vikings 2022 - End to end IoT with Dart and Flutter
Flutter Vikings 2022 - End to end IoT with Dart and Flutter
Chris Swan
 
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
Chris Swan
 
Devoxx UK 2022 - Application security: What should the attack landscape look ...
Devoxx UK 2022 - Application security: What should the attack landscape look ...Devoxx UK 2022 - Application security: What should the attack landscape look ...
Devoxx UK 2022 - Application security: What should the attack landscape look ...
Chris Swan
 
Full Stack Squared 2022 - Power of Open Source
Full Stack Squared 2022   - Power of Open SourceFull Stack Squared 2022   - Power of Open Source
Full Stack Squared 2022 - Power of Open Source
Chris Swan
 
Keeping a project going
Keeping a project goingKeeping a project going
Keeping a project going
Chris Swan
 
TMS9995 on RC2014
TMS9995 on RC2014TMS9995 on RC2014
TMS9995 on RC2014
Chris Swan
 
CloudCamp London Nov 2019 Intro
CloudCamp London Nov 2019 IntroCloudCamp London Nov 2019 Intro
CloudCamp London Nov 2019 Intro
Chris Swan
 
DevSecOps Days London - Teaching 'Shift Left on Security'
DevSecOps Days London - Teaching 'Shift Left on Security'DevSecOps Days London - Teaching 'Shift Left on Security'
DevSecOps Days London - Teaching 'Shift Left on Security'
Chris Swan
 
Cooking with a touch of science and a dash of engineering
Cooking with a touch of science and a dash of engineeringCooking with a touch of science and a dash of engineering
Cooking with a touch of science and a dash of engineering
Chris Swan
 
Agile Enterprise Rome 2018 - Ops and Security in a PaaS and Serverless world
Agile Enterprise Rome 2018 - Ops and Security in a PaaS and Serverless worldAgile Enterprise Rome 2018 - Ops and Security in a PaaS and Serverless world
Agile Enterprise Rome 2018 - Ops and Security in a PaaS and Serverless world
Chris Swan
 
The Marginal Cost of Making Mistakes
The Marginal Cost of Making MistakesThe Marginal Cost of Making Mistakes
The Marginal Cost of Making Mistakes
Chris Swan
 
CloudCamp London 8 Mar 2018 - Douglas Adams
CloudCamp London 8 Mar 2018 - Douglas AdamsCloudCamp London 8 Mar 2018 - Douglas Adams
CloudCamp London 8 Mar 2018 - Douglas Adams
Chris Swan
 
Jeffconf 2017 LessOps
Jeffconf 2017 LessOpsJeffconf 2017 LessOps
Jeffconf 2017 LessOps
Chris Swan
 

More from Chris Swan (20)

LNETM - Atsign - Privacy with Personal Data Services
LNETM - Atsign - Privacy with Personal Data ServicesLNETM - Atsign - Privacy with Personal Data Services
LNETM - Atsign - Privacy with Personal Data Services
 
SOOCon24 - Showing that you care about security - OpenSSF Scorecards
SOOCon24 - Showing that you care about security - OpenSSF ScorecardsSOOCon24 - Showing that you care about security - OpenSSF Scorecards
SOOCon24 - Showing that you care about security - OpenSSF Scorecards
 
All Day DevOps 2023 - Implementing OSSF Scorecards Across an Organisation.pdf
All Day DevOps 2023 - Implementing OSSF Scorecards Across an Organisation.pdfAll Day DevOps 2023 - Implementing OSSF Scorecards Across an Organisation.pdf
All Day DevOps 2023 - Implementing OSSF Scorecards Across an Organisation.pdf
 
Fluttercon Berlin 23 - Dart & Flutter on RISC-V
Fluttercon Berlin 23 - Dart & Flutter on RISC-VFluttercon Berlin 23 - Dart & Flutter on RISC-V
Fluttercon Berlin 23 - Dart & Flutter on RISC-V
 
QConNY 2023 - Implementing OSSF Scorecards Across an Organisation
QConNY 2023 - Implementing OSSF Scorecards Across an OrganisationQConNY 2023 - Implementing OSSF Scorecards Across an Organisation
QConNY 2023 - Implementing OSSF Scorecards Across an Organisation
 
Flutter SV Meetup Oct 2022 - End to end encrypted IoT with Dart and Flutter
Flutter SV Meetup Oct 2022 - End to end encrypted IoT with Dart and FlutterFlutter SV Meetup Oct 2022 - End to end encrypted IoT with Dart and Flutter
Flutter SV Meetup Oct 2022 - End to end encrypted IoT with Dart and Flutter
 
London IoT Meetup Sep 2022 - End to end encrypted IoT
London IoT Meetup Sep 2022 - End to end encrypted IoTLondon IoT Meetup Sep 2022 - End to end encrypted IoT
London IoT Meetup Sep 2022 - End to end encrypted IoT
 
Flutter Vikings 2022 - End to end IoT with Dart and Flutter
Flutter Vikings 2022 - End to end IoT with Dart and FlutterFlutter Vikings 2022 - End to end IoT with Dart and Flutter
Flutter Vikings 2022 - End to end IoT with Dart and Flutter
 
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
 
Devoxx UK 2022 - Application security: What should the attack landscape look ...
Devoxx UK 2022 - Application security: What should the attack landscape look ...Devoxx UK 2022 - Application security: What should the attack landscape look ...
Devoxx UK 2022 - Application security: What should the attack landscape look ...
 
Full Stack Squared 2022 - Power of Open Source
Full Stack Squared 2022   - Power of Open SourceFull Stack Squared 2022   - Power of Open Source
Full Stack Squared 2022 - Power of Open Source
 
Keeping a project going
Keeping a project goingKeeping a project going
Keeping a project going
 
TMS9995 on RC2014
TMS9995 on RC2014TMS9995 on RC2014
TMS9995 on RC2014
 
CloudCamp London Nov 2019 Intro
CloudCamp London Nov 2019 IntroCloudCamp London Nov 2019 Intro
CloudCamp London Nov 2019 Intro
 
DevSecOps Days London - Teaching 'Shift Left on Security'
DevSecOps Days London - Teaching 'Shift Left on Security'DevSecOps Days London - Teaching 'Shift Left on Security'
DevSecOps Days London - Teaching 'Shift Left on Security'
 
Cooking with a touch of science and a dash of engineering
Cooking with a touch of science and a dash of engineeringCooking with a touch of science and a dash of engineering
Cooking with a touch of science and a dash of engineering
 
Agile Enterprise Rome 2018 - Ops and Security in a PaaS and Serverless world
Agile Enterprise Rome 2018 - Ops and Security in a PaaS and Serverless worldAgile Enterprise Rome 2018 - Ops and Security in a PaaS and Serverless world
Agile Enterprise Rome 2018 - Ops and Security in a PaaS and Serverless world
 
The Marginal Cost of Making Mistakes
The Marginal Cost of Making MistakesThe Marginal Cost of Making Mistakes
The Marginal Cost of Making Mistakes
 
CloudCamp London 8 Mar 2018 - Douglas Adams
CloudCamp London 8 Mar 2018 - Douglas AdamsCloudCamp London 8 Mar 2018 - Douglas Adams
CloudCamp London 8 Mar 2018 - Douglas Adams
 
Jeffconf 2017 LessOps
Jeffconf 2017 LessOpsJeffconf 2017 LessOps
Jeffconf 2017 LessOps
 

Recently uploaded

From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 

Recently uploaded (20)

From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 

Droidcon London 2021 - Full Stack Dart

  • 1. © 2021 - The @ Company | atsign.dev Full Stack Dart DroidCon London - October 2021
  • 2. © 2021 - The @ Company | atsign.dev
  • 3. © 2021 - The @ Company | atsign.dev A brief introduction Engineer, The @ Company, building a platform that puts people in control of their data. Co-host, Tech Debt Burndown Podcast Cloud Editor, InfoQ Blogger blog.thestateofme.com Links to socials etc. at chris.swanz.net
  • 4. © 2021 - The @ Company | atsign.dev Agenda ➔ Why Dart? ➔ Language features ➔ JIT vs AOT ➔ Dart on Docker ➔ Functions Framework for Dart ➔ Profiling and performance management ➔ Other places you can learn more ➔ Call to action - try out the Functions Framework Examples
  • 6. © 2021 - The @ Company | atsign.dev “Dart is a client-optimized language for fast apps on any platform” dart.dev
  • 7. © 2021 - The @ Company | atsign.dev Flutter pulled Dart into the Redmonk Top 20 1 JavaScript 2 Python 2 Java 4 PHP 5 CSS 5 C++ 5 C# 8 TypeScript 9 Ruby 10 C 11 Swift 12 R 13 Objective-C 14 Shell 14 Scala 16 Go 17 PowerShell 18 Kotlin 19 Rust 20 Dart
  • 9. ‘Hello World!’ void main() { print('Hello, World!'); }
  • 10. Garbage antipattern (just like Java or C#) // Create an object of arguments to pass var args = ['parent-element', 'child-element']; // Create a result object and call function var value = getValue(args); // Null test value of result object if (value != null) { // Return result object return value; }
  • 11. Async/await (like JavaScript) Future<String> createOrderMessage() async { var order = await fetchUserOrder(); return 'Your order is: $order'; } Future<String> fetchUserOrder() => // Imagine that this function is // more complex and slow. Future.delayed( const Duration(seconds: 2), () => 'Large Latte', ); Future<void> main() async { print('Fetching user order...'); print(await createOrderMessage()); }
  • 12. Concurrency - Isolates “independent workers that are similar to threads but don’t share memory, communicating only through messages”
  • 13. Sound null safety (since Dart 2.12, Mar 2021) // In null-safe Dart, none of these can ever be null. var i = 42; // Inferred to be an int. String name = getFileName(); final b = Foo(); // To indicate that a variable might have the value null // just add ? to its type declaration int? aNullableInt = null;
  • 15. Package Manager - pub.dev
  • 17. Dartshowplatform - A more useful ‘Hello World!’ import 'dart:io' show Platform, stdout; void main() { print(Platform.version); } 2.14.4 (stable) (Wed Oct 13 11:11:32 2021 +0200) on "linux_arm64"
  • 18. JIT - Just `dart run` it in the virtual machine $ time dart run showplatform.dart 2.14.4 (stable) (Wed Oct 13 11:11:32 2021 +0200) on "linux_arm64" real 0m6.280s user 0m5.050s sys 0m0.915s
  • 19. AOT - Compile it first then run the binary $ dart compile exe showplatform.dart $ time ./showplatform.exe 2.14.4 (stable) (Wed Oct 13 11:11:32 2021 +0200) on "linux_arm64" real 0m0.028s user 0m0.019s sys 0m0.009s
  • 20. Trade off - compilation is slow $ time dart compile exe showplatform.dart Info: Compiling with sound null safety Generated: showplatform.exe real 0m17.434s user 0m20.912s sys 0m2.958s
  • 22. A typical Dockerfile for AOT compiled Dart binary FROM dart AS build WORKDIR /app COPY ./mydemoapp.dart . RUN dart pub get RUN dart compile exe /app/mydemoapp.dart -o /app/mydemoapp FROM scratch COPY --from=build /runtime/ / COPY --from=build /app/mydemoapp /app/mydemoapp ENTRYPOINT ["/app/mydemoapp"]
  • 23. Image sizes for a trivial application
  • 24. Image sizes for a non trivial application
  • 26. GoogleCloudPlatform/functions-framework-dart The Functions Framework lets you write lightweight functions that run in many different environments, including: ● Your local development machine ● Google Cloud Run - see cloud run quickstart ● Google App Engine ● Knative-based environments Google Cloud Functions does not currently provide an officially supported Dart language runtime, but we're working to make running on Google Cloud Run as seamless and symmetric an experience as possible for your Dart Functions Framework projects.
  • 27. examples/hello/lib/functions.dart import 'package:functions_framework/functions_framework.dart'; import 'package:shelf/shelf.dart'; @CloudFunction() Response function(Request request) => Response.ok('Hello, World!'); $ curl https://"$YOUR_APP_URL" Hello, World! All without needing to worry about writing an HTTP server or request handling logic. To:
  • 32. But… DevTools need to connect to a VM, so JIT only
  • 33. Other places where you can learn more
  • 37. Call to action: Try the Functions Framework Examples
  • 38. Qwiklabs - Dart Functions Framework https://www.qwiklabs.com/focuses/18213
  • 39. Free Qwiklabs from Cloud Skills Challenge https://inthecloud.withgoogle.com/google-cloud-skills/register.html
  • 40. © 2021 - The @ Company | atsign.dev 40 Review ➔ Why Dart? ➔ Language features ➔ JIT vs AOT ➔ Dart on Docker ➔ Functions Framework for Dart ➔ Profiling and performance management ➔ Other places you can learn more ➔ Call to action - try out the Functions Framework Examples
  • 43. At The @ Company (The At Company) we are technologists, creators, and builders with one thing in common: We love the Internet. You could go so far as to call us Internet optimists. Though we acknowledge that the Internet has deep flaws, we believe that we can extract all its goodness without sacrificing our privacy, time, and control over our digital identities. We’ve committed ourselves to the creation of a more human Internet where privacy is a fundamental right and everyone owns their own data. Let’s say goodbye to the fear and paranoia caused by data breaches and unsolicited online surveillance. We’ve developed a fully-secure, privacy-compliant technology powering customer mobile applications: the @protocol, and with unique identifiers called @signs that act as keys into these experiences. With like-minded partners we’re resolving these long-standing issues with a spirit of fun, not fear, and with delightful customer experiences. FACT SHEET Founded : 2019, by Barbara Tallent, Colin Constable, and Kevin Nickels, 30+ years executive experience at NCD/Netmanage, Credit Suisse, Deutsche Bank, Juniper Networks, Founded 3 prior startups, 3 exits. Chairman: Kim Perdikou, PCNET, Reader’s Digest, most recently CIO, GM, EVP Juniper Networks HQ : Virtual offices, with base in San Jose, CA. Funding : $11M seed, May, 2021 Employees: 22 Patents : 15 pending Website : https://atsign.com