►
From YouTube: S106 - Complete Awesomeness for Mobile .NET Developers
Description
Join James Montemagno, Microsoft Program Manager for Mobile Developers tools, as he takes you through a journey of super rad and awesome libraries, tools, and IDE features that are available for mobile .NET developers build iOS, Android, and UWP applications with Xamarin and Xamarin.Forms. He will show off the latest and greatest libraries that developers can take advantage of to share more code than ever, tweaks and optimizations that you can make to your apps for super charge them, and tons of tips and tricks from James' and his 7 years of mobile development with Xamarin.
A
Welcome
back
everyone
to
dodge
net
comp,
2018
I'm,
James,
Mountain,
magno
and
today
I'm
bringing
the
energy
because
Tim
Heuer
told
me
to
and
I'm
talking
about
complete
mobile
net
awesomeness
everything
in
the
world
of
dotnet
for
iOS
Android,
Windows,
Mac.
Anything
that
you
can
possibly
imagine,
because
Donette
is
absolutely
incredible,
especially
when
you
want
to
target
platforms
that
everyone's
using.
So
whether
you
want
to
develop
for
iOS
Android.
We
have
something
for
you
and
you're
able
to
not
only
create
beautiful
native
user
interfaces
but
share
code
between
all
of
them
as
well.
A
Now
before
I
get
started,
I
want
to
tell
you
about
what
I
do
here
at
Microsoft
and
the
one
thing
that
I'm
focused
on
one
focus
on
many
things,
but
is
to
ensure
that
you
have
an
amazing
time:
building
mobile
applications
with
xamarin
and
dotnet
I
love.
All
of
you,
I
love,
all
of
you
that
have
been
in
the
community
for
a
long
time,
contributing
an
open
source,
creating
amazing
new
get
library
packages
and
anyone.
That's
new,
coming
for
the
first
time,
looking
to
build
your
very
first
mobile
application,
I'm
here.
A
For
you,
my
entire
job
is
to
ensure
that
you
are
productive,
building,
awesome
mobile
applications.
You
have
my
direct
email
line,
Mott's
at
Microsoft,
comm
I
am
here
for
you
for
anything
that
you
possibly
need
you're
running
into
a
getting
started
issue.
You
have
a
question
about
best
practices.
You
just
want
to
chat
email
me
it's
directly
here
for
you
at
any
time
and
I
want
to
chat
with
you.
I
want
to
know.
A
What's
going
on
how
I
can
help
you
and
the
team
here
make
sure
that
we
build
the
best
tool
as
possible,
so
you're
super
productive
building,
mobile
applications,
so
I'm
here,
for
you
just
want
to
let
you
know
and
no
matter
anything
that
you
need
Twitter
email
or
just
hit
me
up
on
my
website.
So
today
what
I'm
gonna
focus
on
into
the
world
of
dotnet?
A
What
I
love
about
Don
net
is
truly
a
platform
that
you
can
build
for
anything
whether
you
want
to
build
desktop
web
mobile
gaming,
IOT,
AI,
you're
gonna,
see
it
all
here
on
dawna
comp
now,
I'm
gonna
be
focusing
on
that
mobile
part
for
iOS
and
Android
development.
That's
what
I've
been
doing
now
for
over
seven
years,
I
moved
to
Seattle
over
seven
years
ago
become
a
mobile
developer.
A
We've
said
it
since
day,
one
that
anything
that
you
can
do
an
objective-c,
Swift
or
Java.
You
can
do
it
in
c-sharp,
with
visual
studio
and
share
code
across
all
of
your
platforms.
So
if
your
a.net
developer
coming
in
you
already
know
all
that
business
logic
and
I'm
gonna
build
an
application
and
show
you
that
what
I'm
building
here
you
can
do
it
yourself
at
home
if
you've
coming
from
as
a
Mahler
or
even
a
native,
iOS
or
Android,
you
know
all
those
API
is
to
and
coming
in
and
building
user
interfaces
is
super
simple.
A
Now
the
beautiful
part
about
Donette
for
mobile
is
that
it
shares
the
entire
logic
of
Donette
itself,
building
a
beautiful,
shared,
c-sharp
business
logic
layer.
All
your
models
view
models,
restful
service
calls,
as
your
integrations
things
are
the
same
across
each
application.
It
doesn't
matter
that
it's
running
on
iOS
or
on
Android,
it's
just
dotnet
code
that
we're
gonna
be
running,
but
the
best
part
here
is
you
get
access
to
all
those
great
iOS,
Android
and
Windows
API,
sort
of
anything
else
that
you're
developing.
A
For
so,
if
there's
something
that
you
want
to
do
on
iOS,
you
can
you've
accessed
a
core
location,
core
Bluetooth
same
thing
with
Android
Google,
Play
services,
Android
support
libraries.
We
give
you
access
to
everything,
that's
in
there
and
everything
compiles
on
into
native
application.
Do
you
deploy
internally
at
your
company
or
out
to
Google
Play
or
the
Apple
App
Store,
or
the
Microsoft
Store,
wherever
you
want
to
take
your
application
now?
A
The
ability
to
the
best
part
here
is
that
we
fall
in
line
with
the
ability
to
share
code
across
all
of
the
platforms,
with.net
standard
libraries,
it's
a
single
library
that
you
create
that
you
can
share
all
of
your
business
logic
and
if
you're,
developing
application
will
examine
even
some
of
your
user
interface
and
get
access
to
those
native
api's
too
I'm
gonna
show
you
all
this
today.
So,
let's
get
into
it.
Let's
talk
about
Android,
it's
my
favorite
platform
because
I
love,
it
I've
been
a
fan
for
a
long
long
time.
A
Android
pee
just
came
out
so
Android
Pi
and
we
just
ship
support
for
it
with
xamarin.
We
had
a
long
dev
preview
and
the
same
thing
for
iOS
long,
dev
preview,
the
latest
iOS
and
Android
bits
and
pieces.
Now.
Not
only
did
we
release
the
brand
new
Android
SDK
or,
if
you're
coming
and
just
want
to
build
an
Android
application.
We
have
some
brand
new
tooling.
A
That's
really
really
awesome
to
help
you
be
more
productive,
so
I
figured
what
I
would
do
is
actually
take
you
on
a
little
demo
tour
of
going
around
our
new
production,
tooling
for
Android
development
inside
a
Visual,
Studio
2017
and
Visual
Studio
for
Mac.
So,
let's
head
over
to
my
desktop
here
and
I'm
gonna
pull
up
my
demo
application.
A
Now
when
you
come
in
and
say
file
new
project,
what
this
will
do
is
load
up
all
of
the
projects,
so
you
have
Android,
there's
Android
or
saml-based
application,
Apple,
TV,
Apple
watch,
iPad,
iPhone
applications
and
even
iOS
extension.
So
you
have
everything
here.
So
what
I
did
is
I
created
an
Android
application
with
the
native
Android
XML
user
interface?
So
if
I
zoom
in
over
to
my
right
hand,
side
I
have
all
my
references
so
I
have
some
Android
support.
Libraries
mono
Android
and
some
system
libraries
here
as
an
Android
application.
A
You
can
see
here
and
I
have
an
activity
file
and
some
resources,
so
Android
resources
or
where
any
of
your
icons
or
string
translations
live
inside
of
here.
I
have
some
colors
I've
background,
colors
string,
translations
and
then
I
have
my
main
layout.
So
these
are
a
representation
of
my
user
interface.
So
the
first
thing
that
we'll
see
here
is
that
I
have
my
main
UI
I
have
a
text
view
that
says:
awesome
login
and
edit
text
and
a
button.
What
we're
leveraging
here
is
a
brand-new
designer
split
view.
A
So
I
can
come
in
and
I
can
expand.
The
pane
right
here,
I
can
swap
it
over.
I
can
go
horizontal
if
I
want
to
or
go
back
down
use
the
same
exact
designer
that
you
may
interface
and
splitview
that
you
may
be
used
to
from
WPF
or
UWP.
What's
great,
is
that
it's
actually
on
by
default,
but
you
can
always
come
in
to
tools,
options
and
under
xamarin
you
have
Android
UI
design,
so
you
can
ensure
what
view
that
you
may
want.
A
You
can
turn
off
a
hundred
percent
if
you
want
to-
or
you
can
say,
horizontal
or
default,
and
you
can
also
ensure
that
you
can
enable
accelerated
rendering
now,
we've
also
really
sped
up
the
UI
here
when
seeing
your
preview
of
your
user
interface.
So
if
I
come
in
and
start
typing
inside
of
here,
we
should
be
able
to
see
our
user
interface
ideally
update
over
here.
Nope.
Let's
go
ahead
and
reopen
that
one.
A
So
what
happens
when
you
let
it
sit
around
for
a
while
there
we
go
so
leave
reload,
you
see
how
fast
it
reloaded,
which
is
great
and
then
I
can
start
typing.
So
so
I
can
say,
login
I
can
add.
Exclamation
point
boom
good
to
go
now.
Let
me
focus
a
little
bit
on
some
of
the
other
things
that
we're
doing
over
inside
of
our
sam'l
or
Android
XML
editor.
So
the
first
thing
that
we're
gonna
see
is
that
I
have
some
colors
here
now.
A
If
I
hover
over
the
color
I
see
all
information,
this
is
an
Android
attribute
of
color
coming
in
I
can
have
my
own
colors
or
I
can
use
Android
system
ones
that
are
coming
in
here
now.
It's
also
great
here
is
that
I
can
see.
Android
text
login,
but
I
can
also
say
string.
Slash
and
I
could
get
all
of
the
intellisense
of
all
of
the
Android
built
in
strings
or
the
ones
that
are
in
my
resources.
A
So
if
I
say
login
now
notice
that
I
even
type
out
it
there,
but
it
kept
the
intellisense
there.
I
can
see
that
I
have
login
hint
and
login
button
and
I
don't
even
need
to
go
to
the
resource
because
it
shows
me
the
login
there
so
there
we
go
now
also
point
out
here
that
we
did
this
for
all
sorts
of
goodies.
So
if
I
just
say
background
here,
type
that
in
and
say
color
slash,
you
know
gray,
it
shows
me
the
hex
value
here.
A
I
can
go
and
add
it
and
it
automatically
updates
right
over
in
the
designer
view,
which
is
really
nice
again,
then
I
can
just
come
in
hover
over
them
good
to
go
now
notice
that
I'm
using
that
system
resource
of
login,
so
it
actually
shows
login
over
on
the
left
hand,
side
now,
once
I
click
on
the
actual
design
surface.
A
few
other
things
happen,
I
get
a
full
document
outline
I
get
my
toolbox
or
I
can
drag
and
drop
items,
but
most
importantly,
is
I
can
come
over
and
get
full
properties
coming
in.
A
So
a
brand
new
property
grid
giving
you
access
to
every
single
thing
right
here,
so
I
want
to
come
in
and
say
background:
I
can
filter
it
down.
I
can
actually
type
on
here.
I
can
do
a
local
resource.
I'll
cost
sum
expression,
so
I
can
come
in
and
add
a
resource
here
and
see
everything
built
in
I
can
also
just
tap
on
the
background.
A
Color
and
it'll
show
me
my
material
palette
that
I
can
select
from
here
and
I
can
say:
oh
I
want
that
color
and
then
it
updates
right
inside
my
property
grid
and
on
the
design
surface,
but
a
little
bit
further
over
here.
So
normally,
what
happens
here
is
I
might
have
a
login
view,
but
I
might
have
a
list
of
data.
So
I
have
a
few
more
pages
in
here
of
Android
XML
and
what
we're
gonna
see.
First,
is
that
my
list
view
comes
up,
but
it's
actually
a
recycler
view.
A
So
this
is
a
optimized
Android
recycler
view
and
I'll
point
out
here
that
our
intellisense
also
brings
in
all
of
the
custom
controls
Android
support
layout,
so
things
you
me
had
a
hard
time
finding
before
right,
built
right
in
so
now.
If
I
come
in,
we
have
this
special
thing
called
tools.
So
I'm
gonna
drop
this
down
a
little
bit
here
and
we
see
Android
xmlns
tools,
so
these
are
special
flags
that
are
kind
of
design-time
attributes.
A
So
we're
able
to
add
our
own
or
optimize
our
designer
view
to
show
things
that
are
built
into
this
tools
namespace.
So
the
first
thing
we're
going
to
see
is
item
count,
so
I
can
actually
come
in
and
say
well
show
me
like
10
items
and
the
the
design
view
will
show
me
0
through
9.
It's
not
super
pretty
because
it
has
no
idea
about
the
items
inside
of
it.
A
So
I
actually
have
an
item
template
inside
of
here
if
I
open
that
up
I'll
go
ahead
and
minimize
some
of
these
down,
and
the
first
thing
that
we're
gonna
see
is
that
I'm
also
using
tools
but
there's
some
data
here
and
the
data
is
coming
in
via
tools
because
we
added
sample
data
support.
So
normally
you
wouldn't
have
anything
in
your
image
view
or
texture.
You'd
have
to
hard
code
something
or
update
it
in
the
code
behind
but
see
here.
I
have
tools
sample
avatars
for
the
source.
A
Additionally,
down
here,
I
have
full
names
in
cities
that
are
showing
up,
and
these
are
generated
by
us
that
can
come
in
via
the
tools
we
have
a
great
blog
post
on
our
xamarin
blog
about.
What's
new
in
the
designer
we
show
you,
we
have
cities,
names,
street
names,
surnames,
full
names
and
avatars
that
the
designer
can
pull
in
now.
It's
great
here
is
that
I
can
now
see
my
user
interface
without
having
to
set
background
colors
or
do
anything
fancy
schmancy,
but
the
best
part
here
is
I
know.
A
Item
list
item
and
here,
I'm
gonna,
say
layout,
slash
sample
now,
I'm,
actually
gonna
select
the
sample
item,
which
is
the
layout
that
I
just
showed
you,
and
what
this
will
do
is
now
generate
off
that
sample
data,
which
is
a
whole
bunch
of
different
data.
Coming
in
and
show
me
everything
inside
my
list
view
here.
A
Now
I
also
want
to
talk
about
pain
points
when
it
comes
to
mobile
development.
For
me,
there's
a
lot
of
things
that
I
do
over
and
over
and
over
again
Miguel
talked
this
morning
about
build
times.
There's
other
little
tidbits
of
things
like
when
I
want
to
put
it
on
my
device
on
my
app
on
my
iOS
device.
I
want
to
publish
it
to
the
store
or
I
just
want
to
you
know,
get
it
working
and
see
it
on
an
emulator.
A
So
what
we've
done
is
listen
to
the
development
community
and
see
what
the
pain
points
are.
So
the
first
thing
I'll
talk
about
is
Android
now
first
up
is
that
Android
emulators
they've
always
kind
of
been
a
hot
mess.
Let's
be
honest,
so
we've
done
two
things.
First
and
foremost,
first
is
that
we
updated
our
Android
emulators
to
use
quick
boot
which
enables
a
snapshot
view
of
your
Android
emulator
in
the
latest
version
of
Visual
Studio.
We
have
preview
support
for
our
hyper-v
extension,
so
this
isn't
something
custom.
A
This
is
actually
the
extension
of
running
android,
google
emulators
on
type
of
hyper-v.
So
let's
play
this
video
of
file,
launch
of
a
prebuilt
application
and
just
deploying
and
getting
the
emulator
running
it
boots,
snapshots
in
and
I'm
ready
to
deploy
my
application,
it's
optimized
and
running
on
top
of
hyper-v
against
both
Intel
and
AMD
processors.
A
So
this
is
the
first
time
that
really
get
that
hardware
acceleration
on
both
Intel
and
AMD
powered
by
hyper-v
and
quick
boot
running
the
Google
Android
emulators,
so
I'll
play
that
back
one
more
time
in
case
you
didn't
believe
it
but
boom
there.
It
is
running
on
the
Android
emulators
additionally,
that
we
have
a
brand
new
SDK
manager,
emulator
manager
built
right
in,
and
we've
also
been
working
on,
simplifying
Android
SDK
management.
A
Now
this
is
a
problem
because
Android
has
a
whole
bunch
of
different
SDKs
that
you
can
target
compile
against
and
whenever
you
open
a
project,
let's
say
from
github
you
not
have
the
specific
Android
SDK
installed,
so
we
rolled
out
automatic
SDK
installing
it
will
automatically
notify
you
that
hey
you've
open
a
project
where
you
don't
have
the
SDK
and
we'll
just
download
only
the
pieces
that
you
need.
So
this
means-
and
now
you
know
to
worry
about
fiddling
around
in
the
Android
SDK
manager.
A
So
the
first
thing
that
I'll
talk
about
is
automatic
provisioning.
So
previously
you
had
to
kind
of
figure
out
where
your
your
iOS
Mac
build
agent
was
what
to
install
install
Visual
Studio
for
Mac,
but
now
we
just
do
it
all
for
you
over
SSH
connection,
will
automatically
detect
your
Mac
OS
mac
OS
machine
well
see
if
any
of
the
xamarin
iOS
pieces
are
installed,
including
Matt
Amano
and
ins
amber
and
iOS.
If
it's
already
there
cool
it'll
just
connect
automatically
else,
it
will
download
install
all
the
pieces
that
you
need.
A
On
top
of
that,
we
also
handle
automatic
provisioning
when
you
want
to
put
it
on
to
your
actual
device.
So,
for
instance,
here
I
want
to
go
ahead
and
login
with
my
Apple
account.
This
will
automatically
communicate
to
the
back-end
servers.
It'll
grab
my
machine
it'll
grab
all
of
my
certificates
and
provisioning
profiles,
and
now
on
every
single
iOS
application.
You
can
turn
on
automatic
provisioning.
So
what's
great
here
is
as
I
go
in
and
go
into.
The
properties
of
this
I
can
toggle
on
automatic
provisioning
for
my
debug
mode.
Now
what
this
does
is.
A
A
That's
available
right
now
today
inside
a
Visual
Studio,
but
let's
talk
about
cross-platform
talks
a
little
bit
about
iOS
and
a
little
bit
about
Android,
and
these
are
things
you
know
that
you'll
just
be
using
no
matter
what
type
of
you
know:
xamarin
development
that
you
might
be
doing,
but
often
developers
like
hey
I,
want
to
go
across
platform.
I
want
to
take
my
application.
I
want
to
run
it
over
here.
I
want
to
run
it
over
there.
I
want
to
run
it
everywhere.
A
So
when
we
talk
about
cross-platform
I've
talked
about
dotnet
standard,
the
ability
to
share
all
of
our
business
logic
across
iOS
Android
desktop
asp.net
core
anything
that
you
can
think
about.
When
it
comes
to
the
actual
user
interface.
We
have
a
story
for
that
now
later
on,
today,
David
will
be
coming
on
deep,
diving
into
zammurd
forms,
our
cross-platform
user
interface
for
iOS,
Android,
Mac
and
Windows.
What's
great
is
that
this
sits
on
top
of
xamarin,
enabling
you
to
share
a
bulk
of
your
business
logic,
and
some
are
you
use
it
interface?
A
Now
you
can
go
all-in
or
use
bits
or
pieces
of
xamarin
forms,
no
matter
how
you
like,
but
what's
great
here,
is
that
it's
the
native
user
interface,
so
I'll
be
creating
all
of
my
user
interface
in
zamel.
That's
shared
and
rendered
natively
across
iOS,
Android
and
Windows.
So
I
figured
the
best
way
to
show
this
and
accessing
some
of
these
native
api's
and
tooling
inside
a
visual
studio
that
we've
been
rolling
out
is
to
just
build
an
application.
A
So
let's
do
it
I'm
gonna
go
ahead
and
close
this
project
go
ahead
and
save
that
off
cuz.
Now
it's
the
perfect
application
and
I'm
gonna
go
ahead
and
bring
up
a
brand
new
project
that
I've
been
working
on
called
monkey.
Finder
6-thousand,
it's
very
important
that
we
know
where
all
the
monkeys
are
all
over
the
world
and
that
we
can
detect
anywhere
in
the
world
the
closest
monkey
to
us
it's
very
important.
These
are.
These
are
real
issues.
A
The
developers
have
to
be
concerned
with
so
this
application
is
a
xamarin
forms
application
and
we
have
a
Android,
iOS
and
uwp
head
project,
and
that's
where
you
would
write
any
platform,
specific
code
that
you
may
need,
but
we're
going
to
spend
all
of
our
time
inside
of
our
shared
code,
where
we
have
a
model
view
model
and
zamel
user
interface.
Now
I
created
this
project
by
going
in
saying
file
new
project
and
previously
I
showed
you
Android
Apple
watch
iOS,
but
under
cross-platform
you'll
find
mobile
application,
xamarin
forms,
and
that
will
create
your
project.
A
You
can
choose
what
had
projects
you
want
with
your
dotnet
standard
library.
Now
I've
brought
in
a
few
little
helper
libraries
here
so
I
have
some
nougats.
We
can
see
I'm
using
the
latest
and
greatest
I
have
xamarin
forms.
I
have
JSON
net
because
we're
gonna
deserialize,
some
JSON
I
have
a
little
mvvm
helpers
library
that
I
created
called
mvvm
helpers.
That
gives
some
additional
little
helpers
when
raising
property
change
notifications
and
some
custom
controls.
So
just
a
little
few
things
and
I'll
talk
about
xamarin
essentials
in
a
little
bit.
A
So
the
first
thing
that
we
want
to
do
is
open
up
our
main
page
zamel,
and
this
is
going
to
be
where
we
create
our
monkey
page
now.
I
haven't
done
too
much
inside
this
project,
but
the
first
thing
that
I'll
show
you
is
that
I
have
a
Content
page
here:
I
have
a
class
of
main
page
and
a
title
of
monkey
finder,
mostly
using
a
grid,
so
I
can
relay
out
rows
and
columns
inside
of
here,
and
the
first
thing
that
I
will
point
out
over.
A
On
the
left
hand,
side
is
our
new
toolbox
for
discovery
of
controls,
so
these
are
all
of
the
built-in
xamarin
forms
controls
that
you
can
use.
So
what
we're
gonna
do
is
we're
gonna
go
in
and
let's
go
ahead
and
lay
down
a
list
of
you
right
here
and
we're
just
going
to
go
ahead
and
do
a
few
new
lines
here.
There
we
go
there
we
go.
A
We
have
a
data
template
and
my
list
of
you
there
we
go
now
underneath
my
list
view
I'm
also
going
to
put
down
a
button,
and
we
will
find
one
that
says,
find
monkeys
and
let's
another
button
that
I'll
put
over
here
and
I'm
gonna
say
closest
monkeys
there
we
go
now.
What
we're
gonna
do
inside
of
here
is
first
point
off
some
of
our
kind
of
intellisense
features
inside
of
here.
A
So
the
first
thing
that
I'm
going
to
show
you
is
that
if
I
come
in,
if
I
rename
this
to,
let's
say
a
stack
layout
notice,
that
I
see
the
stack
layout
underneath
if
I
change
that
there
it's
no
longer,
you
know
row
spacing
column,
spacing
row
definitions
immediately,
light
up
inside
a
visual
studio
to
tell
me
that
hey,
that's,
not
valid.
So,
let's
change
that
back
to
grid,
but
I
also
want
to
point
out
that
we
have
great
fuzzy
matching
here.
A
A
Additionally,
we
can
help
you
with
any
of
your
name
spaces
that
are
coming
in
so
here
it's
showing
you
that
you're
not
using
local
right
now,
it's
actually
unnecessary,
but
I
can
come
in.
I
can
add
additional
ones
and
I'll
show
you
as
we
go
on
and
create
more
of
this
here,
but
I
want
to
start
actually
with
this
a
list
view
that
needs
an
item.
Source
and
I
have
a
button
here
and
I
need
to
bind
these
up.
I
want
to
tap
on
something
I
want
to
new
something
like
that
now.
A
What
I
want
to
do
is
have
some
code
behind
for
this.
So
what
I'm
going
to
do
is
have
this
view
model
and
my
view
model
is
just
going
to
have
some
things
that
I
can
bind
to
in
my
user
interface.
So
I
have
three
things
that
I'll
bind
to.
One
is
a
observable
range
collection
of
object
currently
of
monkeys
and
I
also
have
two
I
commands
and
in
I
command,
says
hey
when
someone
does
an
action
invoke
this
command,
so
I
have
a
get
monkeys
command
and
a
get
close.
A
This
command,
and
here
I,
have
two
methods
that
I
need
to
fill
in,
get
monkeys
a
sink
and
get
closest
a
sink
and
we'll
fill
those
in
as
we.
So.
The
first
thing
that
we
can
do
in
our
main
page
is
I
can
come
in
and
actually
bind
this
up.
So
I
can
say:
hey
content
page.
My
binding
context
is
that
view
model
so
I'm
gonna,
say
content,
page
dot,
binding
context,
and
you
know
what
I
don't
know
really
what
namespace
it
lives
in
or
anything
like
that.
A
But
I
do
know
that
it's
called
a
bunk
monkey
view
model
there
and
notice
that
a
light
bulb
pops
up.
This
is
brand
new,
it
says:
hey,
we
can't
find
that.
But
do
you
want
us
to
automatically
add
the
namespace
for
you
boom?
It
automatically
adds
the
namespace,
because
it's
in
monkey
finder
$6000,
you
model
it's
just
pretty
cool.
So
now
when
I
come
in
and
if
I
focus
on
this
list
view
and
button
I
can
come
in
and
say,
binding
and
immediately.
A
Let
me
go
ahead
and
zoom
in
I.
Not
only
get
any
converters
footers
anything
else
that
I
can
bind
to,
but
I
also
get
binding
intellisense.
So
here
I'm
going
to
say,
monkeys
here,
for
these
two
commands,
I'll
say:
command,
binding,
okay,
monkeys
command
command,
binding,
get
closest
command.
We
also
need
to
give
it
a
data
template
so
I'll
create
a
view
cell
here.
A
I'm
sorry,
let's
do
height
request,
let's
say
66
and
with
the
request,
66
and
then
we'll
do
another
stack
layout
here
and
here,
I'm
gonna
say:
let's
create
a
little
padding
of
five
just
so
everything's
a
little
bit
off
off
of
it
also
put
a
little
padding
here
of
five
and
then
what
I
can
do
is
say:
alright,
well,
I'm
gonna
have
a
label
where
I
display
some
monkey
information
in
another
label.
I,
don't
know
what
that
information
is
yet
because
we
haven't
filled
in
that
information
and
so
I
need
to
go,
find
those
bindings.
A
So,
let's
head
over
into
the
browser
and
like
every
single
developer
out
there
on
their
personal
website,
they
have
a
file
called
monkeys,
JSON
and
when
I
go
to
mountain.
My
note,
calm,
monkeys
out,
JSON
I
have
all
this
monkey
data.
That's
here,
that's
looking
pretty
cool,
so
we
could
take
this
JSON
and
deserialize
it.
So
the
first
thing
I'm
going
to
do
is
come
into
my
view
model
when
I
click
on
this
button.
I
want
to
do
something.
A
So
let's
go
into
this,
get
monkeys,
let's
just
say:
try
and
we'll
just
go
ahead
and
catch
that
exception
and
we'll
say
X
and
notice.
I'm.
Just
in
my
dotnet
standard
library,
I
haven't
really
touched
anything
iOS
or
Android
I'm,
just
gonna,
say
new
client,
new,
HTTP
client.
There
we
go
and
we'll
just
bring
in
system
that
HTTP
I'll
save
our
JSON
equals
a
wait.
Client
get
string,
async
paste
in
the
URL,
then
we
have
there
now
I
need
to
deserialize
and
get
that
monkey
now
notice.
A
I
have
a
monkey
model,
but
I
have
nothing
in
it.
It's
blank
just
created
a
file
over
here,
so
what
I
can
do
is
grab
all
this
JSON
and
I'm
gonna
go
to
a
website
called
quick
type
I.
Oh
it's
actually
by
some
amazing
developers
here
at
Microsoft
and
xamarin
before
that
it
takes
any
JSON
and
enables
you
to
paste
it
into
the
browser
and
convert
it
to
any
language,
so
app
dot,
quick
type,
dot
IO.
What
I
can
do
over
here
is:
let's
just
go
ahead
and
make
this
a
little
bit
bigger.
A
Gonna
come
over
here
paste
in
my
JSON
and
now
here
it's
going
to
show
me
all
the
languages
that
I
go
ahead
and
put
it
in
and,
of
course,
I
want
to
in
c-sharp
there.
It
is
it's
in
c-sharp.
It
also
brings
in
all
the
namespaces
everything
that
I
need
and
then
go
ahead
and
copy.
The
code
come
back
into
Visual
Studio
paste
the
code
and
there's
everything,
including
these
nice
JSON
properties
for
name
location
image,
which
is
a
URI
coming
in
I.
A
Think
it's
actually
a
string
make
sure
it's
a
string
and
some
lat/long
population
coming
in
it
was
really
nice.
On
top
of
that,
we
can
go
ahead
and
not
make
it
welcome,
let's
go
and
rename
that
to
monkey
under
here
we
can
see
that
we
have
some
nice
helper
classes,
so
we
actually
have
some
monkey
from
JSON
which
automatically
deserialize
things
with
the
converter.
A
So
I'll
come
back
over
here
and
what
I
can
do
is
I
can
say:
VAR
monkeys
equals
a
monkey
dot
and
we'll
now
bring
in
the
namespace
that
it
was
in,
which
is
quick
type
dot
from
JSON
and
from
JSON
there
we
go
now.
I
have
a
monkey
array
coming
back
and
all
I
have
to
do
is
come
up
here
and
instead
of
this
kind
of
generic
object.
Lets
me
say
it's
a
monkey
and
here
also
say
it's
a
monkey.
A
So
now
all
I
need
to
do
is
say,
monkeys,
dot,
replace
range
and
pass
it
in
the
monkeys
so
update
the
list
automatically
for
me
now.
If
something
goes
wrong,
we'll
go
ahead
and
pop
up
a
dialog
box,
so
let's
say
app
dot,
current
dot,
main
page
display,
display
alert,
I'll,
say
something
went
wrong
and
let's
do
a
X
dot
to
string
here.
Yeah
message
maybe
and
okay
just
so:
we
have
it
as
we
debug
this
application.
A
So
now
it's
looking
pretty
good
I
have
some
information,
but
we
need
to
put
it
in
here
so
I'm
gonna,
say
source
and
I'll.
Do
a
binding
here
to
image,
brings
that
in
which
is
really
nice,
because
it
knows
about
the
monkeys:
I'll
come
in
here
and
I'll,
say
text
and
I'll
say
binding
to
name
in-text
binding
equal
to
location.
A
Now,
with
that
in
place,
we
may
need
to
fill
in
a
few
other
things
for
my
row
information.
So
here
on
my
button,
we
can
go
ahead
and
drop
this
down,
make
it
a
little
bit
prettier
but
we'll
say,
grid
dot
and
we'll
say
Row,
one
and
grid
column
we'll
set
it
to
zero.
Just
because
why
not-
and
here
I
will
go
ahead
and
copy
and
paste
that
over
and
I
will
say
column
one
over
there
perfect.
A
Now,
that's
looking
pretty
good
and
now
at
this
point,
I'm
kind
of
ready
to
get
it
onto
my
device.
If
I
go
into
the
project
setup,
we
can
see
that
I
have
an
app
zamel
and
inside
that
ABS
amyl.
Maybe
any
of
my
resources,
but
also
here
I'm,
setting
a
new
navigation
page,
creating
a
new
main
page
here
and
I
get
some
life
cycle.
Events
for
on
start
on
sleep
on
resume,
but,
more
importantly,
I.
A
Don't
really
have
to
do
too
much
inside
my
other
head
projects
if
I
go
into
Android
notice
that,
just
like
the
other
Android
app
I
showed
you
I
still
have
resources
where
I
can
put
icons
and
additional
layouts
I
have
resources
here
for
my
JSON
net
mvvm
helpers
and
xamarin
forms
additionally,
I
have
this
main
activity.
So
this
is
a
xamarin
forms
activity
which
will
enable
me
to
come
in
and
set
up
and
create
my
application.
A
There's
a
bunch
of
other
cool
things
inside
of
here
that
David's
gonna
talk
you
to
you
about
later,
including
fast,
renders
and
some
additional
information
here,
but
now
I'm,
just
kind
of
ready
to
debug
this
onto
my
device.
So
I
actually
have
my
Samsung
device
right
here
and
I'm
gonna,
deploy
it
on
my
to
Devon
my
device.
Currently,
I
could
put
it
on
an
emulator
but
I'm
going
to
use
some
platform
specific
features
to
do
geolocation
in
a
little
bit,
so
I
saw
a
little
bit
of
time
now.
A
This
will
go
ahead
and
at
this
point
now,
I
compile
my
code
to
put
it
onto
my
device,
but
it's
going
to
go
ahead
and
compile
up
a
full
android
apk
and
put
it
in
debug
mode
so
well.
This
is
compiling
and
deploying
I'll
answer
a
few
questions
here.
The
first
one
came
in
this
is
from
christian,
says
great
info
glad
you're
liking.
What
you're
seeing
so
far
can
I
find
monkey
finder?
Absolutely
everything
that
I
do
is
on
my
github.
You
can
go
to
github.com,
slash
james
mountain
magno.
A
Let's
bring
that
up
on
the
screen
and
you
can
go
to
repositories
right
here,
see
everything
that
I
work
on
and
under
here
just
type
in
monkey
and
you'll
find
all
of
my
monkey
apps
and
there's
a
lot
of
them,
but
monkey
finder
6000
is
right
here
and
I'm
gonna
be
updating
with
the
latest
and
greatest
here
in
the
in
a
bit.
So
that's
where
you
can
find
it!
A
The
next
thing,
as
this
deploys
Mike
was
asking,
is
intellisense
to
view
models
only
with
xamarin.
That's
a
good
question:
I'm,
not
sure
exactly
what
you
mean:
Mike
I,
guess
for
the
windows,
part
there's
X
mind
and
a
few
other
things
that
you
could
do
there.
So
I'm
not
positive,
but
maybe
you
can
follow
up
Mike
with
a
few
additional
questions.
So
let's
say
this
should
be
deploying
on
to
my
device,
starting
in
debug
mode.
A
Now,
ideally,
this
should
go
off
and
pull
in
all
of
my
monkeys
right
there
and
we
can
see
that
I
don't
have
the
best
formatting
just
yet.
So
we
can
go
ahead
and
clean
this
up
a
little
bit
inside
of
here.
But
I
get
my
monkeys
back
right
here
and
in
fact,
if
I
come
in
and
actually
go
into
that
view
model
and
say,
let's
add
a
breakpoint
here
and
say,
find
monkeys,
this
will
go
off.
Make
that
request.
A
I
can
see
all
of
my
my
monkeys,
my
JSON
everything
inside
of
here
that
I
would
expect
inside
my
locals,
just
normal
debugging
and
there's
my
my
JSON
coming
in
right
there,
which
is
pretty
cool.
So
let's
go
ahead
and
clean
this
up
a
little
bit.
The
first
thing
I'm
gonna
do
is
I'm
gonna
come
in
and
I'm
gonna
say
alright.
Well
that
listviews
not
looking
so
good.
So
let's
go
ahead
and
say,
has
uneven
rows
and
set
that
to
true.
So
that
way
a
rose
can
expand.
A
Additionally,
what
we
can
do
on
this
image
is,
we
can
say,
aspect
and
I'll,
say
aspect
fill
so
it
fills
the
entirety
of
it,
but
we
can
take
it
a
step
further
because
we
actually
have
a
custom
control
that
I
brought
in
if
I
come
in
pull
into
this
library
notice.
I
have
this
image
circle
cost
some
control.
A
Now
it's
cool
about
the
the
circle
images,
if
I
open
up
this
DLL
is
that
it
has
a
reliance
on
xamarin
forms,
but
it
also
let's
go
ahead
and
so
I
don't
know
if
I
can
just
open
it
there,
but
I
also
have
image
circles
built-in.
So
what
I
can
do
is
say
Circle,
image
and
notice
here
that
it
doesn't
know
what
to
bring
in
well,
that's
okay,
because
I
could
come
in
and
I
could
say:
X
I'm
now
on
US
and
I
could
say
circle
and
I
could
say
circle
image.
A
It
finds
it
right
here
in
the
abstractions
or
better.
Yet
why
even
type
anything,
because
this
squiggly
will
do
it
for
me
automatically
there
we
go
and
it
pulls
in
everything
that
I
need
right
there,
which
is
super
great.
So
now
I
get
the
image
circle.
I
get
my
label
my
name,
everything
that
I
want
and
I
can
redeploy
this
application
with
these
uneven
rows.
So
I
should
see
more
monkeys
inside
the
list,
but
Visual
Studio
has
gone
off
and
actually
gone
ahead
and
handled
all
of
this
for
me.
A
So
we'll
give
it
a
few
seconds
to
to
redeploy
onto
my
device-
and
we
do
have
another
question
as
this
come
compiled
up
from
said
Ronnie,
who
asks
about
Microsoft,
authentication,
library
and
xamarin
forms.
So,
if
you're
doing
authentication
inside
your
application
today,
maybe
you're
using
Azure
ad,
maybe
you're
using
maybe
you're
using
Microsoft
authentication.
So
you
jug
in
with
your
application,
you
can
use
MSA
l,
which
enables
you
to
not
only
do
Azure
ad
but
also
Azure,
ad
b2c.
A
That
enables
you
to
do
login
across
iOS,
Android,
Windows
and,
of
course,
xamarin
forms.
They
have
some
optimization
there
to
easily
bring
in
a
page
which
is
really
nice.
So,
let's
see
is
this
deploys
here
rebuilt
it
up.
So
this
should
be
packaging
it
up
and
restarting
it
in
debug
mode
over
on
my
Android
device.
Now,
as
long
as
it
connected
to
the
same
internet,
perfect
should
be
able
to
find
monkeys.
This
will
go
off,
find
the
monkeys.
I've
hit
the
breakpoint
again
and
now.
A
I
have
monkeys
in
this
list
and
they're
very
small,
so
we'll
fix
this
next,
but
we
get
some
nice
circle.
Images
I
have
not
expanded
it
to
most
multiple
columns
but
I'm
doing
this
live.
So
that's
okay!
So
let's
go
a
little
bit
further
here
and
fix
that
up
and
then
talk
about
how
I
can
access
cross-platform
native
api's.
So
the
first
thing
here
is
we'll
say:
grid
column
span
to
now.
A
Our
list
view
will
expand
fully
so
I've
built
an
application
literally
from
scratch,
hitting
a
restful
endpoint
pulling
in
data
displaying
it
custom
images,
visual
studios,
handling,
intellisense,
it's
doing
all
sorts
of
awesome
stuff
for
me,
because
Visual
Studio
is
great
and
Donette
is
sharing
all
this
code
with
Donna's
standard
libraries,
but
we
want
to
access
those
native
API
is
that's
why
I
built
stuff
with
xamarin
right,
because
I
have
access
to
every
single
API
and
iOS
and
Android.
When
you
think
about
this
application
today?
A
Well,
we
have
a
shared
back-end,
that's
our
user
interface
and
it's
also
our
models
and
our
view
models.
I
could
tie
this
up
into
MS.
Al
I
could
add
in
Azure
integrations
into
the
backend
with
Kosmos
DB,
but
I
also
want
to
get
access
to
other
things
like
geolocation
compass,
key
store.
Now
you
have
access
to
all
of
those
in
C
sharp
with
xamarin,
so
you
can
access
every
single
one
of
those.
A
Now
the
problem
here,
of
course,
that
there's
different
api's
for
each
of
them
too
so
I
want
to
access
to
your
location,
learn
a
little
bit
iOS
a
little
bit
about
Android
a
little
bit
about
Windows.
We
said
what,
if
you
didn't,
have
to
kind
of
do
all
this
stuff,
because
what
developers
were
doing
for
a
long
time
is
going
in
creating
an
interface
accessing.
A
You
know,
platform,
specific
implementations,
so
let's
say
preferences
just
like
settings,
you
would
say
get
set
and
you
write
your
abstraction
and
then
implement
NS
user
defaults,
shared
preferences,
application
data-
that's
great
because
you
have
access
to
the
api's.
But
now
you
got
to
go,
maintain
all
that
code,
so
we
handle
it
all
for
you.
Now
we
have
a
brand
new
library
that
I
am
the
PMF
called
xamarin
essentials,
which
I
absolutely
love
and
what
it
does
is.
A
It
takes
all
of
the
most
common
popular
platform,
specific
API
s
and
abstract
them
into
a
single,
fully
optimized
library
that
you
can
use
in
your
iOS
Android
and
uwp
applications.
So
now
you
immediately
from
a
single
API,
have
access
to
geolocation
device
information
share
sheets
battery
compass,
text-to-speech,
SMS,
it's
completely
open
source
on
github,
and
we
have
amazing
contributions
from
the
community
adding
more
api's.
On
top
of
that,
it's
a
single
DLL,
it's
a
single
library,
but
it's
linker
safe.
A
A
So,
let's
do
that
so
notice
that
inside
of
this
JSON
that
was
coming
back
is
our
monkeys
have
not
only
an
image
but
a
latitude
and
longitude
so
automatically
based
on
where
each
of
these
monkeys
are
maybe
the
mandrill,
maybe
our
friends,
henry
and
sebastian,
one
that
lives
in
seattle
and
one
in
phoenix.
They
each
have
their
own
geolocation
here
and
population
sizes
so
be
great
if
we
could
get
the
device
geolocation,
but
also
automatically
find
the
closest
one
to
us.
A
So
when
I
come
over
to
Doc's
top
Microsoft
comm
and
tap
on
xamarin
you'll
find
documentation
for
everything
that
I've
shown
you
today,
but
also
whether
you're
developing
with
xamarin
forms,
iOS
or
Android.
You'll
find
xamarin
essentials
right
here
when
you
tap
on
that
you'll
see
information
not
only
how
to
get
started
but
about
every
single
feature
in
API
inside
of
xamarin
essentials.
So
if
you
want
to
tie
in
compass
into
your
application,
open
up
the
compass
API,
it
gives
you
a
sample
right
here
that
you
can
use
on
how
to
use
the
API.
A
That's
still
under
the
hood
accesses
the
native
API
of
each
platform,
but
you
have
one
thing:
the
starter:
stop
the
compass
find
in
from
an
information
about
platform,
specific
things
or
additions
on
to
each
platform
and
also
jump
directly
into
the
source
code
right
into
github.
So
if
you
want
to
go
and
head
and
contribute
look
at
the
source
code,
here's
the
compass
source
code
here
I
can
see
exactly
how
we
implemented
the
compass
for
iOS,
Android
and
Windows
code.
You
no
longer
need
to
write
so
let's
actually
learn
about
geolocation
here.
A
The
first
thing
that
this
is
going
to
tell
us
is
for
iOS
and
Android
and
Windows
as
there's
a
little
bit
of
setup
code
for
permissions,
so
on
Android
I
have
some
assembly
information
here
that
we
can
go
ahead
and
copy
in
nice
little
copy
button.
If
I
call
me
over
into
my
Android
assembly
info
I've
actually
gone
ahead
and
done
that
ahead
of
time.
So
here's
that
information
to
access
it.
Additionally,
there's
a
little
bit
of
setup
information
that
I
did
over
inside
of
my
main
activity
to
handle
permissions
automatically.
A
For
me
now
we
need
to
do
is
come
in
and
see
how
we
can
use
geolocation
well.
This
is
pretty
fancy
there's
a
way
to
get
the
last
known
location
and
additionally,
there's
a
way
to
get
the
current
location,
which
looks
pretty
good.
So
let's
go
ahead
and
copy
that
here
and
let's
go
back
over
into
our
view
model
and
where
I
have
get
closest
monkey.
A
So
here
I
can
go
ahead
and
bring
in
xamarin
essentials.
That's
our
one
namespace
for
everything!
So
vachs
come
in
and
just
start
typing
xamarin
dot.
Essentials
notice
we're
going
to
move
this
magnifier
all
the
way
is
that
I
have
access
to
every
single
thing
here.
Every
single
one,
every
single
thing
inside
of
here
I
have
access
to
everything
immediately.
A
So
let's
do
a
few
things
here.
The
first
thing
that
we'll
do
is
I'm
going
to
go
ahead
and
say:
VAR
location
equals
a
weight,
geo
location,
dot.
Get
last
note
last
last-known
location.
So
let
me
just
get
that
first,
because
that'll
be
the
absolute
fastest
and
if
location
is
null,
let's
go
ahead
and
then
get
the
current
location,
create
a
new
request
and
automatically
pull
it
back
now.
A
A
Additionally,
we
can
start
bringing
some
namespaces
here
for
that
I
can
see
if
the
device
doesn't
support
the
feature
or
if
I
don't
have
the
permission,
we
will
bubble
up
exceptions
for
you,
but
maybe
we
need
to
see
what
the
closest
monkey
is.
So,
if
I
scroll
down
a
little
bit,
I
find
information,
but
note
here
that
guess
what
xamarin
essentials
will
also
tell
you
the
distance
between
two
locations,
which
is
super
cool.
So
we
can
use
the
extension
methods
here
to
calculate
the
distance
from
one
or
the
other.
A
Yeah
monkeys
dot,
where
let
me
see
what
I
need
to
write
here
forget
sometimes
I
forget
my
link:
let's
go
and
bring
in
link
really
quick
where's.
My
link
up
here,
quick
actions
bring
in
link,
so
let's
go
ahead
and
order
these
actually
sorry
order
by
and
we're
just
gonna
head
an
order
by
each
monkey
and
we're
gonna,
say:
okay
for
each
monkey
from
my
location.
Let's
go
ahead
and
calculate
the
distance
here.
Okay
and
we're
gonna
say
new
location
and
we
need
to
pass
in
the
monkeys,
latitude
and
the
monkeys
longitude
there.
A
Dot
miles
or
kilometers
and
then
do
first
or
default
there
we
go
and
then
what
we
can
do
now
that
we
have
our
closest
monkey,
which
is
a
monkey.
We
can
say
a
weight
display,
alert
and
I
can
come
in
oops,
I
can
say
app,
dot,
current
dot
mean
page,
don't
display
alert
and
we
can
find
closest
and
we'll
say
closest
dot,
we'll
just
make
sure
it's
not
null
and
we'll
say,
name
plus
closest.
A
A
So,
while
that's
compiling
up
I
think
we
had
a
few
questions
here,
does
xamarin
essentials
automatically
add
respective
accept
challenges
for
native
features,
use
an
app
like
how
to
get
access
to
geolocation
feature.
Yes,
I
think
you're,
just
asking
about
permissions,
so
there's
a
few
of
the
api's.
There
require
permission
such
as
geolocation
and
will
automatically
handle
location,
raise
notifications
for
you
and
it'll,
send
you
a
permission
exception
inside
of
your
source
code.
A
If
the
user
has
declined
that
option
there,
so
that's
a
nice
feature
built
right
in
to
xamarin
essentials
to
handle
that
for
you
and
you
can
query
the
device
as
well
to
make
sure
to
see
if
they
have
permissions
ahead
of
time.
So
this
is
compiling
up
making
sure
we
have.
The
latest
changes
got
five
minutes
left,
which
is
the
perfect
amount
of
time
here.
A
Taylor
asks
in
a
world
of
suspense
where
taylor
asks
this
question.
I
do
like
that.
That's
my
favorite
waiting,
but
while
we
wait
there
we
go
I.
Guess
there
we
go
does
xamarin
forms
have
any
disadvantages
over
xamarin,
Android
or
iOS.
Well,
you
know
when
you're
building
with
xamarin
forms
it's
an
abstraction
over
common
controls
across
each
platform.
So
what
that
means
is
that
you
have
access
to
an
abstraction
of
api's.
A
Now,
what's
cool
is
that
you
always
have
access
to
the
native
platform,
so
you
can
create
custom
controls,
custom
renderers,
anything
that
you
need
to
do.
That's
there.
We
actually
have
some
different
metrics
that
you
can
look
at
online.
That's
there.
The
website
that
you
used
to
convert
your
c-sharp
is
that
any
better
than
pasted
as
classes.
It's
a
good
question,
so
I
like
quicktype,
because
it's
made
by
some
friends
of
mine,
but
additionally
it
allows
you
to
go
in,
select
different
languages.
You
can
detect
Maps
enums
uu
IDs
date
times
integer
strings.
A
Additionally,
if
you
in
here,
you
can
select
arrays
completed
and
it's
optimized
here
for
JSON
net,
so
you
can
write
all
those
properties
automatically
and
it
handles
stuff
for
you
all
right,
I'm
gonna
see
what
is
happening
in
my
build
see.
If
we
can't
not
see
what's
going
on
here
and
redeploy
cuz,
it
builds
up.
The
next
question
here
was
how
would
off
work
with
something
like
identity
server,
rather
than
add
your
ad
I'm,
not
an
identity,
server
expert,
to
be
honest
with
you,
but
most
likely.
A
If
you
go
to
google
and
type
identity
server
xamarin,
I
bet
the
answer
will
be
there
and,
if
not
send
me
an
email,
because
I
will
help
out
further
xamarin
essentials,
ready
to
use
in
production
applications.
Damian
asks
good
question
it's
in
preview.
Today,
we've
had
several
previews
already
it's
in
preview,
10
we're
on
a
three
week
release
cycle.
We
really
want
you
to
check
it
out.
I
use
it
in
all
my
applications,
but
that's
going
to
depend
on
your
enterprise
there.
A
lot
of
the
code
is
battle-tested
and
comes
from
our
developers
here.
A
So
give
it
a
try.
We
would
love
your
feedback
on
it.
Ok,
so
I
have
it
up
and
running.
That's
good.
We
have
monkeys
that
are
here
in
our
screen.
I
should
be
able
to
now
find
the
closest
monkey
here.
It's
gonna
prompt
and
allow
permissions
on
the
screen
that
we
can
see,
which
is
really
nice
and
I'll,
say
allow
this
will
go
off
and
find
my
location
and
actually
found
my
cache
location
here
in
Redmond
here
and
go
ahead
and
continue
on
and
we
can
see
it.
A
The
closest
monkey
to
me
is
my
monkey
at
home
Sebastian
over
in
Seattle,
which
is
great
now
what's
cool
here
is
not
only
am
I
using
everything
that
I
know
and
love
about:
zamel
dotnet
standard
sharing
code,
billing
native
user
interfaces,
but
additionally
I'm
using
geolocation,
and
these
helper
methods
is
very
simple
to
get
up
and
running
now.
On
top
of
that,
what
I
can
do
is,
of
course,
come
inside
the
iOS
or
Android
application.
As
my
startup
project.
A
So
it's
connected
up
paired
over
my
IP
address
over
secure
SSH
I
can
a
list
of
all
of
my
simulators
that
are
there
and
I
can
launch
it
on
a
remote
iOS
simulator
directly
on
my
Windows
machine
or
toggle
this
over
to
iPhone
and
notice
here
that
I
have
an
iPhone,
that's
sitting
on
this
desk
and
can
communicate
over
the
network
via
Wi-Fi,
so
I
can
deploy
it
and
see
it
on
my
actual
iPhone
device.
So
now
what
happen
is
if
I
hit
debug?
A
This
is
going
to
go
off,
compile
my
iOS
application
over
on
my
Mac
machine.
It
will
then
over
Wi-Fi
go
ahead
and
debug
it
and
deploy
it
onto
my
actual
iOS
device.
Now
what's
cool
here.
Is
that
now
you
just
see
an
iOS
device,
but
in
a
few
seconds
here,
what
we
should
see
is
that
it'll
compile
up
everything
and
deploy
it
over
to
my
device.
So
we'll
give
it
a
few
seconds
here,
as
it
does
do
a
deploy
over
the
local
Wi-Fi.
A
A
Now
we
should
see
over
here
and
our
output
is
that
it's
copying
the
file
over
local
Wi-Fi.
We
can
note
in
the
output
here
that
we
get
percentage
updates
right
here
now
it
is
copying
via
Matt,
who
is
on
the
gimbal
via
wires,
no
wires
over
by
Beth
over
there
somewhere
in
channel
9.
That's
transmitting
all
of
this
data.
So
while
it
is
a
little
bit
slow
on
this
network
that
I've
built
myself,
we
can
see
that's
copying
the
application
over
in
real
time
and
then
I'll
start
a
debug
session
on
this
device.
A
So,
let's
finish
up
as
it
deploys
over
to
100%
validates
the
application
launches.
It
very
excited
that
this
is
all
happening,
and
here
we
go,
we've
actually
launched
the
application
in
start-up
mode.
I
can
say
find
monkeys
which
should
go
off
find
all
my
monkeys
that
are
here
is
our
downloading.
The
images
I
can
find
my
closest
monkey,
which
apparently
I
may
not
have
set
that
up.
That's
why
it's
a
live
demos,
I
can
say,
find
monkeys
here,
finds
all
my
monkeys
and
now
I
have
my
application
running
on
both
iOS
and
Android.
A
Let's
get
in
close
and
see
my
monkeys
are
alright
they're
all
over
no
wires
perfect.
Alright,
let
me
wrap
it
up
here
and
show
you
where
exactly
to
get
started.
Thank
you
for
the
amazing
questions.
If
I
didn't
get
to,
it
feel
free
to
email
me
directly
or
ping
me
on
Twitter,
truly
dotnet
and
xamarin,
it's
truly
everything
that
you
need
for
mobile
development.
You
can
get
started
today
by
installing
Visual
Studio
and
selecting
the
xamarin
workload.