Created
December 29, 2024 16:27
-
-
Save jamesmontemagno/4274371c9b74ff6a46bce52def6779b1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
WEBVTT | |
NOTE | |
This file was generated by Descript <www.descript.com> | |
00:00:00.200 --> 00:00:05.480 | |
Let's talk about my Mac developer | |
setup on my brand new Mac mini M4 Pro | |
00:00:05.670 --> 00:00:09.409 | |
and how I've been able to completely | |
customize it to build for iOS, Android, | |
00:00:09.429 --> 00:00:14.080 | |
Mac, Windows, and a backend services, | |
front end web applications, serverless | |
00:00:14.120 --> 00:00:16.300 | |
compute, IOT, and so much more. | |
00:00:16.520 --> 00:00:18.529 | |
I want to talk you through | |
everything that I did to get my | |
00:00:18.529 --> 00:00:20.830 | |
Mac set up and how I replaced | |
00:00:23.230 --> 00:00:26.380 | |
this thing, my custom built PC with. | |
00:00:29.785 --> 00:00:33.525 | |
This insert Photoshopped | |
Mac mini M4 pro here. | |
00:00:33.905 --> 00:00:34.735 | |
Let's get into it. | |
00:00:45.295 --> 00:00:45.595 | |
Everyone. | |
00:00:45.595 --> 00:00:46.495 | |
I'm James and I'm back. | |
00:00:46.495 --> 00:00:46.955 | |
I exist. | |
00:00:46.995 --> 00:00:48.665 | |
This is the channel where | |
I totally do development. | |
00:00:48.675 --> 00:00:50.385 | |
I promise you I am here. | |
00:00:50.685 --> 00:00:53.395 | |
Uh, and I wanted to talk a little | |
bit about my Mac developer setup. | |
00:00:53.415 --> 00:00:57.544 | |
I did a recent video up here, up | |
down there, wherever it is talking | |
00:00:57.545 --> 00:01:02.385 | |
about how to get VS code set up for | |
NET MAUI application development. | |
00:01:02.555 --> 00:01:05.555 | |
On Mac, how to install and get | |
all the dependencies set up | |
00:01:05.555 --> 00:01:06.485 | |
and everything you need to do. | |
00:01:06.525 --> 00:01:08.095 | |
So if you're looking for | |
that, check it out here. | |
00:01:08.435 --> 00:01:10.985 | |
I'm not going to walk through like | |
actual installation and setup, but | |
00:01:10.985 --> 00:01:14.744 | |
I just want to walk through my Mac, | |
everything that I have here first, you | |
00:01:14.745 --> 00:01:16.185 | |
might be wondering what is in my Mac. | |
00:01:16.195 --> 00:01:19.435 | |
Well, here is the specs. | |
00:01:19.754 --> 00:01:21.204 | |
Uh, Frank Krueger and I. | |
00:01:21.460 --> 00:01:23.060 | |
Uh, record merge conflict. | |
00:01:23.110 --> 00:01:27.470 | |
And we also decided to not conflict on | |
getting a new machine, which was our | |
00:01:27.470 --> 00:01:29.640 | |
machines were up for sort of a refresh. | |
00:01:29.880 --> 00:01:33.960 | |
And we decided to go all in on the | |
Mac mini M4 pro and upgrade just | |
00:01:33.960 --> 00:01:35.860 | |
about everything, only differences. | |
00:01:35.890 --> 00:01:39.739 | |
I got two terabytes and he got four | |
terabytes, but we upgraded the Ram. | |
00:01:39.770 --> 00:01:43.890 | |
We upgraded the CPU and GPUs and we | |
upgraded the hard drives as well. | |
00:01:43.970 --> 00:01:48.180 | |
Yes, it's an expensive machine, | |
but all of my custom built windows | |
00:01:48.180 --> 00:01:50.530 | |
machines also have been pricey as well. | |
00:01:50.560 --> 00:01:50.949 | |
As I put. | |
00:01:51.005 --> 00:01:52.345 | |
Premium parts in them. | |
00:01:52.345 --> 00:01:53.725 | |
So they last a long time. | |
00:01:54.074 --> 00:01:58.095 | |
My windows daily driver here, I believe | |
has lasted me at least like almost 10 | |
00:01:58.104 --> 00:02:02.085 | |
years, eight years at this point, which is | |
a great bang for the buck when you think | |
00:02:02.095 --> 00:02:05.095 | |
about how long these devices can last. | |
00:02:05.115 --> 00:02:08.495 | |
So that's why we went all | |
in on upgrading this model. | |
00:02:09.055 --> 00:02:12.185 | |
Also, we wanted to go with something | |
small that fits right on our little desk. | |
00:02:12.185 --> 00:02:12.935 | |
And it's so cute. | |
00:02:13.185 --> 00:02:17.285 | |
My little Mac mini M four pro here is | |
sitting side by side my project Volterra, | |
00:02:17.295 --> 00:02:19.104 | |
which is another daily driver that I have. | |
00:02:19.404 --> 00:02:22.514 | |
So I have two arm machines for | |
both windows and Mac, which | |
00:02:22.515 --> 00:02:24.074 | |
is absolutely delightful. | |
00:02:24.434 --> 00:02:27.934 | |
So far, I've been really, really throwing | |
just about every single thing I can | |
00:02:28.024 --> 00:02:32.245 | |
at the Mac mini M four pro, and it's | |
been awesome to be honest with you. | |
00:02:32.454 --> 00:02:35.614 | |
There are quirks, of course, as | |
I'm not traditionally a Mac person. | |
00:02:35.635 --> 00:02:37.024 | |
I'm more of a windows person. | |
00:02:37.024 --> 00:02:40.975 | |
In fact, we'll talk about my | |
windows experience on macOS as | |
00:02:40.975 --> 00:02:44.265 | |
well, but I want to go ahead and | |
start to walk through my setup. | |
00:02:45.155 --> 00:02:45.515 | |
Okay. | |
00:02:45.655 --> 00:02:47.414 | |
First things first is that here I am. | |
00:02:47.435 --> 00:02:49.565 | |
I'm sort of a high task bar type of guy. | |
00:02:49.565 --> 00:02:49.924 | |
That's right. | |
00:02:49.924 --> 00:02:50.364 | |
That's me. | |
00:02:50.614 --> 00:02:53.695 | |
But let's take a look at my task | |
bar down here, uh, specifically. | |
00:02:53.695 --> 00:02:57.234 | |
So first and foremost, what you're | |
going to see is I just have all of my | |
00:02:57.234 --> 00:03:00.945 | |
developer tool chain all set up here and | |
we can throw just about anything at it. | |
00:03:01.310 --> 00:03:03.740 | |
So I can boot up Android studio over here. | |
00:03:04.000 --> 00:03:05.459 | |
Uh, everything that I need. | |
00:03:05.529 --> 00:03:08.969 | |
I can boot up Arduino IDE | |
so I can do IOT development. | |
00:03:09.010 --> 00:03:09.779 | |
There it is. | |
00:03:09.789 --> 00:03:11.849 | |
I was recently doing | |
some holiday hacks there. | |
00:03:12.140 --> 00:03:16.199 | |
I can boot up Xcode over here | |
and, uh, boom, there it is. | |
00:03:16.500 --> 00:03:20.000 | |
I can boot up Xcodes to | |
manage all of my Xcodes. | |
00:03:20.360 --> 00:03:22.480 | |
I can boot up, uh, the iTerm. | |
00:03:22.500 --> 00:03:27.180 | |
I'm using iTerm2 here and PowerShell, | |
uh, scripts to get in with OhMyPosh. | |
00:03:27.584 --> 00:03:28.015 | |
So here we go. | |
00:03:28.015 --> 00:03:29.765 | |
Let me go and get a | |
little bit bigger here. | |
00:03:29.765 --> 00:03:30.675 | |
Boop, boop, boop. | |
00:03:30.734 --> 00:03:31.305 | |
Perfect. | |
00:03:31.685 --> 00:03:32.185 | |
There we go. | |
00:03:32.685 --> 00:03:35.535 | |
And I can boot up other things | |
like dev toys, for example. | |
00:03:35.545 --> 00:03:37.515 | |
So here's dev toys, | |
which is an awesome app. | |
00:03:37.734 --> 00:03:41.245 | |
It gives you a whole bunch of developer | |
y goodness right here on your machine. | |
00:03:41.614 --> 00:03:45.225 | |
And of course, the thing I'm going to | |
spend most of my time in is Visual Studio | |
00:03:45.225 --> 00:03:49.645 | |
code, not to mention at the same time | |
that I have VS code open, I also have. | |
00:03:49.965 --> 00:03:51.445 | |
Docker as well. | |
00:03:51.485 --> 00:03:52.965 | |
So I can run Docker right here. | |
00:03:53.305 --> 00:03:56.835 | |
And what we can see is that I have full | |
Docker running, everything that I need | |
00:03:56.865 --> 00:03:59.865 | |
on my machine, I just installed it and | |
then go ahead and do whatever I want. | |
00:03:59.885 --> 00:04:01.215 | |
So there's Docker set up, right? | |
00:04:01.215 --> 00:04:04.524 | |
So I'm kind of throwing everything | |
that I possibly can at it over | |
00:04:04.524 --> 00:04:06.265 | |
here, inside of visual studio code. | |
00:04:06.265 --> 00:04:09.804 | |
Of course, I have all my favorite bits | |
and extensions I could possibly want | |
00:04:09.804 --> 00:04:13.355 | |
that I showed in that video, including | |
all the Maui extensions, Android | |
00:04:13.355 --> 00:04:15.615 | |
extensions, Azure integrations here. | |
00:04:15.625 --> 00:04:19.464 | |
And of course, get a copilot, which has | |
a new GitHub copilot free tier as well. | |
00:04:19.464 --> 00:04:20.644 | |
So definitely check that out. | |
00:04:20.925 --> 00:04:23.075 | |
If you haven't been playing around | |
with GitHub copilot, I use it. | |
00:04:23.185 --> 00:04:26.425 | |
Every single day, all the time in GitHub. | |
00:04:26.465 --> 00:04:28.565 | |
com, Visual Studio and VS code. | |
00:04:29.395 --> 00:04:29.675 | |
Okay. | |
00:04:29.695 --> 00:04:32.714 | |
So a few other cool things here is | |
that, yeah, I can just open up, for | |
00:04:32.714 --> 00:04:34.344 | |
example, like Android emulators. | |
00:04:34.354 --> 00:04:37.114 | |
So here, I'm just going to boot | |
up an Android emulator running | |
00:04:37.115 --> 00:04:38.904 | |
right there, immediate, right? | |
00:04:38.935 --> 00:04:42.005 | |
So if I want to, I could go | |
ahead and toggle this down here. | |
00:04:42.005 --> 00:04:45.835 | |
Let me set, uh, uh, that | |
as the, the target device. | |
00:04:46.665 --> 00:04:47.265 | |
There we go. | |
00:04:47.985 --> 00:04:48.875 | |
I'm just going to hit run. | |
00:04:48.940 --> 00:04:53.469 | |
And now my NET MAUI application | |
is going to be compiled up and | |
00:04:53.469 --> 00:04:55.440 | |
then deployed right over to my. | |
00:04:55.840 --> 00:04:57.219 | |
Android emulator, right? | |
00:04:57.250 --> 00:05:00.940 | |
So I have everything sort of in one | |
place that I could possibly want. | |
00:05:00.969 --> 00:05:02.900 | |
And now it's going | |
through all of the launch. | |
00:05:02.909 --> 00:05:04.139 | |
Now what's nice about this, right? | |
00:05:04.139 --> 00:05:07.630 | |
As I'm not only just recording this | |
video, but at the same time, I have | |
00:05:07.659 --> 00:05:09.239 | |
all of these applications running. | |
00:05:09.239 --> 00:05:10.919 | |
I'm doing a full build compilation. | |
00:05:10.919 --> 00:05:12.140 | |
I have an emulator up and running. | |
00:05:12.140 --> 00:05:15.650 | |
I have Docker up and running and | |
I could have a lot more as well. | |
00:05:16.280 --> 00:05:19.710 | |
If I go into my activity monitor, | |
we can see that really actually | |
00:05:19.710 --> 00:05:23.880 | |
like, yeah, there's not even | |
that much craziness happening. | |
00:05:23.880 --> 00:05:24.599 | |
I haven't even really. | |
00:05:25.685 --> 00:05:26.315 | |
Too much here. | |
00:05:26.315 --> 00:05:30.525 | |
We are only using like 20 percent | |
of the CPU, 25 percent of the CPU. | |
00:05:30.835 --> 00:05:33.945 | |
And a lot of that actually is | |
just the Android emulators kind | |
00:05:33.945 --> 00:05:34.925 | |
of sitting there and running. | |
00:05:35.215 --> 00:05:37.474 | |
And then our applications deployed, right? | |
00:05:37.475 --> 00:05:42.325 | |
So we are doing a whole lot of things | |
all at once on our machine here. | |
00:05:42.625 --> 00:05:43.824 | |
So here's our application. | |
00:05:43.835 --> 00:05:46.085 | |
It's running just as | |
expected and I'm good to go. | |
00:05:46.745 --> 00:05:49.535 | |
I could come over here and I could | |
of course, toggle that maybe over to | |
00:05:49.535 --> 00:05:52.735 | |
my, I don't know, iOS simulator here. | |
00:05:52.735 --> 00:05:53.235 | |
There we go. | |
00:05:54.049 --> 00:05:54.789 | |
Boot that up. | |
00:05:55.340 --> 00:05:59.430 | |
And sure enough, we're going to get | |
this thing running and it's just going | |
00:05:59.430 --> 00:06:01.729 | |
to boot my iOS simulator as well. | |
00:06:02.150 --> 00:06:05.440 | |
And what's really cool about | |
this is that every single tool is | |
00:06:05.440 --> 00:06:07.049 | |
running just as we would expect. | |
00:06:07.049 --> 00:06:10.429 | |
So if I bring up my Android | |
emulator again, everything is here. | |
00:06:11.280 --> 00:06:14.059 | |
So let me talk a little bit now | |
that we have the applications and | |
00:06:14.059 --> 00:06:17.620 | |
everything up and running, why I | |
need and have everything installed. | |
00:06:17.640 --> 00:06:19.560 | |
So let me just go ahead and | |
minimize this stuff here. | |
00:06:19.650 --> 00:06:20.640 | |
Look at all these windows. | |
00:06:20.650 --> 00:06:21.299 | |
Crazy. | |
00:06:21.779 --> 00:06:22.139 | |
Okay. | |
00:06:22.140 --> 00:06:26.139 | |
So the first things first here is | |
that I went through my developer | |
00:06:26.140 --> 00:06:28.039 | |
setup guide a while back. | |
00:06:28.250 --> 00:06:31.454 | |
And normally what you need, of course, | |
is something like, you know, a. | |
00:06:31.855 --> 00:06:32.545 | |
Terminal windows. | |
00:06:32.545 --> 00:06:35.505 | |
So I have iTerm2 here | |
customized with OhMyPosh. | |
00:06:35.784 --> 00:06:38.844 | |
So I can do all sorts of stuff like, | |
you know, uh, dir, for example, | |
00:06:38.844 --> 00:06:41.775 | |
and get all my different like, | |
um, folders, everything like that. | |
00:06:41.784 --> 00:06:43.544 | |
I can say cd GitHub. | |
00:06:44.065 --> 00:06:44.745 | |
There we go. | |
00:06:44.855 --> 00:06:48.784 | |
And I can do cd, uh, | |
let's see, let me LS it. | |
00:06:49.265 --> 00:06:49.715 | |
There we go. | |
00:06:49.715 --> 00:06:52.645 | |
A CD Maui app one. | |
00:06:52.775 --> 00:06:53.365 | |
There we go. | |
00:06:53.515 --> 00:06:56.205 | |
And then we can see, I have NET | |
nine installed on this machine | |
00:06:56.535 --> 00:06:58.305 | |
and how long it's taking me to go. | |
00:06:58.305 --> 00:07:01.835 | |
So I'm still trying to customize | |
my, oh, my posh, but I installed, | |
00:07:01.835 --> 00:07:03.175 | |
I use PowerShell for everything. | |
00:07:03.185 --> 00:07:05.995 | |
I love that I can not only | |
just dir, but I can also. | |
00:07:06.395 --> 00:07:08.275 | |
LS and I just get everything. | |
00:07:08.275 --> 00:07:08.845 | |
I just like that. | |
00:07:08.845 --> 00:07:11.005 | |
I could use all my commands | |
all at once, which is cool. | |
00:07:11.705 --> 00:07:16.604 | |
I of course have X code over here and | |
I also use X codes right over here | |
00:07:16.935 --> 00:07:19.265 | |
to manage my X code installation. | |
00:07:19.265 --> 00:07:20.864 | |
So here we can say I have 6. | |
00:07:20.864 --> 00:07:22.565 | |
1 and I can easily install 6. | |
00:07:22.615 --> 00:07:25.385 | |
2, which just recently came out last week. | |
00:07:25.615 --> 00:07:28.905 | |
So based on what I need set up, I | |
can go and I can manage and I can | |
00:07:28.955 --> 00:07:33.445 | |
uninstall, reinstall, do anything that | |
I want and make it my active project. | |
00:07:33.734 --> 00:07:35.895 | |
This is nice because it's going | |
to allow me to do Mac development. | |
00:07:35.995 --> 00:07:41.255 | |
iOS development, not only in Swift, but | |
obviously also in NET with NET MAUI. | |
00:07:41.905 --> 00:07:43.705 | |
And of course I have any | |
provisioning profiles. | |
00:07:43.735 --> 00:07:45.615 | |
It's going to allow me | |
to do everything there. | |
00:07:46.434 --> 00:07:50.095 | |
Finally, of course I have Android | |
studio down here, which is going to | |
00:07:50.095 --> 00:07:54.075 | |
allow me to not only just customize | |
and run my virtual devices, but also | |
00:07:54.085 --> 00:07:58.905 | |
manage all of my SDKs that I may need | |
for NET MAUI development on my machine. | |
00:07:59.445 --> 00:08:01.905 | |
So that is why I have Android | |
studio up and running. | |
00:08:02.909 --> 00:08:04.909 | |
Of course, I have Arduino IDE here. | |
00:08:05.200 --> 00:08:08.650 | |
I'm using that because I'm working | |
on some IOT devices, uh, things | |
00:08:08.650 --> 00:08:11.520 | |
that I've been working on with | |
Frank, uh, which is really cool. | |
00:08:11.520 --> 00:08:14.490 | |
So we're doing some different like | |
connections here for YouTube status. | |
00:08:14.500 --> 00:08:17.159 | |
So hopefully you'll see that | |
in my background at some point. | |
00:08:17.850 --> 00:08:21.129 | |
Now, of course, I also have Docker as | |
we would expect over here, which is | |
00:08:21.130 --> 00:08:24.480 | |
kind of nice in case I start to do some | |
container development with NET Aspire. | |
00:08:24.480 --> 00:08:25.110 | |
For example. | |
00:08:25.885 --> 00:08:29.125 | |
Another thing that you might see up here | |
as I have just sort of normal sort of | |
00:08:29.125 --> 00:08:33.825 | |
things, uh, like time machine backup, | |
Elgato, uh, control center for my lights. | |
00:08:33.865 --> 00:08:36.674 | |
And additionally, I have | |
something called a better display. | |
00:08:36.964 --> 00:08:40.594 | |
This is an awesome little application that | |
helps me switch between, uh, different | |
00:08:40.595 --> 00:08:45.725 | |
resolutions, easily refresh rates, screen | |
rotations, color profiles, and a lot more. | |
00:08:45.735 --> 00:08:47.105 | |
It was a great recommendation for me. | |
00:08:47.210 --> 00:08:50.680 | |
From all of you that have been | |
watching my videos and listening to the | |
00:08:50.680 --> 00:08:52.610 | |
podcast and I'm on a free trial here. | |
00:08:52.610 --> 00:08:55.510 | |
And I'm actually totally gonna | |
just give the developer 19. | |
00:08:55.510 --> 00:08:57.840 | |
I think it's a really great app | |
and it's better than going back | |
00:08:57.840 --> 00:09:00.210 | |
and forth into the settings. | |
00:09:01.010 --> 00:09:03.960 | |
Now, one thing you may have noticed | |
down here and all of my awesome tabs | |
00:09:03.960 --> 00:09:06.940 | |
that I have open is VMware fusion. | |
00:09:07.470 --> 00:09:11.209 | |
Now, often when we are developing. | |
00:09:12.135 --> 00:09:13.085 | |
Applications. | |
00:09:13.125 --> 00:09:16.165 | |
We not only need to develop | |
things on a Mac, but we also want | |
00:09:16.165 --> 00:09:17.545 | |
to develop things on windows. | |
00:09:17.555 --> 00:09:19.115 | |
I'm a huge fan of visual studios. | |
00:09:19.115 --> 00:09:20.595 | |
My favorite IDE in the entire world. | |
00:09:20.615 --> 00:09:23.265 | |
I use it almost every single | |
day, including on my Mac. | |
00:09:23.605 --> 00:09:26.805 | |
Now there are lots of ways of running | |
windows on your Mac and there's | |
00:09:26.864 --> 00:09:29.119 | |
awesome new arm support for doing that. | |
00:09:29.449 --> 00:09:33.920 | |
Windows itself and pretty much arm | |
support for everything, every single | |
00:09:33.920 --> 00:09:35.589 | |
day that you could be doing on windows. | |
00:09:35.900 --> 00:09:39.449 | |
I've been running a project Volterra | |
machine, uh, which is a windows arm | |
00:09:39.589 --> 00:09:43.379 | |
developer device, uh, for years now | |
at this point, uh, at early bits and | |
00:09:43.380 --> 00:09:47.269 | |
I have final production bits here, uh, | |
hardware, but I use it every single day | |
00:09:47.269 --> 00:09:49.229 | |
at work and personally, like I have it. | |
00:09:49.380 --> 00:09:50.949 | |
And I just run just anything Dr. | |
00:09:50.949 --> 00:09:53.040 | |
Desktop runs on a visual | |
studio runs on it. | |
00:09:53.329 --> 00:09:55.480 | |
Pretty much everything runs | |
on it, which is fantastic. | |
00:09:55.910 --> 00:10:01.390 | |
So I've been using every day and I will | |
say this, that, uh, windows on Mac OS | |
00:10:01.420 --> 00:10:03.699 | |
and arm all run super seamless together. | |
00:10:04.320 --> 00:10:07.859 | |
And that's why I want to walk | |
through what this sort of setup looks | |
00:10:07.859 --> 00:10:12.020 | |
like, because I'm actually hopping | |
back and forth between Mac OS and | |
00:10:12.020 --> 00:10:13.440 | |
windows almost every single day. | |
00:10:15.974 --> 00:10:19.035 | |
So the first thing here is there's | |
lots of ways of running windows, things | |
00:10:19.035 --> 00:10:21.824 | |
like parallels, uh, there's other | |
applications that are out there, but | |
00:10:21.824 --> 00:10:26.814 | |
there's also VMware fusion, VMware | |
fusion is a virtual environment here. | |
00:10:26.814 --> 00:10:27.974 | |
So it's a virtual machine. | |
00:10:27.974 --> 00:10:31.724 | |
So it has a big image on disc | |
and now I am running windows. | |
00:10:32.050 --> 00:10:35.350 | |
Right here on my Mac | |
machine, you can see it. | |
00:10:35.370 --> 00:10:38.180 | |
So it's in one window and | |
it's one sandbox that's there. | |
00:10:38.680 --> 00:10:40.610 | |
I can put this thing | |
into full screen mode. | |
00:10:40.630 --> 00:10:44.389 | |
And now it's basically like just | |
one full screen, but I am obviously | |
00:10:44.420 --> 00:10:46.100 | |
inside of my Mac environment. | |
00:10:46.660 --> 00:10:47.910 | |
So I can pop back and forth. | |
00:10:47.910 --> 00:10:49.570 | |
I'm just going to go | |
ahead and set this here. | |
00:10:50.670 --> 00:10:53.989 | |
Now, once I have this all set | |
up, I have full control of it. | |
00:10:54.139 --> 00:11:00.345 | |
I have a bridge connection so I can, | |
uh, Automatically come in here and, | |
00:11:00.395 --> 00:11:05.525 | |
uh, see under network, for example, | |
uh, here that it is shared with my Mac. | |
00:11:05.525 --> 00:11:06.375 | |
So I have full internet. | |
00:11:06.404 --> 00:11:08.015 | |
I can plug in USB devices. | |
00:11:08.025 --> 00:11:11.565 | |
They're going to show up basically | |
exactly the same between, uh, | |
00:11:11.585 --> 00:11:14.109 | |
my windows machine and my Mac. | |
00:11:14.970 --> 00:11:15.840 | |
Uh, Mac machine. | |
00:11:15.840 --> 00:11:19.160 | |
So if I plug in an Android device, | |
I can say, connect that Android | |
00:11:19.170 --> 00:11:20.600 | |
device to my windows machine. | |
00:11:20.900 --> 00:11:24.310 | |
If I want to, I can go ahead and say, | |
plug that in and connect it to my | |
00:11:24.310 --> 00:11:26.550 | |
Mac device, for example, and do that. | |
00:11:27.339 --> 00:11:29.660 | |
So here I can just simply | |
say, build on windows. | |
00:11:29.700 --> 00:11:33.419 | |
And now my NET MAUI application is | |
going to be compiled up and deployed | |
00:11:33.419 --> 00:11:38.160 | |
directly inside of my windows virtual | |
machine here, and now I can do | |
00:11:38.170 --> 00:11:41.960 | |
all of my windows development that | |
I need, which is really awesome. | |
00:11:42.049 --> 00:11:44.270 | |
So, uh, my application. | |
00:11:44.525 --> 00:11:45.324 | |
Boom up and running. | |
00:11:45.324 --> 00:11:48.464 | |
It's the same one that you just saw a | |
second ago that was running on my Mac. | |
00:11:49.395 --> 00:11:55.145 | |
Now there are a few quirks though, of | |
course, like I'm inside of a VM in a. | |
00:11:55.830 --> 00:11:59.030 | |
Operating system and hardware | |
platform that doesn't allow nested | |
00:11:59.150 --> 00:12:02.400 | |
hyper virtualization as well, which | |
means I can't really just go in here | |
00:12:02.400 --> 00:12:04.140 | |
and start up an Android emulator. | |
00:12:04.699 --> 00:12:07.309 | |
Now there are a few cool things | |
though, is that you can actually | |
00:12:07.329 --> 00:12:09.819 | |
just run a few ADB commands. | |
00:12:09.919 --> 00:12:14.009 | |
So over here on my Mac, I can open | |
up settings and here under sharing, | |
00:12:14.389 --> 00:12:17.880 | |
uh, I can take a look and turn on | |
remote login and I can turn on. | |
00:12:18.215 --> 00:12:19.285 | |
This remote login. | |
00:12:19.295 --> 00:12:21.645 | |
So I can SSH in to this machine. | |
00:12:22.365 --> 00:12:24.805 | |
So what I'm going to do over | |
here is I'm going to open up | |
00:12:24.954 --> 00:12:27.334 | |
a few, uh, little prompts. | |
00:12:27.345 --> 00:12:31.895 | |
So the first thing over here that I can | |
do is open up an ADB command terminal. | |
00:12:32.595 --> 00:12:35.854 | |
And in our documentation, there are two | |
commands that you would need to run. | |
00:12:35.865 --> 00:12:41.805 | |
So the first one here is basically, uh, | |
forwarding information packets and making | |
00:12:41.805 --> 00:12:47.355 | |
a connection from localhost over to, uh, | |
the one, two, seven localhosts over SSH. | |
00:12:47.675 --> 00:12:49.085 | |
So I'm just going to go | |
over here and I'm going to. | |
00:12:49.335 --> 00:12:50.005 | |
Plug that in. | |
00:12:50.865 --> 00:12:51.405 | |
Perfect. | |
00:12:51.415 --> 00:12:56.475 | |
I'm just going to give it my password of | |
my Mac and now I'm actually SSH into it. | |
00:12:56.475 --> 00:12:59.265 | |
So you can see my Zish | |
over here, which is great. | |
00:12:59.735 --> 00:13:00.404 | |
Uh, cool. | |
00:13:01.064 --> 00:13:04.415 | |
Now I have that Android emulator | |
that's running over here. | |
00:13:04.545 --> 00:13:08.755 | |
Uh, so it's up and running and I'm going | |
to go ahead and connect to it from ADB. | |
00:13:08.775 --> 00:13:10.235 | |
So I'm just going to go | |
ahead and hit copy here. | |
00:13:11.015 --> 00:13:12.795 | |
I'm going to open up another. | |
00:13:13.465 --> 00:13:16.925 | |
A little terminal window here | |
for ADB and plug that in. | |
00:13:17.295 --> 00:13:17.595 | |
Awesome. | |
00:13:17.615 --> 00:13:18.455 | |
So now I'm connected. | |
00:13:19.025 --> 00:13:23.605 | |
What's cool about that is that now | |
over here, I can see under Android. | |
00:13:23.605 --> 00:13:27.954 | |
I have my Android devices that | |
I can go ahead and deploy to. | |
00:13:31.054 --> 00:13:33.014 | |
So now I have my Android | |
emulator over here. | |
00:13:33.014 --> 00:13:33.445 | |
There it is. | |
00:13:33.445 --> 00:13:36.195 | |
You can see the live preview | |
and this is running on my Mac. | |
00:13:36.195 --> 00:13:37.225 | |
So you can actually see that over there. | |
00:13:37.225 --> 00:13:38.425 | |
I can click, click, click, click, click. | |
00:13:38.775 --> 00:13:40.375 | |
I can see it update in real time. | |
00:13:40.675 --> 00:13:44.505 | |
So I get that same dev experience | |
either if I plug in a device | |
00:13:44.695 --> 00:13:45.835 | |
or I do something else. | |
00:13:48.145 --> 00:13:49.325 | |
And from here, there's a few | |
things that you could do. | |
00:13:49.325 --> 00:13:51.465 | |
If you want to go to Mac, you | |
could go ahead and connect | |
00:13:51.465 --> 00:13:52.655 | |
to your Mac and pair here. | |
00:13:52.895 --> 00:13:56.324 | |
You can plug in an iOS device and | |
then you could do iOS hot restart, | |
00:13:56.324 --> 00:13:57.855 | |
which I've done videos on as well. | |
00:13:58.045 --> 00:14:01.755 | |
There's many ways of pairing your windows | |
device to your Mac machine as well. | |
00:14:04.525 --> 00:14:04.895 | |
All right. | |
00:14:04.895 --> 00:14:05.594 | |
Well, there you have it. | |
00:14:05.605 --> 00:14:08.994 | |
That is my Mac setup that | |
I've been using so far. | |
00:14:09.250 --> 00:14:12.849 | |
Let me know in the comments below | |
what your Mac setup is like, or if | |
00:14:12.849 --> 00:14:16.319 | |
you found this information interesting | |
at all, and other questions you may | |
00:14:16.319 --> 00:14:20.089 | |
have as I'm starting to like do my | |
development, both on Mac OS inside | |
00:14:20.089 --> 00:14:24.870 | |
of Visual Studio Code and also inside | |
of Windows on my arm device here. | |
00:14:25.020 --> 00:14:26.019 | |
I absolutely love it. | |
00:14:26.099 --> 00:14:27.744 | |
If you also got a Mac, uh, mini. | |
00:14:27.905 --> 00:14:29.995 | |
M4 pro or M4 in general. | |
00:14:30.005 --> 00:14:32.815 | |
Let me know what your optimizations | |
and customizations have been. | |
00:14:32.825 --> 00:14:37.145 | |
I'd be super interested in continuing to | |
like, get more familiar with Mac OS and | |
00:14:37.145 --> 00:14:38.434 | |
continue to be more productive as well. | |
00:14:38.535 --> 00:14:39.685 | |
Anyways, I hope you enjoyed this video. | |
00:14:39.685 --> 00:14:43.315 | |
If you did give it a like, give it a | |
subscribe, do all the things as always. | |
00:14:43.315 --> 00:14:45.715 | |
I really appreciate your support | |
and watch all these videos. | |
00:14:45.944 --> 00:14:48.785 | |
And of course you're interested | |
in other things in development | |
00:14:48.985 --> 00:14:50.575 | |
and NET or anything else. | |
00:14:50.595 --> 00:14:51.805 | |
Let me know in the comments. | |
00:14:51.815 --> 00:14:52.675 | |
I really appreciate it. | |
00:14:52.695 --> 00:14:54.475 | |
So until next time, thanks for watching. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment