502

August 26th, 2022 × #appright#firebase#backend#self-hosted#websockets

Supper Club × Self Hosted Backend-as-a-service with Brandon Roberts

Brandon Roberts discusses AppRight, an open source self-hosted backend for web and mobile apps. It provides database, auth, storage, functions and more out of the box.

or
Topic 0 00:00

Transcript

Wes Bos

Welcome to Syntax. We got another supper club for you today. We've got Brandon Roberts On the show to talk to us about AppRight. It's this is really cool. A secure open source back end server For web and mobile flutter and flutter developers. So we'll talk about all that. It's pretty cool. It's all self hosted. I'm really excited to dig in and ask a bunch of questions.

Wes Bos

First, we're sponsored by 2 awesome companies today. 1st one is Hasura.

Wes Bos

They do a GraphQL and REST API on a Postgres database. And 2nd 1 is LightStep incident response, intelligent on call scheduling and escalation. Alright. Welcome, Brandon. Thanks so much for coming How are you doing today? I'm good. Thanks for having me. Yeah, absolutely.

Wes Bos

So, you are.

Wes Bos

Well, Tell us who you are, where you're from, and and what you do, and we'll dig into that. Yeah. So I am Brandon Roberts, of course. I work at AppRite as a developer experience engineer.

Guest 3

I also do a lot of open source.

Guest 3

I do mostly in the Angular community, so I maintain A project called NGRX, which is a set of libraries for building reactive Angular applications, and, yeah, That's that's a lot of what I do these days.

Wes Bos

Awesome. Yeah. I've definitely heard of, NGRX before.

Wes Bos

That's pretty cool. But Scott, book this one. He's like, this check god. Check out this AppRite. So, do you wanna give us, like, a a quick rundown of of what AppRite is, and then we'll dig into it a little bit more? Yeah. Sure. So, AppRight is an open source,

Guest 3

back end as a service.

Guest 3

So it's it's, runs Using Docker containers, so a lot of the I like to talk about it maybe in a couple of ways. Like, if you're, More familiar with, like, Firebase, you can look at it as an alternative to Firebase that's 100% open source. That's mostly some of the things that people mostly associate it with.

Guest 3

But on other side of that, if you're if you're not familiar with what Firebase is and kind of that ecosystem, then it's, Like I said, a set of services that allows you to get up and running really quickly to kinda build build up, basically, whatever you want. I know that's A nebulous term to say, but, it Yeah. It packages a lot of the things that you would normally use to build an application patient will let's see. You you need, like, database access or authentication, those type of things, and it's all packaged up within, a Docker container.

Topic 1 02:31

AppRight is a open source back end as a service

Guest 3

And it has a lot of microservices underneath, and, of course, we can get into that more. But at a high level, it's it's a set of, A Docker container that exposes a a REST REST API that you can use to connect to many different services. Nice. So what kind of,

Topic 2 03:19

AppRight provides APIs for database, authentication, storage, functions

Scott Tolinski

database Lair isn't in the back end of this thing. Yeah. So today, it uses,

Guest 3

MariaDB under the head, and, people are probably more familiar with MySQL.

Guest 3

So those are MariaDB is like a spin off of MySQL.

Guest 3

So it uses that today, and but it's flexible enough in that it can support Different database types. So we roast we recently merged in support for, MongoDB, And so you can if you if you wanna use MongoDB instead of MariaDB, you can use that. And we're looking at adding other databases such as Postgres,

Wes Bos

also so it has a little more flexibility there, but MariaDB is the the default for today. I'm just googling MariaDB because I don't think I've heard that before. It says MariaDB is a community developed commercially supported fork of MySQL.

Guest 3

What What is what's it for? Like, why did they fork that? I don't I don't know the exact the exact politics around that, but I'm go I'm gonna I'm gonna Sir, my to say that, my because MySQL got acquired, and then they maybe they Maybe it was a little less community oriented, once it got acquired. So and with the nature of open source, of course, they was like, well, We don't want it to be controlled by, you know, maybe 1 singular company, so maybe they spun it off like that and wanted to be more, say, more community maintained. Makes sense. Sun Microsystems owns my school. That makes sense. That seems to always happen.

Wes Bos

Oh, that's cool. So I'm just looking at app right here. And this this is really cool because you spin up an app right in a Docker container, and out of the box, it's going to give you a database.

Wes Bos

But not just not just a database where you're typing

Guest 3

queries set all. It it gives you a set of APIs, right, where you can start Or pinging it and and setting data. Is that correct? Yeah. Definitely. The like I said, database is something that, you know, most developers need when they wanna, you know, build an app or store some data About, you know, whatever the kind of the product is or something like that. But the database, database service in AppRite lets you, spin that up really quickly. You don't have to write any, you know, database commands or SQL queries for anything like that.

Guest 3

So you can model your Your data structure is, in the terms of what we call a collection.

Guest 3

And a collection that you just you can give some structure to that data where you wanna, you know, name give them fields, Certain names are, it also has indexes which, kinda help with the performance aspect of it, but a little more sure they're like I said, using MariaDB under the hood. So it is using a relational database under the hood, but, you kinda have that NoSQL feel to it to where you're not writing queries Against those databases underneath. Yeah. We tend

