Slide 1

Slide 1 text

Protobuf Integration into Flutter Projects Casey Matson-deKay

Slide 2

Slide 2 text

Agenda 1 2 3 4 5 What is Protobuf? Why is it useful? Using Protobuf in an example Flutter project. How we use Protobuf at Common Events. Come get involved! Questions

Slide 3

Slide 3 text

Tool for defining structured data types… 1 …when datatypes are shared between multiple programming environments… What is Protobuf? When to use it? 2 …and you have control over those different environments. 3

Slide 4

Slide 4 text

An Example - Dam Inspections with Drones

Slide 5

Slide 5 text

An Example - Dam Inspections with Drones

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

● Windows / Linux Application ● Written in .Net, C++, maybe Flutter ● Running on a laptop ● Shows lots of technical info, commands, etc ● Written in C ● Running on a microcontroller ● Only a few MB of memory

Slide 10

Slide 10 text

● Windows / Linux Application ● Written in .Net, C++, maybe Flutter ● Running on a laptop ● Shows lots of technical info, commands, etc ● Written in C ● Running on a microcontroller ● Only a few MB of memory

Slide 11

Slide 11 text

● Windows / Linux Application ● Written in .Net, C++, maybe Flutter ● Running on a laptop ● Shows lots of technical info, commands, etc ● Written in C ● Running on a microcontroller ● Only a few MB of memory

Slide 12

Slide 12 text

● Windows / Linux Application ● Written in .Net, C++, maybe Flutter ● Running on a laptop ● Shows lots of technical info, commands, etc ● Written in C ● Running on a microcontroller ● Only a few MB of memory ● Web Application ● Written in HTML / JS ● Shows less info than the pilot sees

Slide 13

Slide 13 text

● Windows / Linux Application ● Written in .Net, C++, maybe Flutter ● Running on a laptop ● Shows lots of technical info, commands, etc ● Written in C ● Running on a microcontroller ● Only a few MB of memory ● Web Application ● Written in HTML / JS ● Shows less info than the pilot sees ● Shared, structured data format ● Shared, structured data format ● Shared, structured data format

Slide 14

Slide 14 text

● Windows / Linux Application ● Written in .Net, C++, maybe Flutter ● Running on a laptop ● Shows lots of technical info, commands, etc ● Written in C ● Running on a microcontroller ● Only a few MB of memory ● Web Application ● Written in HTML / JS ● Shows less info than the pilot sees ● Shared, structured data format ● Shared, structured data format ● Shared, structured data format ● Telemetry ● Measurement Instrument Status ● Battery level ● Error / diagnostic info ● Etc

Slide 15

Slide 15 text

Common UI Definition

Slide 16

Slide 16 text

Common Data Definition

Slide 17

Slide 17 text

Let’s do an example

Slide 18

Slide 18 text

Defining a common data structure. + Compiling .proto file to Dart & Python. Transmitting serialized data between Python and Dart. What have we seen? + + Generation of native objects in both languages. +

Slide 19

Slide 19 text

There’s only 1 programming environment, and probably always will be. + You don’t have full control over each programming environment. Data definitions don’t change very often. You enjoy dealing with type errors / missing field errors in production… When you should NOT use Protobuf + + +

Slide 20

Slide 20 text

How we use this at Common Events

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Come get Involved!

Slide 23

Slide 23 text

We can offer you a competitive salary of….

Slide 24

Slide 24 text

$0

Slide 25

Slide 25 text

Last thing… v

Slide 26

Slide 26 text

Last thing… v

Slide 27

Slide 27 text

Thank you! Questions? v Company LinkedIn My Linkedin Celebrate May 22nd