· 41:44
CJ Avilla: Welcome to Build and Learn.
My name is cj.
Colin Loretz: And I'm Colin.
And today we are joined by Eric
Hanchett to talk about front end
frameworks and the approaches
taken at AWS to implement Amplify.
Erik Hanchett: Hello?
Hello, everybody.
Hey, you guys doing What's up cj?
What's up Colin?
CJ Avilla: what's up?
Welcome, Eric how long
have you been at Amplify?
Erik Hanchett: Yeah, I've
been at AW S for two years.
Most of that time, I've been
doing front end engineering,
working on the Amplify team.
But just recently I moved
over to , dev something.
I know cj, you know a lot about.
So I'm really excited about
that role and actually I'm sort
of doing a hybrid role now.
I'm actually doing a dev, some of the time
and then also still doing front end work.
So I'm still pushing up prs, making fixes.
So yeah, it's kind of, it's kind
of cool seeing like both sides.
Colin Loretz: Yeah, it kind of keeps
you close to the, close to the work.
Erik Hanchett: It does.
Yep.
Yep.
Actually, I'm Dove rel for the team
that I was on before, so I kind of
know it in intimately of what they're
working on and, what we're trying to
accomplish and get the word out on.
Colin Loretz: Awesome.
Yeah.
I think we're gonna get into what
Amplify is in a little bit here, but
would love to just hear a little bit
about your background and the kind of
work that you're doing today, just so
the audience kind of has a sense of who
Eric is and then we can start to chat.
About front end frameworks.
Erik Hanchett: Cool.
Yeah, I'll give you my bridge
diversion I grew up here in, in
Reno, Nevada, and I've been working,
in tech since I graduated college.
I worked at Intuit for a while.
Uh, I worked at smaller startups.
I worked for bigger companies.
Along my software development journey,
I started getting really into teaching.
It's been a kind of side hobby
of mine, a passion of mine.
So outside my nine to five, I've
been, doing YouTube videos, blogging.
I got.
To create a couple of books,
publish a couple of books, one
from Manning and one from Pact.
So I just really deep dived
into like personal branding.
I know we're not gonna talk about Ted
today, but if you guys ever wanna,
chat about that's a fun topic.
And so I, that was kind of my career
for quite a while was, uh, nine to
five, working on the back end doing
Java development, and then I moved
over to the front end doing front end.
I never went with the mainstream popular
libraries and frameworks like React.
I'm always like, I did Ember js back
in the day when Angular one was huge.
And then I moved over to view js when
React started becoming a lot more popular.
And then I did view for a
while and then I did Angular.
And now I'm doing React,
a lot in my day job.
And now I'm also, like I said at the
beginning, I'm moving towards what I used
to just do on my nights and weekends,
creating content, YouTube, uh, speaking,
which I'm trying to get more into.
And now that's my full-time job.
The last few weeks is, is trying to
create content and, you know, there's
a lot to, to bring developer advocate,
but that's, that's a little bit about
me and kind of the journey I've.
CJ Avilla: Very cool.
I was looking at your channel and
you've done so much content about
front end frameworks and also the fact
that you've helped build all of these
tools at Amplify on the front end.
I thought it would be awesome to just
chat about the direction, of front end.
At the end there.
You were like, oh, and now I do react.
Like, it was kind of like a
sad , like, you know, like, ok.
Yeah.
I was always off the beaten
path doing these, you know,
like more unique frameworks.
And then, uh, now you're,
now you're in React Land.
Looking at all of those different
frameworks that you've used, even
going back to Ember, what are
some things that you think are
really popular right now in 2022?
What do you expect to happen in 2020?
Erik Hanchett: That,
that's a good question.
Let me, let me go back first about,
um, being disappointed, working.
React.
I, I still love React, you know, I don't
hate any frameworks or anything like that.
It's just I do, I do like
working on view kind of as my
favorite framework to work on.
. But I am impressed with just in
the last couple years, working deep
diving in view, in side reacts.
That is, and just how, you know, elegant.
It's, it's done and, and the
functional programming and paradigms
and, and being able to, to create,
you know, really well-written code
and working with really smart people
is something that we do at aws.
You know, they have some really,
really good, uh, react developers.
So I'm just soak.
As much information I can from them and
how to create really succinct, I don't
love this word, but idiomatic type code.
Having the right idioms.
And so that's been, uh, a pleasure
and it's definitely something I,
I will be probably doing in the
future to writing more React.
And it's something I'm actually doing
right now is, writing quite a bit of it.
For the future and trends, the main
crux of your question I can tell you
that uh, my Twitter feed has been
blowing up in the last few months.
Everything about next and all the
crazy stuff they're doing at Versace.
I think you guys both are nodding
and, and agreeing with me there and,
and just how amazing that community
is and how they're just keep pushing,
uh, these different standards
and different ways of creating a.
Web apps forward, I think we can all
kinda relate back in the day when we
were in web development and there wasn't
these single page applications and we
were all just dealing with, uh, index
hdml that's linked to another page and
everything was server side rendered.
And it feels like now we're taking these
frameworks and we're kind of moving.
That direction again, where, you
know, everything's being, uh,
rehydrated on, on, on the server and,
everything's server side rendered and
all, all the buzzwords and acronyms
out there that that's happening.
That's where I see like web development's
just becoming easier and easier.
I, I love the tools like
remix that came out as well.
And I guess now they are, who owns them?
Shopify.
CJ Avilla: Shopify.
Yeah, definitely curious to see
what happens with that acquisition,
Shopify acquired remix and.
They are typically a huge
supporter of Rails, right?
Like Shopify was one of the like pre 1.0
Rails apps and is still like very, very
heavily invested in the Rails community.
So I was surprised to see they
bought Remix, which is also a
full stack sort of JavaScript,
competitor to next JS or something, right?
Colin Loretz: Yeah.
Have you seen, um, the Shopify
hydrogen and oxygen stuff?
CJ Avilla: I have.
Do you think that's what they're gonna use
it for is like their, the Shopify apps.
Colin Loretz: I think so.
Yeah, because that's, it's very similar
to, and I don't think people have
disclosed this as much that Hiroku
was bought by Salesforce because,
they needed a way to host Java apps,
and very shortly after Hiroku was
acquired, they added Java support.
There's that, do you
build it or do you buy it?
We had an episode about that.
Right?
And like sometimes it's like, we're
gonna literally go buy the whole company
because we don't want to build a hosting
company or win the case of remix.
These like very modern tools where
I think, in the early days of Rails
you were talking about traditional
v p s hosting, engine yards and
slice hosts and things like that.
But now you have these tools.
I mean, even Netlify render,, in my
mind, like when I think about it and
we'll, we'll talk about it more, it's
like I see a lot of people learning
today kind of overwhelmed with choice.
Uh, do I invest in, the Versace,
, toolkits, the SVEs, the reacts, the
view, what, what do I start with?
And, would love to hear more Eric
about like what you see in terms of.
How easy is it to get started these days?
when we have so many.
Erik Hanchett: Yeah, it.
, it's super easy to get started.
There's, there is that kind of dilemma
of choice, I guess You so, so to put
it that where there's so many different
choices that a new developer that's just
starting out might, might feel a little
intimidated of like, where should I go?
I think the general wisdom, I still
keep hearing everywhere and it's
taught in bootcamps everywhere.
Still start with React, but
then you gotta have to think
like, do I do create React app?
Do I use next?
Do I use.
Is there anything else?
is there, I'm sure they're remix.
Exactly.
We just talked about it remix.
Uh, yeah, so there's still
some, some choice there.
And then I've, like recently people have
been leasing the Twitter verse and been
posting like, don't use create React app.
Start with something else cuz create
React app doesn't have some things that
you need like, suicide, renderings,
site generation and all that.
I still think though, I mean if
you're starting out with re, you know,
reactors is a great choice and I think
it's, it's pretty common knowledge.
That's what, at least on, on the
web framework, front end, JavaScript
side, uh, that's where you start with.
But I've seen, , sve, you mentioned selt.
Svel Kit.
Which is built on ve ha, uh, which is
like a builder, a bundler for your apps.
I've been seeing so many great
things about SELT Kit lately and
SELT in general, and that community
is definitely the alternative I think
to, to react, uh, along with view.
View went through a little
bit of a growing pain.
It went from view two to view three,
and for those listeners out there,
That, I don't know, view two was, a
really solid, really amazing part of,
technology, and it still is to this day.
But, uh, Evan U the creator of View
and the core contributors in that team
had to make some wholesale changes
to view and kind of added in some
new paradigms, something called the
Composition api, some other APIs, so they.
Kind of a big update to view three,
which was incompatible with view two.
So that's been a little bit of a, a pain
point in that community, uh, to just
upgrade from view two to view three.
But all the stats say that most people now
are creating View three apps from scratch.
And so if you're comparing that view
three is also an excellent way to get
started, if you don't want to go with
that React route as well, and view three.
And if you look at View three and.
And if you use, there's this new type
of way, we call it the script setup
type of way of creating apps in VJs.
It's where you just have the
script at the top, top and then you
have the template at the bottom.
And then you put in all your
variables and anything variables you
have inside, they're actually, uh,
Are available inside the template.
It feels a little bit like svet.
So it's almost like that paradigm shift
where, before we had to use this big
options object and you had to declare
all your reactive variables, that kind
of, that's going out of phase in the view
community and there everybody's moving
to the script setup in the last year.
All that to say that, yeah, I, I
feel like React is still probably.
The most popular way to start.
It's still probably for new developers
the way to go, but I don't think
it hurts to, expand horizons.
Look at things like selt and view,
and then, of course angular too.
But we can get into angular.
That's a little bit, I feel like
that's a, a little bit different.
CJ Avilla: Totally.
One of the other trends that
might be interesting to dig into
is stuff running at the edge.
Versace was pushing this like, okay,
now you can like take your next JS
app and deploy it and then run stuff.
Uh, run stuff at the
edge and then like that.
Plus, I know Super Base
was doing some stuff.
Dino Deploy started doing some stuff and
then all of a sudden there were some other
frameworks that popped up like quick and.
I think, I don't know about Astro,
but there's a handful of like
other, , hot new frameworks and it
seems like the new thing is does your
framework work at the Edge or whatever,
Um, I don't know
Colin Loretz: to be
CJ Avilla: that, seems like
it might be a new thing too.
Erik Hanchett: So, but the edge,
meaning like the servers are
like located closer to you, your
physical location, um, wherever the
website's being served up for, uh,
CJ Avilla: Exactly.
Erik Hanchett: Am I right?
CJ Avilla: Yeah.
Yeah, yeah.
Yeah.
Erik Hanchett: Yeah.
It's kind of interesting like.
Edge computing seems to
be a hot topic recently.
I mean, edge computing, ai, Chat,
G B T, uh, I, I don't, I don't
have too much opinions on it.
Um, cuz I'm like, I just wanna create
good front end software and then I'm
just gonna let my hosting provider
deal with that if they use Edge
Computing to make it faster or if
they're using CDNs, things like that.
That's some of the philosophy with
Amplify itself is that front end develop.
Kind of abstract a lot of that away
with some of the solutions that we have.
So if you want edge computing or, or if
you want some of those things, uh, to
kind of built into some of those services.
But yeah, I don't have too
much of opinion on that.
I haven't really used it.
CJ Avilla: Yeah, it, it seems like
it would be really useful for global
companies, but often the apps that you
know, beginners are making, or that
even indie founders are making are
really mostly just impacted by one geo.
So if you're going to take on the burden
of making your app work, At the edge,
meaning you have to figure out like
some distributed database solution.
And you also have to figure out, you
know, how am I gonna talk to certain APIs?
Do I need to like, make sure that I'm
hitting the right API based on the geo
that the request is coming in through?
Then that might be overhead that
you don't actually need or like
you probably don't need early on.
Right.
And so, yeah, I think sticking
with, sticking with, uh, the most
popular thing, probably good, right?
And you, you can go on like Google Trends,
just type in like trends.google.com.
And if you have two choices, just put
them both in there and see which one
is It's positively trending right now.
It's probably like a good bet.
I.
Erik Hanchett: Yeah, for sure.
Colin Loretz: I wonder with like
this, these being mostly client based
apps, how many people are trying to.
Serve the client on the edge and then ends
up making a centralized API call anyway.
And you're like, well, technically,
like the client's, you know,
client or mobile apps, you know,
they're being served by the client.
And so they're like inherently
like the, the farthest edge, right?
And then they're making calls
to API servers or backends.
And like you said, you know, then now
you have to have a distributed database
if you don't want to just end up making
like a central remote call anyway.
But I think while people are
learning, those are things that you
probably should not have to worry
about when you get started and just
focus on, picking the right tool.
I, I agree with what you were saying.
You know, starting with
React is, is a good place.
I think picking something and then
going sideways into other ones, like,
I actually really like doing like the
Hello worlds for all of these, , if
you haven't done selt, go do the
Hello World, go do the angular one.
Build a tiny, you know, to-do list
app or something in each of them, just
so you get those, the differences in.
And even you mentioned like with
React, it's like, do I want to see
what is different in re and Next,
or create React app, insert all the
other options that I'm sure people
have forked and, and created too.
Erik Hanchett: Yeah, it's interesting.
Yeah, you could even like, right this
time of year, I'm seeing so many people
tweeting stuff like I finished the 12
advent calendar, react or view or uh, code
kata type, like these code coding problems
that happen all the time this month.
I mean, Certainly, like if you
wanna learn a new framework
or library, here's the time.
Search out technology advent
calendar or 24 days of Christmas.
And I'm sure someone's having
a website up that can do it.
I was trying to do the
view one for a while.
I can never get into those.
Not like I start like the first two
days and then I'm like, okay, I got it.
And then I just give up the last 20.
Days, we have a Slack channel at AWS
for advent calendar challenge, and
then people post a challenge every day.
And if you get 'em all done,
you get I think, a phone tool
icon or something like that.
And I, I can never get
it, never get it done.
CJ Avilla: I'm also going through, there's
a, there's one called the advent of code.
If you go to advent of code.com, there's
a bunch of challenges that are released
daily and those are insanely fun.
They're, uh, the one for
today is so challenging.
Before we jumped on the call, I was just
telling Colin, like, I, I've been, I
burnt like an hour and a half already,
just trying to like, figure out part
one and they increase in difficulty.
So if you like, day one
is kinda like pretty easy.
It's just like, , parse some of this and.
Sum up the groups or whatever.
But yeah, as you go along, they
get more and more challenging.
These are more like, pick a new
language that you wanna learn and
then solve it with that new language.
They're not like framework
specific or anything.
But yeah, I think if you're looking to
learn a new framework, there's probably
analogs across the, you know, across the
Erik Hanchett: Put that in the show notes.
Colin Loretz: Absolutely.
CJ Avilla: definitely
drop it in the show notes.
And then, uh, yeah, shameless plug.
If you wanna like watch me solve
these, you can head over to YouTube
and, hopefully there's answers there
for the day you're trying to look at.
But uh, yeah, they're, they're getting
to a point where I'm like, okay, this
one is, this one's taking a lot of
time to, a lot of time to solve, but,
Colin Loretz: What I love about
those though is that there's a
community of people who then are
creating content like you, right?
Where now I get to go learn how
to solve the problem that I've
been trying to solve for a while.
. And now I wanna see how CJ did it, like
I did mine and I'm only on day one still.
And like you, Eric, I'm like,
oh, cool, I got one day done.
Um, but, I solved it and then I went and
looked and CJ like solved it in one line.
And I'm like, okay, now let's,
let's dig into this and see what
I need to learn about Ruby here.
But yeah, they're very, very fun.
Um, things, we tried to do a code
challenge in our, we have a, a
Slack group for our local meetup.
And I think I was posting daily
challenges for maybe a week, and
then I just completely forgot.
And it's just now I think we just
tell people to go to advent of code.
But um, yeah.
I guess with, with all these things
that you see changing and, and all
the frameworks and all the things that
you were just talking about, how do
you see like the current landscape of
frameworks and how Amplify fits into that?
And I think actually if you could
give us kind of that, like what is
amplify for people who are new to it?
Erik Hanchett: Yeah.
Amplify is uh, a set of tools and
libraries for front end developers to
make full stack applications, easier.
It's backed by AW s
services, in the backend.
So like for example, we have,
we have a JavaScript library and
that JavaScript library has a
bunch of different categories.
So it makes it easier work
to work with our S3 storage.
Options.
And that's like a service
that you can upload files to.
And then we also have APIs to connect
to our Cognito service, so which
that handles our authentication
and authorization to it.
And then one thing is we have a
managed GraphQL service called Appy.
So that's really popular and people
use that to use that as their database.
Uh, No sql, uh, graph QL database that is.
So that's kind of part of it.
And then we have like an amplify hosting,
so you can easily take your website and,
and host it up on our, on our service.
And we just recently
released support for next 13.
And then we also have, other tools
like, uh, specifically for our.
That team I'm working on, we
have something called Amplify
Studio, which is a visual way
to create your backend services.
Like I said before, like the
authorization, uh, also be able to create.
Tables and databases, and then it
has this kind of no code or low code
solution, which is our Amplify studio
build service that hooks up with Figma.
So you can go into Figma and
you can create the layout of
the website that you like.
then you can export it into code and it
actually generates the React code for you.
And we have our own component
library, which we call, amplify ui.
And this, UI component library is
kind of similar to things like.
Like other React, libraries,
like material design,
react libraries out there.
And it's not like the olden days
of, of no code or automated code
solutions where you look at the code
afterwards and you're like, this is
just awful and you can't understand it.
No, this is actually using our
primitives that we've created through
this ui library to generate your
site and it'll be exactly how it is.
And then it also has hooks in, so
let's say you're using something called
Data Store, which allows you to have
information up on our Graph QL database.
And it's kind of analogous
to Firebase in some ways.
And so you, it, you can
have hooks in there.
So when you.
Download your code that you created
in Figma and it generates all
your primitives and everything.
It's already connected up to data stores,
so now it's going to automatically
update the table that you created
with the correct information or,
or whatever your data source is.
So that, that's a little bit of it.
So we're really focused
on developer experience.
And to just make it really easier for
developers to, especially front end
developers, to make like full stack
applications quickly using AWS services.
And what's really nice is if you're an
AWS expert, you're using, and we also
generate all your code in the background.
So we have something called
infrastructure as code.
Um, and we, you can
actually take that code.
We have something called cdk
and you can, can eject from
it if you like, grow out of.
And you're like, I don't like the
way it automatically provisions
all these services for me.
You can create your own CDKs
and manage that yourself.
But it, it also has a
command line utility.
It has a, it has a flutter library, an
iOS library, a , react native library.
So we kind of try to do a little
bit of everything in the front
end to make it easier to do.
CJ Avilla: I have so
many questions.
Colin Loretz: Go
Erik Hanchett: question
I can answer for you?
CJ Avilla: I'm in my head, I'm trying to
map like all of these different pieces
to other things that I'm familiar with.
And so you said sort of like, okay,
you know the GraphQL endpoint is sort
of this managed act, or like app, I
think it's called Appy or something.
It's like this managed database
that you can think of as like
Firebase, super base, whatever.
And then you also have some way
to run and host the application
and you mentioned next js.
So you could like take
your next JS app and then.
Deploy it to amplify and have
amplify like host and run that.
And, uh, at the same time we're talking
also about like all these different
UI components and UI libraries.
And so in my head I'm like, okay,
where does next JS stop and
where does Amplify start?
And like, would I, you know, use
next Js maybe without a p i routes?
And would I be instead of u
like writing my own components
on the front end for next.
With React would I'd use like
the stuff from the Amplify
libraries and UI components or.
Erik Hanchett: Yeah, there's a lot there.
You can use Next 13 and
then have it connected.
Use our React UI library to
construct your whole app out of.
You can also use our React UI library
without any of the AW w s services.
If you just want to use it as, uh,
replacement for another, design
framework that you're using or whatever
other, UI library you're using so
you can kind of mix and match it.
You can use our next app and then use
Amplify Hosting and then connect up
to an AWS Lambda so it hit, it has
all those, features available, so you
kind of mix and match what you want.
Yeah.
It's kind of cool service.
I'm just trying to get the word out
on it more to, cuz it's got, it's,
it's grown a lot in the last, uh,
4, 5, 6 years from what it, when it
started out with, it's, it's, there's
a lot of different pieces to it.
I, I focus mostly on the studio part
CJ Avilla: Mm-hmm.
Erik Hanchett: on that, no-code,
low-code solution, things like,
CJ Avilla: Would you say that that
is a competitor to something like
Retool and Webflow and like, can you
build the whole thing and deploy it
without ever touching any code by going
through this Amplify studio process?
Erik Hanchett: Yeah, you, you
can, you definitely could.
I used Webflow for a while
and I, those guys are amazing.
I mean, they've gone so far in that space
of being able to create a whole site.
That probably is a not what
this low-code Figma plugin is.
This is more like you have a
designer on site, they have a really
cool design that they want to do.
They want to quickly get up and running.
They can go ahead and use.
This Figma plugin, put everything
in, kind of puts it back to studio.
You download the components into your
app and then you can kind of take those
components, move 'em around, maybe tweak
the design you want, put, put some more
functionality in and do it that way.
It's not at that webflow part where
it's a little bit more sophisticated.
This is kind of a different use
case in that, in that aspect.
One thing we try to do, and we
are creating more and more of is
we call 'em connected components.
we call it somethings primitive,
so those are like your buttons and
your tables and things like that.
But then we also have kind of, we
like higher level components almost
that connect directly to AWS services.
So those are like, we have one geo one,
so if you wanna add a map to your website,
then that would be a part of it and it
can connect to the AW s map, sur mapping
service to do all sorts of things, to give
locations and, and, and things like that.
We.
Authenticator, which connects
to our Cognito service.
So it basically popped us on your
website and gives you a login,
logout change password, but also
does MFA multifactor authentication.
Uh, it also does, uh, s m
s and one time passwords.
So it has like this built-in
component that does all these things.
And then we just did a follow-up
uploader, so if you wanna upload files
real quickly to s3, so we're also.
Going in couple different fronts here of
just like making more useful tools for
people to use AW s services without having
to, dig into the AW s documentation
and try to pull everything together.
We're trying to make that
much easier and better.
Colin Loretz: Yeah.
As someone who has had to
write all the off and the m.
And the one-time password more than once.
So it sounds like I wouldn't have to
write that if I'm using that component.
Like it kind of comes with the territory.
Erik Hanchett: Yeah, exactly.
In fact, we have it to the point
where you can use the command line
interface or use our kind of, I was
talking about Studio, which has a.
Like a visual editor
to create your backend.
So you could go in your visual editor
and say, Hey, I want mfa, I want, uh,
I want to have people log in by email
and I want two-factor authentication.
And then you can check
and mark all these things.
I want this attribute, I wanna add in
like last name to every time people
log in, cause I need to collect
their last name for some reason.
Or when they sign up, that is
then you can click a button.
It generates these files for you that
you can download into your project.
and then you, you slap the authenticator
on there and it just detects it
from that file and it says, oh, you
wanted, this QR code to show up.
So, okay, we're gonna add this to
here, and then it just kinda all works.
And then, then you can then kind of
break outta that too if you need to.
And we have a design token so you can
change the branding and look and feel
of it to make it match your website.
And then you can even do more
complicated customizations too, as well.
Colin Loretz: awesome.
CJ Avilla: Nice.
Yeah, it it, this definitely feels
like a trend across the industry
where companies are building.
These abstractions that make it even
easier to embed into your application.
So rather than having to hit some
like rest endpoint somewhere, you
are gonna get this wrapper and like
now that wrapper is some, you know,
react hook and a React component, and
you just pull 'em in from this third
party that's provided the third party
library that's provided by the service.
You drop it right in and
you're off to the races.
, I mean the, the Stripe payment element
definitely comes to mind when you
were talking about you can go in the
dashboard and sort of configure all these
different things and that will change
how, the component actually behaves.
I, it sounds really familiar.
Um, and, uh, that definitely
seems like a trend, right?
Like these inf like especially
for infrastructure companies, API
companies, building tools that
aren't just client libraries.
They're like these souped up.
More ingrained client library
solutions, which is, it's cool to see.
So,
Erik Hanchett: Yeah.
Yeah, definitely.
Stripe has so many amazing configurations
and ways you can create storefronts and
payment options and things like that.
I know Stripe has an amazing
documentation, and they have
pretty good libraries too.
Do they have a component library
that you can just drop, drag,
and drop onto your website?
CJ Avilla: so the payment
element is, A React component.
So there's a, there's a handful
of components for collecting
and tokenizing payment details.
And those are all available in
Stripe js and you can interact
with them with vanilla JavaScript.
And we also have a React framework.
So you can, pull in these components in
React and then drop them on your page.
but we still have a, like a ways to go
in terms of customizing a lot of them.
But for instance, from your dashboard,
you could configure what payment methods
you want to show in your payment element.
It'll be like, oh, it's displaying
cards and Apple Pay and SEPA
debit, or something like that.
And then that you don't actually
have to deploy any new code.
You can configure everything
from the dashboard, but
changing the appearance of it.
Is all done through this thing
called the appearance api.
So it's just like
properties on the component.
So if you are gonna deploy this, you
actually have to like go into the
code and modify those properties.
Erik Hanchett: Yeah,
that, that's pretty neat.
And I, I like that we have the same
sort of pattern too at Amplify.
Where you have, there
is a JavaScript library.
So if you don't wanna deal with any UI
stuff and you wanna build your UI exactly
how you want, you still have these, these,
this JavaScript library that connects
to, like I mentioned before, to all the
different services and you can create your
own login page is exactly how you want it,
or, or this service is exactly how you.
but then it's kinda also nice if you
want make maybe just a one step up.
Make it a little bit faster.
Then here, plop this component down.
It's probably not gonna look exactly what
you want right away, but you probably can
change the colors and c s s properties
and things like that and, and then you
can even get up and running quicker.
I dunno, I, I do see
some developers, I dunno.
What do you think, Colin?
Like some develop.
Love having those options and some are
like, I wanna do everything myself.
Like you're, I know you do some
design and things like that.
What do you think about
tho those type of UI
Colin Loretz: Yeah, I think what's
interesting about that, and we're
gonna have to do a show on Tailwind
in the future, is that I think some
people do want to be given design.
Especially I think the stereotype
of a backend engineer is that they
tend to not be good at design.
I think that most of the time it's
because we just haven't done it
enough, to get that muscle right.
And so I think that it's valuable to
have people learn to do it, even if
they don't end up doing it, in the
case of what you're just talking about,
What I was trying to think through
is like what apps or websites are
good candidates for using Amplify?
And I think of prototyping
to validate some idea, right?
And then maybe it gets successful and
I stay on Amplify, or it gets really
successful and I want to eject later.
And that's great because it's not
just a prototyping tool, whereas
like Bubble and some of these other
tools, it feels like if you have a
breakout success, you're probably
gonna be rewriting your, your product.
And I haven't actually used
bubble, so that's no, you know,
uh, nothing on them for that.
But, um, you know, . I think that a lot
of engineers will also default to the,
the not invented here, and they want
to build everything from scratch, but
then they don't realize how long and how
hard it is to make a secure, like, let's
just use the the authenticator example
again, like MFA and one time password and
you know, forgot password and retry and
all these little things that it's like.
It doesn't sound that hard, but once
you get into it maybe you're doing
it at a hackathon, you're like, yeah,
we're just not gonna put that into this
hackathon cuz we just don't have time.
Right.
Um, so I think there's a little
bit of that and I think it, it
sounds like you can still use all
this and bring your own UI as well.
Right?
It's not, you're not forced
to use the Amplify ui.
Erik Hanchett: Yeah, yeah.
We've seen people use our, our
stuff and just use one piece of it.
Like they don't use the ui, but
they use the Amplify JavaScript
library for, for something they need.
Or maybe they have like a pretty
sophisticated DevOps and they already
have everything in, in, uh, CDK or
some other infrastructure as code.
And then they're like, well, maybe I
wanna connect to this service real easily.
So they.
They just pull one thing out that they
need and they don't use R C L I or Studio
Tool to provision their infrastructure.
And we're trying to also just
make it more flexible for just
all those different use cases.
But I think, yeah, the, a good common
use case would be, yeah, you need to
get up a website, scaffold a website,
quickly, hear the tools, and you go for,
Colin Loretz: Nice.
I imagine that another big selling
point is the mobile, right?
When we're talking about building
anything in the modern web, we're
talking web plus Android plus iOS,
plus maybe desktop too, and now you're
starting to be like, oh, Okay, are we
gonna hire four different teams for
this, or are we gonna go react native?
Are we gonna go flutter?
Um, do I need to hire a flutter developer?
Do I need to hire a React native person?
Like it, it just amplifies
all literally, right?
all of the
Erik Hanchett: nice.
I see what you did there.
Colin Loretz: Yeah, I'll, I'll
give you that one for free.
um, you know, you use amplifies
all those options that we were
talking about earlier, right?
Not just the language or the
framework, it's also all the
devices that it needs to run on.
I know I've thought about like, if I
were to do a mobile app, am I gonna go
right, you know, swift and Kotlin, or
am I gonna go react native and get that?
Almost native feel, which I think even
today we've gotten to the point where it's
pretty much indistinguishable, uh, anyway.
So it sounds like you guys have
libraries for those things as well.
Erik Hanchett: Yeah, on the UI side.
We recently released our React
native, uh, library that focused
on our authenticator component.
But we have several teams working on
different frameworks just to make sure
anywhere you are that, uh, we have a
library that's available that you can.
So, yeah, it's, it's exciting.
I actually started getting into React
Native a little bit, um, as I was deep
diving into React the last couple years,
I'm like, this is pretty slick., I
don't, I can't speak to it very much,
but I'm like, this is uh, very nice
way to create, mobile apps, especially
if you, obviously already know React.
So, it, it's really slick cuz I try
to learn swift, way back in the day.
And.
I just felt thought like it was
different paradigm in my head.
I just didn't get it as quickly as I got,
like JavaScript and things like that.
I'm like, okay, this is,
this is really weird.
Colin Loretz: It feels
like you gotta live there.
I think you gotta, you gotta invest and
be there and be a part of the community.
And it's similar to a lot of these, right?
Like a lot of them have taken an
opinion in their framework and, this
episode's not meant to create JavaScript
Holy Wars by any means, but find
the thing that makes sense for you.
Explore the different options, do a bunch
of Hello Worlds, try out, amplify, you
know, get something up on, on a server
Erik Hanchett: and we're not for everybody
either, so it's, it's worth noting
like, , it's not for every use case.
Like there might be some use cases
where Amplify doesn't make sense.
Maybe you're all in on the Google
ecosystem and, and, uh, or Azure or
something, and, and doesn't really
make sense maybe to use, amplify or
any of the, any of those frameworks.
If you're never gonna use AWS at
all, it may not make as much.
To do it, you still can, like you
can use our component library.
You don't have to use AWS at all,
but if you wanted to use some of
our nicer connected components, then
you would need some AWS services.
Colin Loretz: Mm-hmm.
CJ Avilla: So a lot of.
. I think a lot of our listeners,
maybe not, but a lot of our
listeners love Ruby . Maybe.
Maybe I'm projecting . Uh, so when
I see Amplify web hosting, I know I
saw Xjs, but can I like run a Rails
application or a Sinatra application?
I see fully managed C I C D and
hosting for fast secure and reliable
static and server side rendered apps.
And in my brain I'm thinking, well,
like anything that we like to use in.
Is technically server
side rendered, probably.
So, yeah.
What's the, what's the
good word for the rubus?
Erik Hanchett: I don't think Amplify
Hosting can work with, with Ruby.
Um, I think you, it would have to
just be statically hosted websites.
CJ Avilla: Mm.
Got.
Erik Hanchett: like ssr,
Colin Loretz: Some more like netlify type.
Erik Hanchett: Yeah.
Like Gatsby, Hugo.
But I am 99.9% sure.
There's another AWS service that
handles, Ruby on Rails much better.
CJ Avilla: Sure.
Erik Hanchett: And, uh,
bean, elastic bean stock.
I'm just Googling while I'm talking
to you cuz I don't remember all the
hundreds of services names for aws.
Like Elastic Bean stock would
be one of 'em that's popular.
CJ Avilla: Okay.
So maybe for the Rubus one option
would be run your Rails app as like
in API mode or something and then
use Amplify for your front end.
And then you can just like build
everything super quickly in Amplify
Studio or with Figma and then like
deploy that to Amplify Studio.
You get all these UI components
and then yeah, you can wire
that up and talk to Rails.
Colin Loretz: You can write Lambdas in
Ruby, so you could trigger Lambdas from.
Your various apps and glue it
all together with a p i gateway.
And yeah, if you're new to aw w s, as
a listener, like, just go look at the
scrolling list of, of tools there.
Uh, we're using a w s
comprehend now at orbit.
To do sentiment analysis and things.
So that's a little teaser.
But yeah, just like an
endless list of things.
So I'm always impressed, like you
could be, as you mentioned Eric,
a, an AWS pro and still only,
have touched like six things.
Erik Hanchett: Yeah.
Yeah.
I like EC two, like is really popular too.
I'm just thinking like you could,
uh, you could host it on, on your own
server and, and handle that and then
connect up to Amplify hosting or,
or just, yeah.
It's so credible.
I didn't even know before I joined
AWS evolved the different services
and all the things they can do.
And I'm surprised by all the things
that they release every year.
Like, wow, did we do this now?
Okay, we do satellites.
I didn't even know that.
Like there's a satellite service.
We lit, literally do like, um,
we can ship servers to you.
We can ship like a whole truckload of
servers to your location if you need it.
I mean, there's whole
crazy things like that.
We have, we used to have a dog, I
think like a, like a Alexa robot dog.
Yeah.
CJ Avilla: What?
No way,
Colin Loretz: Yeah, I think
the internet of Things button
was one of my favorite ones.
I don't know if that still exists, but
it's like a, it's literally just a button
that triggers the Lambda, which is like,
it's the everything button that you.
Well, yeah, so I think this episode
is actually gonna be coming out at,
as we ran out the end of this year.
And so I think just kind of
wrap, like is there anything
you're excited about for 2023?
It doesn't have to be,
you know, work specific.
It could be kind of anything that
you see kind of coming ahead and
things that you're excited for.
Erik Hanchett: At the end of the
year, I love always, I always take
like the last week or two of the year
off, um, just to unwind and relax.
So I'm looking forward to, to
doing that After a busy year,
my, me and my family have.
Some things planned.
We want to, I think we're gonna
binge watch some movies this year.
Last year we went through most
of the Star Wars movies, but we
didn't get through all of them.
So I think I'm gonna, we're gonna
watch some Star Wars movies,
so I'm looking forward to that.
And then also, I might have to talk
to cj, just get some, or, I know you
guys did a tip on CFPs, so I am, I
listened to you guys' episode on that.
I need to get into this.
Like, there's so many things in the
developer advocacy world between
creating content, doing talks.
I know, Colin, you said you, you
did one, uh, recently, right?
Was that
CJ Avilla: Yeah, Colin.
Colin has talked more
than I have for sure.
. It's.
Uh, but yeah, like, would love
to sync up and yeah, share tips
and tricks for sure, for dev.
Erik Hanchett: I just started putting out
some call for papers, abstracts out there.
So I'm kind of getting a few of those
in the next few weeks, months, so I'll
be ready when all the conference starts
start rolling out, I guess conference
season's more like summer and and fall,
so that's what I'm most excited about.
Colin Loretz: Very cool.
Yeah.
And uh, I take it you're still
doing the YouTube channel.
Erik Hanchett: Yes.
Yep.
Yep.
Still doing, uh, YouTube channel.
I got the domain eric.video,
so that should redirect you
Colin Loretz: Perfect.
Erik Hanchett: directly
to my YouTube page.
E R I k or e r I c so you
Colin Loretz: Oh, you got both.
Personal branding master over here.
Erik Hanchett: I tried so hard to
get twitter.com/eric and now there's
someone that owns the Eric handle,
and Twitter, and they haven't posted.
and it's private.
I want that handle.
But I, and I tried to contact
Twitter cuz they said they're gonna
release a bunch of Twitter handles.
They're like, oh, you don't
have the standing on Eric
enough to get that handle.
So now I wonder if
they'll ever release that.
Maybe
CJ Avilla: Yeah.
.Maybe never.
Yeah.
Colin Loretz: Yeah, definitely.
Well, awesome.
This has been a great
episode with you, Erics.
Thanks for joining us.
We'll definitely put links to all of you.
Are things in the show notes and, uh,
it's been a good little chat, kind
of down a little bit of, uh, like web
development memory lane as well as
just getting some time to hang out.
So appreciate it.
Erik Hanchett: Awesome.
Thanks guys.
CJ Avilla: Yeah.
Thanks Aton for coming on.
As always, if you're interested, you
can head over to build and learn.dev and
check out all the links and the resources.
We'll have those in
the show notes for you.
And that's all for this episode.
Thanks again so much and
we will see you next time.
Colin Loretz: Bye friends.
Listen to Build and Learn using one of many popular podcasting apps or directories.