Wes Bos

to be seeing a lot of actually, we did not plan this at all, but one of our Sponsors today, Hasura does that for Postgres. Mhmm.

Wes Bos

And, like, they will, give you an whole GraphQL API and authentication and everything on top of it. This is not part of the ad read. I'm just saying, like, it's starting to become more popular where, like, you have your database, But then you have a layer on top that makes, like a whole API and makes things a lot easier to, to talk Talk back and forth with and set and and query data, all your all of the stuff that you're used to. Yeah. Definitely. And that's one of the one of the nice things about, AppRight is that you can.

Topic 3 06:11

Hasura provides GraphQL APIs on top of Postgres like AppRight

Guest 3

It it lets you do that pretty quickly. It's like I said, if you, you know, push apart or push aside having to learn Docker or maybe maybe Not being a little intimidated by that, but, if you have Docker, like, up and running in your machine or up or on a, like, small server or Something like that. And you basically meet the system requirements. It's like 1 command, and you don't have to it's not something that you really have to, like, handhold Or learn a bunch of Docker stuff up front to get it up and running and get access to all the the, services. Databases being one of them, but Authentication and the other ones also. So want to want to give you the flexibility, being able to spend that up quickly for, Like I said, people who just wanna build something quickly and not have to maybe worry about as much back end infrastructure

Scott Tolinski

as much. Yeah. I totally see the appeal because We have we have and manage our own API, and we're a small company level up tutorials. And, every single time I I check out one of these tools or or do maybe, like, a a little small demo project. I'm always thinking like, man, I really hate having to Worry about all of these the the managing and and authoring our own API when, really, what I care about Is the the data, the connections of the data, and how it all relates to each other.

Scott Tolinski

I see, like, in the the web SDK getting started, You're primarily, what you're doing is you're connecting to an endpoint, and then you're you're writing these these, requests directly to, that endpoint. Is this being done primarily from the the client side of the the code? Or is this or I I should say even, like, now the UI of the code because UIs are Often, server side as well. But is this being done from the the UI of the code, or is this being done from, like, an a node Back end, I guess that doesn't make sense. So I guess it would be a the UI part of the code? Yeah. So the so AppRight has,

Guest 3

SDKs that They work on the client side or on the server side. So if you're using the the web SDK, it's gonna use, you know, standard, Web web technology underneath, and we use, like, Fetch underneath and also exposes a WebSocket. But If you if you're using those SDKs, then you don't have to hit the rest APIs directly.

Guest 3

So the rest APIs are there if you wanted to, you know, Handle those directly, but you what people usually do is, like I said, use the SDKs. And we have SDKs for many different, stacks and languages like web or, like I said, Python or even .net, and those different ones. So what you would primarily Interface with are the SDKs that kinda do all the heavy lifting underneath as far as, like, setting tokens and keys and things like that. So, and then it's like it's the similar similar setup on the server side. If you just wanna use kinda like AppRight as a like a bridge between 2 servers, Then you can use that using API keys and use the the node SDK that we have for there also. So, like I said, me, primarily, I'm a primarily front end, developer, so I'd stick to the, you know, stick to the web SDK and Mhmm. Don't have to worry about, like, crafting man, crafting custom endpoints and Things like that, which you can do, which we can talk about with, Cloud Functions, but, like I said, primarily, the SDKs handle all that.

Scott Tolinski

Nice. And there's a lot of great examples here too, for those of you who are, I'll I'll post a link to the to the docs in the show notes. But there's a lot of, like, Here's a React to do, a Vue to do, Angular to do, Svelte to do, all with all of the authentication, and the the repos are all public. Mhmm.

Guest 3

So there's a lot of, like, super hyper practical examples. Yeah. For sure. We definitely want to there to be, enough examples for just about any Developer to to get up and running with AppRight, of course, to be able to, you know, cross front, like I said, from getting up and running with Docker to, getting people's impressions about that and, using the web SDKs, and and I guess it kinda shows, like, the flexibility of, it integrating in with whatever your stack of choice is, whether it be, like, say, angular reactors felt. We got examples for Each one of those, and you can basically slide it in in any one of those with with, a little bit of work. So This is really cool because, like Like, we so we just talked about databases

Topic 4 10:11

AppRight SDKs for client and server side development

Wes Bos

so far, but, like, it also does authentication and users. We talked about that a little bit.

Wes Bos

Storage. You can throw your files and your images in there. And then it has functions, which is like if you need to run some server side code, I'm assuming that that's what that's for. So It really is all the pieces that you need to run an application,

Guest 3

except like, it's everything you need for the back end of of building a website. Is that Correct? Yes. That is correct. If you're if yeah. You have to bring your own you have to bring your own frien in to, to build that. So, Like I said, whether it whether it be, Svelte or React or Angular view or insert your web framework of choice here, you can use it, in that way and not have to like I said, it only handles the back end, today, so it doesn't handle in, like, hosting or anything like that, Our deployment's, at that that part of it. But, but, yeah, the back end is the focus. That's cool. And the functions, what language Are they running any language you want, or is it no? So the the functions are similar to the the SDKs, and that you can run you can write Functions in many different, languages whether it be Node or or Python or, You need these dart, to run functions with. So, and we have support for many like I said, many different runtime, more than I can Think of PHP West. The lizard is like there's a PHP. There's what? There's PHP. There's even Dino examples here, which is like I think that's probably the first time I've seen

