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.
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.
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.