[MUSIC]
>> Welcome back to Five Things.
Today, we're going to talk about
five ways you build mobile apps with JavaScript,
and I've got my awesome guests today, Todd.
>> Hi.
>> How you doing?
>> I'm Todd.
>> Cool. Thing number one, responsive,
if I hear about it? Reflexive? Retroactive?
>> Acronym is sweet. We'd like to have our acronyms,
Responsive Web Design, RWD.
>> Redaptive?
>> Redaptive. I don't know
redaptive yet I'm willing to learn a new acronym.
>> Responsive Web Design.
So this is the way when we were trying to evolve from Web 1.0,
where we built everything for
basically desktop screens. Say, "Hey, you know what?
Screens are big, they are small,
they are long, they are short.
Maybe we should make our web apps fit those screens better."
So we said, "We'll just make them responsive,
respond to different screen sizes."
So that's one of the ways you can use
JavaScript and web technologies to build for the web.
Take your desktop site,
just make it look better in a different size screen.
>> This is something everybody should be doing
for all their apps or just for certain types?
>> Absolutely. This is an evolution of the web,
so if you are not making responsive now,
you're a little behind the curve.
Every site should be elastic and trying to look
as good as it can in any size screen that fits it.
>> Sure.
>> It should be responsive.
>> All right. Thing number two.
We hear about these "PWA" things. What's a "PWA"?
>> A "PWA" in a wig and spa.
We like our walls and our spas in
our acronyms, Progressive Web App.
>> PWA.
>> PWA. Yes, for the PWA fans home.
>> We're coining a new phrase here.
>> I don't think it can catch on, but we can try.
>> I hope so.
>> Fletch is another thing, right?
So PWA is a new term that describes,
basically, just new web standards,
and the standards that really make PWA do
the hard work as service worker and web app manifest.
Those two things are really at the end of the day all
about making the web work offline.
So this a crazy concept.
The internet is the internet, you should be online,
you should be connected, but now we're saying,
"Hey, devices move about.
They're disconnected from the internet.
Sometimes bandwidth is not so great.
What if we could give developers
the ability to cash things aggressively,
and even serve things from that cash as they
need to when the internet is slow or not there."
Progressive Web App technologies, service workers,
and manifests are all about giving developers that power.
>> So web apps that work in Low-fi or No-fi?
>> No-fi, yes.
>> Of course, with WiFi.
>> WiFi, yes. Any of the above technologies.
>> Anyway, that's really important these days because
we're here at a conference and you've got a phone,
you may not going to have connection all the time or might before.
>> That's right.
>> Let's try to make it work.
>> It's another way to build mobile apps with JavaScript.
>> Sweet spot.
>> Number three, Hybrid.
There's Native, there's web,
there's PWA, there's all these different kinds of things.
Is Hybrid still a thing?
>> Absolutely. So where do these things live on a spectrum?
We have PWAs, which is still
just a way of doing things in the web browser.
It's contained to the limits of the web and web standards.
You have Native apps and you have these JavaScript driven
Native apps that give you more access to
Native technologies, using NativeUI.
You have Hybrid in the middle there,
which is still using web technologies
just living in a Native app shell
with plug-ins that can go beyond
the limits of the standard web containers.
So it's like PWAs,
if you need more access to Native device capabilities,
but you still want to have HTML as the front-end of your apps.
So, still a place for a Hybrid.
There are new options on either end of
the spectrum with PWAs and new ways
of building Native apps to maybe reduce the use cases for Hybrid,
but still a valid approach for some apps.
>> What are the some of the recommended
Hybrid solutions out there?
>> Clearly, the most popular Cordova.
Apache Cordova, also known as PhoneGap,
that's by far the most popular way of doing Hybrid apps.
So anybody looking to a Hybrid should start there for sure.
>> Thanks. Number four.
There's these other things on that spectrum,
like NativeScript and React Native.
>> Right. So, on the other end there from Hybrid apps,
we have this new category of JavaScript-driven Native apps,
and so here the big difference from Hybrid is we're
throwing out the web view where the whole app lives,
and we're actually using NativeUI,
just like a raw Native app that you
built with Objective Cs, with Java.
So, now you get all the performance of real NativeUI,
but you can still drive that application using your web skills.
JavaScript, Angular, Vue, React,
whatever your preferred framework is maybe
just Vanilla JavaScript if you don't like-
>> You can have access to APIs on the phone.
>> Access to all the APIs with all the performance.
So it's taking web skills and really
accelerating the kinds of apps that it can create,
extra horsepower compared to Hybrid.
So it's a new category
and it's actually pretty great way to build mobile apps.
>> React Native, obviously, you can use
React-style syntax and NativeScript, view Angular?
>> NativeScript integrates deeply with Angular and View,
so it's an easy choice for your app developer, go React Native.
If your Angular view, checkout
NativeScript and that's pretty way to go.
>> All right. Number five.
Where do you build these on that spectrum?
PWAs, Hybrid, responsive script,
any of these things, PWA.
>> Yes.
>> For PWA.
>> Whatever you do, you still need to
have back-end technology most of the time,
and you don't have a server on the phone.
So if you need fast to access the data. What do you do in this?
>> That's right. Really when we talk about building mobile apps,
we talk about all these different techniques that is
just half the story, it's half the story.
A big part of building apps is the back-end piece of this.
As the Cloud has evolved and we have all these new options,
we've also evolved how we can build,
maintain, and scale back-ends.
One of the nice ways to just now
is actually with serverless functions.
Allows us to eliminate a lot of the either headaches
associated with standing up and scaling server-side code,
and just focus on writing JavaScript in
the Cloud that will scale as apps needed to.
>> Is that how you roll that?
>> I'm rolling that direction.
I'm getting rid of the service.
I'm going serverless to Cloud,
cutting ties to the old ways.
But certainly, it's the way everyone will go in the future.
Because who wants to worry about scaling
servers and infrastructures?
>> I heard a great expression the other day about serverless.
It's not that you don't have servers,
that you think about servers less.
>> Yes.
That's an appropriate way of summarizing that. I like that.
>> I like that. All right.
>> Good job.
>> It wasn't mine. I won't take credit for it.
>> You'll take PWA as your credit.
>> I'll take PWA.
>> All right.
>> You can take redaptive.
>> All right.
>> Thanks for coming to this episode of Five Things,
and Todd. Thank you.
>> I'm glad to be here.
>> All right.
>> Five.
[MUSIC]