Wes Bos

Somebody included Dino example in the docs. We are so Yeah. Awesome.

Guest 3

That, one thing I heard about recently, of course, like, Bun is the new, JavaScript Rent out. Yeah. Yeah. Where's the bun examples? Somebody was asking, hey. Can we get some bun examples in here? I was like, hey. It's it's definitely possible. It just came out. Yeah. Yeah. It just came out, and we, of course, we have a with the the way the functions are set up, you can definitely, you know, add that to the run times that are available And that's right, which is pretty cool. So you don't you don't necessarily have to do anything custom or too custom there to add new integrations like that. And you can deploy this thing,

Wes Bos

Like, where? It's open source. You I assuming you guys you just have a cloud function, which is probably the way that you make money.

Guest 3

Is that is that right? Today, everything is is self hosted. So you would you would take a you use your, like I said, Provider of choice that supports Docker.

Guest 3

My my go to for this is, like, DigitalOcean because they they have a pretty, pretty nice set up there. We have a actually have a marketplace app there that you can, basically do it, in a couple of clicks.

Guest 3

And we have a link to that. We might have a link to that on our docs page, but I'm sure we'll add it in the yeah. If you go to the docs site, it'll be at the top of the page there, where you can click a few click a few checkboxes and deploy AppRight without having to mess with any of your own servers or Things like that. So and that's one way to do it. And with that one click or or that that setup, you you get a database, you get all of the Yep. The the features, the auth, all that stuff? Yeah. You get a fully fully up and running Cool. Instance of AppRight, hosted on DigitalOcean.

Guest 3

And but that's that's not the only place that you could deploy it, though. Basically, any anywhere you anywhere you can deploy anywhere you have access to Docker Compose, you can use AppRite to to get it up and running. So, I've used it on DigitalOcean. I've got it running on, like, Amazon EC 2.

Guest 3

Also, I've even got it running on Gitpod, which is which is pretty nice because Oh, wow.

Guest 3

We we actually do some of the some of the engineering, people on our team actually use that for development. They just use Gitpod to spin up new, instances of it, you know, according to branches or Or PRs or things like that to not have to, do that all locally. So it's pretty nice. Oh, that's amazing. But, yeah, the The other things, like you mentioned before about authentication, like, some of those are other features that are provided out of the box, and Always meant always almost always forget to mention, like, the OAuth the OAuth part of it because we have, like, set up for us, like, Standard authentication, which is e email and password, but we also support, like, anonymous authentication or, even MagicLinks, and also have a bunch of OAuth providers that where if you wanna connect, use authenticate using Twitter or or Twitch or Google or Facebook or even one of those, All those are open source, and a lot of those have been contributed by the community also, which has been pretty nice. And that that list continues to grow,

Scott Tolinski

which is cool also. That's amazing. This episode is sponsored today by LightStep incident response. The all in one incident response platform for DevOps and SREs. EASE.

Scott Tolinski

LightStep instant response is built on the ServiceNow platform, which is used by over 6,000 companies.

Topic 5 15:39

LightStep Incident Response for DevOps

Scott Tolinski

You pay for the services you actually use, not the number of the people on your team, which is important because you can scale your incident response team without adding to your bill. You get intelligent on call scheduling and escalations.

Scott Tolinski

You can get the full context on your service health, active alerts, and who's on call. LightStep incident response immediately pinpoint issues and groups alerts with machine learning, reducing your time to respond. And this means less noise and more personalization for precise notifications where you can take control on declaring incidents automatically notifying the right teams. And you can get unified incident response by seamlessly orchestrating alerts and incident triage with on call scheduling across Slack, Teams, Zoom, desktop, and mobile. So what you'll want to do is head on over to lightstep.comforward/ syntax, and you'll get a free 30 day trial. Listeners of Syntax will also receive a free light step incident response T shirt after firing an alert or incident. So check it out. Are you in need of incident response? Check out lightstep.comforward/syntax.

Scott Tolinski

So it seems like, and just from the the website alone, you can get, like, a good idea that, like, AppRight really cares about interface Designed for over their product. Can can you maybe go into a little bit more about, like, AppRight as as a system? It has A good looking interface, is it it's kind of CMS light, or or how does that, how how does I guess the question would be, how how is that a emphasis that AppRight has? Is that something that that AppRight cares about as a as a product, I guess? Yeah. Definitely. We are definitely,

Guest 3

focused on, like, the developer experience of using AppRight. Even, you know, Regardless of which, like, which SDK you use, what kind of developer, you consider yourself to be, whether it be front end or back end, we want you to have, like, a similar consistent, like, experience across the board there. So each of each one of the APIs, like, a lot of those a lot of thought has gone into those as far as being Keeping close to, like, standards, which, which is definitely important if you're because the the good part about it is you can that knowledge transfers. Like, you aren't learning anything in AppRight that you necessarily wouldn't learn, by looking at the underlying pieces. Like I said, REST APIs is something that, You know, we didn't didn't invent REST APIs. We didn't invent databases. Mhmm. So those things are, like, transferable knowledge that you can use, across the board. And, like I said, with the SDKs, it being able to, like being able to use that in different languages of your choice, all that kind of factors into how we want the the developers to be able to have that flexibility and, That experience with using AppRight, we we did throw around a pitch that, AppRight is, what the this Database would look like, if it was meant for developers and not for DevOps. So not not throwing any shade. So important. Not throwing any shade at DevOps people, but, but, yeah, we definitely gear geared towards more,

Scott Tolinski

developer focused there. Yeah. Yeah. There's such, like, a engineer designed thing when it's, Like, clearly been designed by an engineer rather than, like, designed by somebody who is designing for that.

Scott Tolinski

Like, I I don't know, with actual design shops or design experience because it's a totally different experience that we always joke about, like, you know, like Zoom. Zoom is functional, but, like, the design it's just like, you gotta click through 8 8 menus or whatever to find anything. Yeah.

Guest 3

It was like, where do we put this? Just put it o just put it over there. That seems like a good spot. Put in a pop up. Yeah.

Wes Bos

There's 6 pop ups deep inside of

Guest 3

a inside of a modal, inside of a pop up. Mhmm. It's true. Alright. I definitely ran into that with Zoom was just fine trying to find a setting. Like, there should be some default for this setting, and it was, like, buried buried within a modal, as a checkbox. I was like, why isn't this just surface Somewhere where I could just set it in, like, forget it, but definitely feel that.

Wes Bos

The let's talk about databases a little bit more. You can do real time. Right? Like, I'm thinking back to when I did Firebase stuff, and the real time stuff is super handy. A similar thing with AppRight? For sure. So it, has, real time APIs that and these are available, like, for a client through the client side SDKs,

Guest 3

but it's exposed to, like, a standard WebSocket connection. So Any anything that most of the anything that AppRight, produces is like system events, can be air funneled through the web through the WebSocket there. So, like we mentioned, database, if you enter, basically, any operation that happens on a database, if you have access To that particular database or that record, whether it gets, created or updated or deleted, you get events for those.

Topic 6 20:17

AppRight offers realtime APIs via WebSockets

Guest 3

And, also, the other parts, if you add a user or delete a user, basically, and if you're, like, executing functions Or uploading files through the store service.

Guest 3

All those things are available through the through the real time API. So, like I said, if you wanted to if you're looking at this as, trying to migrate to this from, like, Firebase then, and you wanted that needed that real time aspect of it, then that part's definitely available there.

Guest 3

And I've built some, like I said, some apps that like, I I built a real time chat app in a few few different languages to kinda Kinda tap into that real time API, which is which is nice. Yeah. Yeah. That's just something I I feel like people,

Scott Tolinski

they under Undervalue may be just how cool some of that stuff is. And then the moment that you write a a real time chat app or something, you're just like, I can do this? It's not that

Guest 3

it's definitely always, like, a wow example. So it's it's awesome that that exists and is easy to do. Yeah. That was yeah. Those are a few of my, like, few of my go to things. It's like, Of course, I want the database part of it.

Guest 3

The anonymous anonymous authentication or even username and password is pretty easy to set up there. If I wanted to connect it to Twitch, I could do that.

Guest 3

The real time part is, like I said, the real real time aspect for chat a p chat apps Or even anything that you're that you want, like, multiuser, to keep up to date. I know we had a a hackathon That's may maybe in a couple months ago now where, I know someone was building, like, a mind mapping, application where different people could, like, collaborate within the same space.

Guest 3

Oh, that's cool. They had some interesting challenges that they were running into with, like, merging data from different merging real time data from different people's, Maps that they were doing inside that app. So that was a pretty cool, hackathon project that I I witnessed. Just it's always fun to see people build things out in the wild and see what they're what they're gonna kinda kinda kinda build together with those. So another thing that we can that we kinda talked about before was Cloud functions and, in AppRight. And this is something like I said, something that comes along with everything else, but Cloud functions will allow you to, Kind of offload some of some, maybe, performance intensive tasks or things like that to the serverless functions where it It behaves just like, like you would normally expect those cloud functions to do, so that you're not having to do all that Processing through your you know, like, on the front end itself, you can kinda offload that and kinda get the results back when it's when it's finished.

Guest 3

So the cloud functions are are a way to do that. As I mentioned before, you can deploy those inside of AppRite, and you can write those in many different languages, whether it be Node or Python or Dart, if you're, like, Dart and Flutter are, like, really kinda big in the AppRight community, so those would be one ways you could, writing deploy functions that, like, handles some of those things. I did a I did a a show where we we did some real time, transcription using Cloud Functions. So and it was a, like I said, a Python it's a Python based SDK that we had to use. So Yeah. Of course, you have to run that on those, sorry to be able to do that, so it definitely gives you some flexibility and options to run run those cloud functions there. And, like I said, we talked about Blinn. You can use those, as different run times to build those cloud functions.

Topic 7 23:16

AppRight Cloud Functions for serverless code

Scott Tolinski

So, practically, like, what does that work like? So, You know, we have the normal web SDKs, which obviously you would just install and run those in your your web code, your UI code. But let's So you're you're wanting to work on a function. Like, what what is the what is the workflow of writing a function and deploying it look like? Yeah. So the

Guest 3

To write a function, you can use you can use a few different ways, but, I'll say the most straightforward way is to use the AppRite CLI.

Guest 3

So it lets you, connect to your AppRite instance, and, pretty much run all the Administrative commands that you can run from the AppRight console, and, like, the AppRight console is like the the UI you see after you spin up AppRight. You can upload your functions there, but, from the AppRight CLI, you can, initialize those from the command line. Initialize your function from there whether and it'll ask you it'll prompt you for, like, which runtime do you wanna use, like I said, whether it be Node or Java or PHP.

Guest 3

And from there, you can deploy, or you can use the AppRite deploy command that'll deploy that function, to your AppRite instance After you, of course, after you log in to your AppRite instance. So you can deploy it from there, and that's kind of the the loop there. You can deploy it, and then you can either run it from the AppRight console itself, or you can run it from the the command line also.

Guest 3

So that's kind of the workflow of how you can build functions and kinda debug them in that way. But if you were using something like node, then you can run a lot of that locally And to kinda test things out and then deploy it from there to if you just pass in, like, some data that you need for the for the function to run.

Wes Bos

What about, like so this thing runs in a Docker container, and, like, you always think about functions as serverless functions and But running a function in a Docker container is kind of like a server full function.

Wes Bos

If I wanted to Scale upright. Would that be where I start looking into Kubernetes?

Guest 3

You could that is one option that we are looking into as far as Scale up something like Kubernetes. I think today, if you wanted to scale up, Docker Swarm would be the, more easier approach to do there. And with the functions or even with some of the other services, like the database service, or the, Database service or some of those, you can look at the the configuration file that comes with AppRight. So it it ships with, like, a standard Docker composed file that you have access to update. So if you wanted to, like, take out the database part of it and connect to, like, some external service that provides, you know, maybe more a more scalable, A solution there, then you can definitely use that to kinda, to scale out if you if you needed to. But, Like I said, the database service inside of Fright is is there is available in available to use, but you can, like I said, can also Expand on some of the the micro surfaces underneath, if you want to, like, spread them out some more or distribute it more. Oh, that's cool. That's

Wes Bos

It just seems so cool that you can, like, obviously host this thing yourself, and get all of the stuff for free that comes along with it, you know? And and, like, do you see a lot of, of the audience of people using this? Is this, like, a lot of web developers Or is it a lot of, like, native app developers? Because I imagine this would work super well if you're building a a native app and you need, like, An entire back end for your native app. What what do you see, or is it is it kinda across all the board? Yeah. I definitely think there is a good,

Guest 3

good solid mix of Flutter, developers. They kind of use that. Right? Just as you mentioned is, they focus on, like, The the app development side of it and kind of hand out hand, database interactions or the real time aspect of it off to AppRight so that, Like I said, there's 1 less thing that you have to worry about building. You could just focus on the front end if the if that's your thing.

AppRight popular for web and Flutter developers

Guest 3

But, yeah, I think The Flutter and web are, I think, the most popular, SDKs that are being used. Like I said, we also have ones for Apple and, Android also, if you want like, say, you wanted to integrate more natively, there, but, yeah, the web and Flutter, I definitely I've seen more traction there as far as usage goes, which is which is good. So we want to like I said, we want The developers did, like I said, get the most value out of that, so and I think it fits well into those ecosystems.

Scott Tolinski

Have you done any Flutter yourself?

Guest 3

No. I have I have not. I have not touched Flutter yet, but I do have I am planning on, looking at that at some point. But like I said, I'm mostly sticking to there's No shortage of web projects to No.

Scott Tolinski

Projects to Yeah. Don't stray too far from light. For web framework to to look at these days, so I'm pretty pretty entrenched there. I'm always curious about Flutter Flutter myself just because you do. You hear I I've I've seen more people talk about it than I have Using it, and I got to maybe we got to find a flutter expert, Wes, at some point to come on because I got to Yeah. I got to get the scoop there. Mhmm. There's

Wes Bos

There's very clear circles in web development, and sometimes circles overlap and then sometimes circles are like Totally outside of of what the syntax circle is, and I think

Scott Tolinski

Flutter is one of those. Yeah. Yeah. That's a a blind spot for us. Yeah. 1 of the,

Guest 3

engineers on our team is a is a Flutter GDE, so I'm sure he can talk about Flutter Flutter at length, If if you were to to come on. But like I said, usually like I said, when I think of Flutter, I think of mobile apps. And, usually, when I think of mobile apps, my go to is usually, Ionic, framework as far as development goes. So, it'll be, like I said, branching out for me to to try Flutter or some of the other Other ones in that space. Ionic was the. Let's talk about that for a second. What's

Wes Bos

what's ionic? I know. I know what it is, but sometimes I questions to people like you don't know. Now I'm asking for the the for your audience. What is Ionic?

Guest 3

Yeah. So, I'm not I'm not a pitchman for Ionic, but Ionic is, to me, is a a framework for building mobile and web applications And native web I believe, at one point, they used the term web native applications to where you can use build native applications using web technologies.

Guest 3

So they mainly focus on Angular, React, and Vue, but allow these hooks into native platforms like Ios and Android And even PWAs, to help you, build out those, build out those quicker. And they also use like I said, have the Ionic, framework, which is a set of, like, app, component component UI components that you can you can use to, help you develop it faster in in those native environments. So that's my my definition of what Ionic is. That's good. And is Angular your,

Wes Bos

your

Guest 3

framework of choice If you're going to build some build an app or a website right now? Yes. It is. My I've been a long time, in the Angular community for a long time, so Angular is still my My choice, and, Angular is my choice. And then Remix is, quickly coming up the coming up the ranks. I really like what they're doing on the Remix team, and I've been doing some, like I said, cool experiments with Angular and, Remix because they were they said they were gonna bring Remix router to the rest of the web, so I wanted to take them up on that offer, so I did do did do some investigating there to see how far I could get with the the Remix router. Yeah. I think they have the right idea for the web fundamentals

Scott Tolinski

being integrated more into the platforms.

Scott Tolinski

It's that's such a a great take. And, Overall, yeah, my my experiments with the remix have been super positive. What what's let's stick into Angular maybe for a second. What's what's your favorite part about working in Angular? Because I think Wes and I, when was, like, the last version you worked in, Wes? It was, like, 1.3 or 1.4, somewhere around there. Yeah. I think 1.4.

Guest 3

Yeah. It's a law like, many probably what? Like, 7, 8 years ago? You know? Like, if that was many, many moons ago. Yeah. So the the Part I guess, it's it's 2 parts for me. Like, part of it working with Angular is, like, the community is excellent. There's a lot of supportive people there, as far as helping you get up and running and And that sort of thing. But at least for the framework itself, the framework takes a lot of the opinions that, people have to make or decisions, I say, that people have to make when building web apps and kind of, provides a lot of that for you. If we think of, like, How, Remix or, like, next Next JS work, they they have, like, routing out of the box, and, those things are built on top of React itself or or if you if you're thinking that, like, SvelteKit, those things are built on top of Svelte. But Angular kind of It's packaged all those things together as far as, like, routing or and forms and even HTTP client, you know, in the I think in the more of the web ecosystem. People maybe use or something like that. But, Angular has its own client, so it provides a lot of those tools that are packaged up. And I I've been in mostly worked with Angular in in environments where they don't want to have to make those decisions about which baggages to use Or which, tools to use it when building with Angular because a lot of that stuff gets provided out of the box.

Guest 3

So that's I think that's where the the plus about Angular comes in. They're they they've definitely improved on the, like, the component model, recently, which I think is a is good for the Angular ecosystem.

Guest 3

But, but, yeah, those are the the spaces that I've seen Angular kind of, shine in that way. Not to say that it's, I think that Angular, you know, could use its own. But, I mean, me, personally, I think Angular could use its own, like, Next. Js or SvelteKit, that type of, framework to provide more integration there, but, I think it it's good for what it does. Yeah. I think more and more, we're we're all kind of We've been, kind of in a, like, a react haze for so long where, you know, if you you need state application state, you're picking one of 10,000 different state libraries or something. So I think we're all starting to get a little bit of fatigue with that, and it's like, what is What can I build and just focus on building rather than making all of those choices? Yeah. For sure. I say that as a maintainer of the state management It's been library also. Yeah. But yours is yours is the best one, though. Alright. Okay. I I I appreciate that, but, I'll you said you said it, not me, so I guess I can I can go along with it? Yeah. No. Absolutely.

Scott Tolinski

Yeah. It's the only Angular State library that I've heard of. So Okay. Well that's that's probably saying something.

Guest 3

Yes. I will I will take that as a compliment. I know there there are others out there, but, you heard you you heard of mine in the in this in the sea of other choices, so we'll take it. This episode is sponsored by Hasura, which is the instant GraphQL

Scott Tolinski

for your data that's using any Post Postgres family of database.

Topic 9 35:14

Hasura provides instant GraphQL APIs for Postgres

Scott Tolinski

You don't need to write your GraphQL server by hand anymore Because all you have to do is point Hasura to your data source and let it auto generate your GraphQL API within minutes.

Scott Tolinski

You have granular authorization baked in so you can secure access to all of your data sources, databases, or any other external GraphQL API.

Scott Tolinski

You can even have your own GraphQL API sources bringing into Hasura and then add complex authorization rules Down to the individual row and column level, you can also simultaneously share GraphQL and REST APIs and create Styles of APIs from one configuration to support new and existing architectures.

Scott Tolinski

Because let's face it, building and maintaining your own GraphQL servers It's time consuming, and it's difficult. And with HESARA, you no longer need to do that. You can save half of that time That you would be spent building your API and maintaining it, and you can put that into actually doing real work. So sign up for HasuraCloud's free tier.

Scott Tolinski

It just takes a moment and you can get started. And you can get real time GraphQL instantly. So head on over to hasura.infoforward/ Free trial. You can use the coupon code, try Hasura, and you'll get 3 months of Hasura cloud standard free tier. Only the first 100 people get this, so please, head on over there right now and give this a try. Thanks so much for Hessara for sponsoring.

Wes Bos

Let's move to the next section, where we the we'll call them supper club dessert questions. This is a set of questions we ask, similar to everyone that comes on the show.

Wes Bos

And the first question we have here is what computer are you using? I am using an Apple,

Guest 3

M1 MacBook Pro.

Guest 3

So that then one of the new ones. I I really I really like it. Nice and fast for you? Yeah. It's It was I was talking to someone who was still, like, on an older older MacBook, and I was trying to convince them to use 1. And my my pitch to them was All those things that you have to think about on the old Mac, like, those things go away. Like, battery life, like, whatever. Forget it. Yeah. Vans, forget that. Battery life, you know, forget about your battery just running out, while your computer's doing nothing, fans, those type of things, but, like, performance issues, if you were having those, they were doing, like, video editing and that sort of thing. Mhmm. Mhmm. It's like those some of those things just, like, go away if you just upgrade. So that was that was my pitch to them on the On the new Max.

Scott Tolinski

Yeah. I think West and I have been very happy with ours in terms of all of those. Yeah. Yeah. We've been super,

Wes Bos

super, super happy. I'm curious what your streaming setup is here because you've got your audio sounds great. Your video looks good. You have a, like, a blue background, which I'm not sure if it's real or not And for it's a green screen?

Guest 3

I'll take all of those as a compliment, but, that's real.

Guest 3

Yes. It is real. It's just a blue blue wall behind me, which is my, Of course, my color pick of choice for the for the office here.

Guest 3

And, like I said, I got a I got a pretty pretty standard set up here. I got, well, I don't wanna say standard setup because I guess it just depends on on what you're what you're using it for. But I got a, like, a Shure MV 7, A microphone here with the with the pop filter and all that, and, got it connected to the headphones, so I can so So I can look professional. I wanna be like be like you guys. The

Scott Tolinski

No. No. No. No. No. Your your subs, like, was one of the most pro that we've had.

Wes Bos

I need to. Yeah. I'm not as pro as everybody else. I've got the I'm the only one using Bluetooth headphones for this. Everyone else is wired.

Guest 3

Good to see you. Yeah. We just We just moved, so I'm, after this call, I'm gonna go start ripping up carpet to get my office going. There you go. I was gonna say, I was looking at the you know, they have those things in the In the show notes about Bluetooth devices and things like this, you're just going against the grain. I see it. Yeah.

Wes Bos

Yeah. I know.

Wes Bos

We have, no AirPods rule for the show for because the AirPod, no Bluetooth microphones is the issue because the Bluetooth microphones

Guest 3

are always sound like, a tin can. No. I don't I don't want I don't wanna be in the in that And that crew, if I don't if I if I can, avoid it. So

Wes Bos

Yeah. Yeah.

Guest 3

What about, keyboard? I can't. Now on the keyboard front, I'm just using, like, a standard standard Apple Mac, keyboard. I don't have the fancy keyboards that make the nice clicky click Sounds. I haven't I haven't gone full.

Guest 3

I haven't gone into the full,

Scott Tolinski

gone gone down the full keyboard rabbit Oh, just yet. I'm beginning to think that, like, the keyboard rabbit hole is a myth because every single person that we interview,

Wes Bos

you know, every single person uses the Mac keyboard. Or are you like that? Yeah. And yeah. It's it's wild. You know? I'm not sure there's any overlap in people that have mechanical keyboards and people that write code.

Scott Tolinski

Yeah. What about your your, your text editor theme and font? Okay. So I my text editor is Versus Code,

Guest 3

and I just recently changed the, the theme, because I was using, like, the whatever comes out of the box with Versus Code, the blandest option available.

Guest 3

That's what I was using. I just recently switched to the night owl thing, which I think Which I don't I don't think, which was, created by Sarah Drasner.

Guest 3

And I've really enjoyed, using that. So I've been I've been sticking to that one. And for font, I don't know what font it is I'm using. I've been using I've used, starts with an m, Montessori? Maybe that's the one. I've used that one before.

Scott Tolinski

But A lot of people don't use fancy fonts is what we're we're finding. We might need to

Guest 3

we ask people what font they're using? Or, like, I don't know. Yeah. Whatever. Yeah. I, I use whatever it whatever the theme or whatever the operating system Our theme, shipped with, so that's what I'm that's what I'm sticking with. I don't have all like, the ones with the fancy ligatures, and I don't wanna look like I'm writing cursive when I'm writing We're writing code, so stick it to the standard setup.

Scott Tolinski

We both have some fancy fonts, but I think Wes is is a little bit fancier.

Wes Bos

Yeah. Yeah. The operator mono is the fanciest of pump.

Guest 3

Yes. That's the one I Yeah. When when I was thinking about I also I think I've used that one in some, slides or things like that, but I hadn't used it in my editor. I use one called mono Monolisa,

Scott Tolinski

and it's really super good. I think it has options to be fancy, but,

Wes Bos

I'll check that out. Yeah. Like Mona Lisa. I used, I used my coding font on all of our moving boxes.

Wes Bos

So we we just moved. And, Like, instead of like, I cannot, like, write my name. I don't know what is wrong with my hand, but, like, if I try to chicken scratch with a Sharpie on the box, No one can read it. So I built an app, like all good developers do, because they have this, like, label printer that prints, like, thermal labels, like, huge 4 by 6 Stickers.

Wes Bos

So I built a little app where you just type, like, Wes's office and hit print and it prints out, like, 30 of them. And then just went around slapping them on boxes. And the movers loved Because they were to read. They were huge. Yeah. Easy to read. They're white stand. They stand out very clearly. And, like, there was there was not a ton of questions on those boxes as to where they go.

Wes Bos

Anyways, I use my coding font on that, and people are like, okay, Wes. You need to Google it with this code.

Guest 3

From from what it like to me as long as you got, like, mono in the the font name, it seems like you're you're in good company. So Yeah. Yeah. Yeah. Yeah. Exactly.

Guest 3

What are your resources, or how do you stay up to date? My resources are Twitter. I see what are the hiding now. I do I do use Twitter to I do try to follow people, in the know on Twitter and, try to see when stuff comes across my, A YouTube feed, for things that are new and interesting. So I'd I'd say those are probably my my go to these days. I I still My my my personal, heart is with, Google, r s the RSS reader that got killed a few years ago.

Guest 3

That's how I used to get all the information. It just comes comes straight to me, but, these days, I think Twitter is probably my my go to place. Twitter, YouTube and, like, newsletters that I sign up for,

Scott Tolinski

are my my choices there. Right on. Yeah. I think that's a I think there's Pretty strong endorsement for Twitter as being, like, a good place to learn considering how many people say that that's, like, the place where they get their news, or especially web web stuff. What about what's one piece of advice you would have for a beginner in web development? I would say find a

Guest 3

Developer community that, like, matches up with how the way matches up with how you like to build things, and just, like, invest in that community.

Guest 3

I've done Some invest like, I've done some investments in, like, open source and, getting involved in that community or even, like, through the Angular community in open source. And I think that was really helpful, like, for me in in my career as far as growing and being around more developers and, gaining, More, like, diverse, perspective on, like, just building things. So I think that's probably the the quickest way because You'll go down a rabbit hole if you just try to, like, dive deep and try to learn it all yourself, which some people can do that. But I think Getting involved with the community that can help you and, you know, help you push forward is is a good way to go. Nice. Last question we have here. Is there Anything you're really excited about in the future of web development? Oh, man.

Guest 3

I talked about, well, I don't wanna give away my my plug.

Wes Bos

We can transition into that if you want. Sure. I'll. My plug was gonna be,

Guest 3

Remix router, and that's mainly because Right. They are bringing a lot of the things that, me as an, a seasoned web developer is, I was used to doing back in the day. Like, I used to be, back in p t PHP developer before I moved to the front end, so a lot of those things that Oh, yeah. That kinda resonate with Remix, resonated with me as, like, a as a back end developer back end PHP developer.

Guest 3

Just being able to take their responses As is in return, you know, redirects and, things like that. So, Remix router, like I said, mentioned before, it's like a framework Agnostic routing solution for the web.

Guest 3

So that would that was what my my pick my pick was gonna be, for that. So I'll give a give a shout out to that that project, because I would like to see projects like that and, the influence that I think it's having on the the greater web Ecosystem continue to to move forward in other spaces. Yeah. Awesome. Do you have any shameless plugs that you'd like to Sure. Did you give us? My shameless plug is always my Twitter account. You can follow me on Twitter at Brandon t roberts.

Guest 3

I'll give you the pitch. You can follow me there for MPT Roberts. I talk about sports.

Guest 3

I sling gifts sometime. Gifts, jifs, whatever you wanna call them, and also block people sometimes, but just for fun. But, yeah, if you wanna see see more shenanigans, you can definitely follow me on Twitter there. So that's my my shameless plug. Nice. We'll make a we'll put a link to that in the show notes. Awesome. Cool. Well, thank you so much for coming on. Really appreciate your time and giving us insight into AppRight. Seems pretty Pretty exciting. I think that a lot of our listeners will give us a spin on one of their next projects. It's pretty cool. So thanks again. Yeah. I can't wait to give this a try. Yeah. Definitely. I always tell people to try it out. You know? Let me know. You can reach out to me directly. You know? Join the Discord. Whichever way We can help you out. I'm I'm around and available. Sec. Well, thanks so much, Brandon. Awesome. Yeah. Thank you. Peace.

Scott Tolinski

Head on over to syntax.fm for a full archive of all of our shows.

Scott Tolinski

And don't forget to subscribe in your podcast player Or drop a review if you like this show.

Share

Play / pause the audio
Minimize / expand the player
Mute / unmute the audio
Seek backward 30 seconds
Seek forward 30 seconds
Increase playback rate
Decrease playback rate
Show / hide this window