The Secret Sauce

Today Brandon Roberts from OpenSauced discusses his work on Analog.js, a meta framework for Angular. He explains the concept of a meta framework as something that stitches pieces together on top of an existing framework like Angular. Brandon shares his journey to open source and how he aims to take Angular to the next level with Analog.js. Tune in to learn more about the Secret Sauce behind his project and the growing trend of meta frameworks in the tech industry.
★ Support this podcast ★

What is The Secret Sauce?

Come join us as we discuss everything open source with guests that are pillars in the industry. Welcome to The Secret Sauce.

Brian:

Welcome back to the show. We're about to learn the secret sauce. What's up, Brandon? How are

Brandon:

you doing? I'm good. Thanks. I'm glad to be here.

Brian:

Yeah. It's it's nice to see you not on Zoom because, yeah. We norm normally end stuck in Zoom or The square boxes. Yes. Yeah.

Brian:

Yeah. For sure. But, yeah, you're our our first Open Sauce employee to be guest on the podcast. So how does that feel?

Brandon:

It feels pretty good. I don't know. I don't I don't know if I should have wore the t shirt. I guess we have the with the with the pizza on it, but We don't

Brian:

pay enough for that.

Brandon:

I know. We're we're keeping

Brian:

it low key today. Excellent. Sponsored by Open Sauce. But yeah. So, wanted to actually talk about your open source journey.

Brian:

So, like, this this podcast about secret sauce, finding about journeys, open source. Like, what is the secret sauce for folks? And everyone's got a different journey. So I love actually start with, like, what are you working on today?

Brandon:

Yeah. So the biggest thing I'm working on today is, analog JS, which is a meta framework for Angular, which everybody is like, Angular is already a big framework. Why does it why does it need a meta framework? Well, I think there are some places we can we can, improve there and kind of take it to the next level. Plus meta frameworks are are hot right now.

Brandon:

So

Brian:

Yeah. What what's a beta framework, Don? You gotta explain that.

Brandon:

Right. So meta framework, from the the definition I've been seeing is, a framework that stitches the pieces, it's built on top of a built on top of another framework, so it takes those different pieces together and stitches into stitches them together in, like, a cohesive way. So if you if we think about, like, how Angular is, it has, like, routing, it has forms, it has service side rendering. But, Meta Framework to me is is kinda like a set of features, that in addition to that. So it has, like, file based routing as, like, API routes, service side rendering, static site generation, all those things, which you can do in Angular today, but you kinda have to piecemeal those things together.

Brandon:

And analog kind of package that package that up in a in a very cohesive way, and it's like I I call it I I give it a lot of pitches. I call it the Next. Js for Angular or but it's Next. Js Nuxt similar to those those other, frameworks, better frameworks, however you refer to them.

Brian:

Yeah. So what's wrong with Angular then? Like, why not to use Angular?

Brandon:

Yeah. There isn't anything wrong with Angular, but I do think there is

Brian:

You could be spicy.

Brandon:

Oh, I can be spicy? Okay. Cool. I am here to take over the world, with this meta framework. But but seriously, like I said, Angular is a great framework on its own, and it's come a long way.

Brandon:

Even though it gets a bad rap sometimes, they have definitely made strides within the framework. And I'm just trying to enhance that and take it to, like I said, the next level of being able to, build some of these things in a in a nice way that people can they get the they get the stability, dependability of Angular, but they just they can still say that, you know, I don't have to piece all these things together to, like, ship something quickly or if I wanna ship a static site. There there isn't a contingent of people that wanna ship static sites and apps, with Angular. Not everybody's building that Google scale, so, being able to ship something like that has been pretty nice. Yeah.

Brian:

So how long have you been in the Angular community? Like, since the beginning probably?

Brandon:

I got into the Angular community, it's been it's been over at least 8 years now when I got to the community. When I first got in, it was it was still called Angular JS at the time, so it was Angular JS 1 dot 6 or whatever, and they were, kinda winding that down, and then Angular 2 development, which it was called back then, they were called Angular 2, but eventually just came Angular. But around that time, that's when I got involved in the community. I was doing back end development at work, and we were using Angular JS on the front end. And so I, my friend, Mike, who, who has worked on some more stuff for me also, he he was the lead at the time on Angular JS, and he asked me if I wanted to get involved.

Brandon:

And I was like, sure. You know, I'll try something new, build some stuff on the front end. And, so I got involved in that, then we got involved in basically open source Angular, and, things kinda skyrocketed there through different projects and things like that.

Brian:

So anyway sorry. I was, like, trying to figure out my transition statement. I'm like, oh, could you be said skyrocketed? I'm like, oh, there's a

Brandon:

NASA joke there. But we

Brian:

didn't talk about NASA yet. No.

Brandon:

We didn't. Right. Did you

Brian:

didn't work with NASA, did you? Yeah.

Brandon:

I actually did work.

Brian:

Yeah.

Brandon:

That's that's where I started, working with AngularJS. We were working at at NASA at, Marshall Space Flight Center. We were actually working for, building some applications there, and that was that was one of the one of the jobs that I worked there. We were, building web apps, supporting the NASA safety mission assurance. So we were actually helping them do their job, which was to and at where where I lived, we're really big on known for rockets and things like that.

Brandon:

So we were supporting people to, build the rockets to send people into space. So which is pretty cool.

Brian:

Just a small work. I used to make it. I said, mentor in a boot camp, and I made the joke all the time for the folks I was mentoring. It's like this hit push to GitHub. We're not shipping rockets.

Brian:

So like, it's not that serious. Push to production. There you go. But in your case Yeah. We're generally shipping rockets, man.

Brian:

That's, that's quite some some work to be working on.

Brandon:

Yeah. It it was definitely, fun times I had, doing that work and also doing other work, in in that industry, been able to we were we were doing a bunch of cutting edge stuff because in that in that particular area, like, I've always enjoyed working on these smaller teams that are, like, very, like, agile. We get to kinda ship stuff quickly, and we were able to choose our own stack and things like that. So it was definitely fun times.

Brian:

Yeah. And so, like, the Angular community then I mean, even now, it feels like there's a lot of big corporations using Angular. And, so, like, they're pretty cool with, like, the way Angular works. And, like, now we're in Angular 18, so, like, it's been around for a minute. Yep.

Brian:

So with analog coming in the mix, like, who's using analog?

Brandon:

Yeah. They it's been pretty it's been pretty wild. Like, in the beginning, when I was, you know, trying to get the the meta framework together, it was, Hey, I just want people to, I just want it to be out there and get people to use it. So it was mostly like people in the community building and trying it out, building their personal blogs with it, which I've really found were rewarding because, to me, it's like a cycle. We we've gone through this a couple of times in the Angular community where people build a tool to help people build static sites, and then that tool kind of falls by the wayside.

Brandon:

And then there's all these people who have content to write, things to share, but they don't have a way to do it because their their blog is basically outdated, and they they hate maintaining it now. So, building it, allowing people to ship things like that helped those people to start getting back in that cycle of writing again. And now we're getting to the point which I'm talking to I've talked to some people that are introducing analog into the these enterprise environments where, it's traditionally Angular apps, and they want something that they can build with quickly, to build a static site or to go along with their to build, like, a landing or a marketing page to go along with their the applications that are built with Angular. So and instead of them having to look into other ecosystems, now they can build something with analog and Angular to help them continue to kinda keep that keep it in house per se. But, yeah, it's gone from small community projects.

Brandon:

Now I'm talking to people who wanna, bring it into their enterprise stack and everything, which is pretty exciting.

Brian:

Yeah. I mean, that's that's awesome. So, like, are you so going back to the question with Angular and, like, that community, like, how is what's the reception been from the Angular team to analog?

Brandon:

Yeah. The the reception has been has been great, actually. I I'm still in communication with the Angular team. I meet with them regularly regularly just so that, people in the community know that we're not like, I'm not fighting against Angular team. They're not fighting against me.

Brandon:

Like, they're actually trying to, help analog be successful as far as from the framework perspective where they can build these kind of tools and things to help what I'm trying to do, make what I'm trying to do easier instead of like in previous years, it was like you had to you had to do a lot of weird things and maybe hacks here and there to try to get things working, because Angular was a lot more rigid, I would say, in how they wanted, like, the ecosystem to be or how the stack one how they wanted to stack to be, but it's gotten a lot better since then. Because I I wouldn't be able to do I wouldn't be able to do half the stuff that Analogue does if Angular had not evolved and moved into a space where it was a lot more flexible.

Brian:

So Yeah. And so in that flexibility so we actually we had Evan Yu on the podcast, and he was talking about, like, Vite. So Vite's, like, what's powering a lot of this under under the hood. So I think every meta framework except one Mhmm. Is now using Vite.

Brian:

And, like, the last one is Next. Js that's not using Vite. Yep. So like what's your what's your take on on like, you obviously you you chose Vite for for your project, and it seems like what their previous slogan was like the next next level build tools for JavaScript.

Brandon:

Mhmm.

Brian:

I think that was what it was for a moment. It might still be the actual tagline for it, but, like, do do we see everything centralizing around Vite, if you wanna get, like, this next level situation for front end applications?

Brandon:

Yeah. Vite has definitely taken, taken the ecosystem by storm, I believe. And like you said, practically every framework made a framework out there, it's kind of landed, on using Vite, like in a more holistic way, even angular itself, they use Vite as a dev server and analog kind of takes that a step further and uses it as a dev server, like a whole build tool, kind of embracing the, the ecosystem, as a whole. And part of what I part of what kicked off like me doing and starting to analog anyway was, everyone everyone kind of saw what the what was happening with Vite and, like, Angular didn't have a space to operate within the Vite ecosystem. So I wanted that.

Brandon:

I didn't want, like I said, angular has had this, I don't know, this dig buzz, like enterprise slow to move, that sort of thing. Not necessarily incorporating well with a lot of tools and things in previous, but, and I wanted Angular to have a space to say that we can integrate with Vite. We can use these tools. We can stay on the basically stay on the cutting edge, and that was part of why I built analog to on top of Vite because it unlocks so much more than just, just me building Analog itself and saying it works with this. Just by integrating it with Vite, it unlocks other ecosystems, which Angular didn't have necessarily have access to and the Angular community didn't have access to.

Brandon:

So that was one of the thing one of the motivating factors of why I wanted to build with Vite and to to open up a lot of other things there.

Brian:

Yeah. So I mean, I I I find it fascinating because I I got to see as a consumer of all these, like, meta frameworks and tools because I previously worked at Netlify where we just use all of the stuff and made sure it worked. And then got went to Vite pretty early and started using it for some side stuff. Well, all stuff everything I do is side stuff at this point. But then I I end up connecting with Evan pretty early in the Vite trajectory where it was, like, right before it was 2.0.

Brian:

And, like, the demo blew me away, which is, like, the thing I always wanted, which is, like, back in the day back in back in our day, we used to put up HTML pages and, like, just start putting, like, style tags and everything, like, right there in HTML. And, like, what I love about Vite is I could do that with Vite. And, like, I can I could piecemeal an Angular or I could piecemeal a React or an Astro or whatever it is? And, I love that a lot because, again, a lot of stuff I I put out in the open is not meant to be Mhmm. Production ready.

Brian:

It's just my side stuff, my projects, aside from open sauce, obviously. Open sauce is now maintained by wonderful engineers like yourself. But I I guess what I'm getting at is, like, we're we're having another cycle of Mhmm. What was old is now new, and now you can actually go back to the HTML and use an Astro in a Vite. But for what I was getting at, but, like, basically, like, what do you think the the next step is?

Brian:

Because, like, we have we have Bun as another opportunity or which is, like, a wider Mhmm. Net of, like, things that you could do. So do you think there's, like, more innovation happening within the space?

Brandon:

Yeah. I think so. I think Veed has definitely shown that, because, like I said, a lot of tools are integrating around Vite, like, the Vite ecosystem. And I think that that in a way, it takes some of the it allows, like, framework authors and other people to innovate quicker because they don't have to worry about all the tooling and have to worry about all the rest of the pieces in addition to building the framework that they wanna use. Like, the big example of this is like Remix where they were they had their own custom build setup, and they saw where the ecosystem was going, and they decided to pivot and move to the the ecosystem so that they could focus on innovating and building more cool features into into Remix, and I feel the same way about the rest of the ecosystem.

Brandon:

Like, if you don't have to worry about how to build, you know, stitches thing to stitches everything together and you wanna build something, like, new cutting edge features or, like, we're we're like you mentioned, we're we're back in this this state where everything old is new again. We're we're we're rending rendering a lot more things on the server and building a lot more features there, and Vite is, like, enabling people to do that quicker. And so that we might get to the next cycle of innovation, with things like quick or where they're doing they're just doing something totally different in the as far as how web apps are built. So just being able to iterate on that thing iterate on those things quicker, I think just helps the ecosystem overall.

Brian:

Yeah. And, like, talk about the Angular community as well because, like, the the assumption I've always had is, like, there there's folks who work at Google, and they work on that that framework. Is that still true today?

Brandon:

Yes. There is the the Angular team at Google. Yeah. That still still exists today.

Brian:

Yeah. And there's not there's not a lot of community contributions happening on Angular, or is it all, like, basically plug ins and infrastructure?

Brandon:

Yeah. So the there is there is a community of people who like, I'm I'm in what's called the, a GDE, which is a Google Developer Expert. So we all of the people in GDEs have contribute they contribute to the ecosystem in one way or another, and then there's other groups like, Angular Collaborators where they kinda work a little more closely with the Angular team. Like, they're not Googlers, but they are, you know, people that they've been around the community for a while. They've invested time in into contributing to Angular, and they, they work like I said, work more closely with the Angular team.

Brandon:

So it's not just, even in they even, you know, take contributions from the community. You know, if people are willing to, you know, put in the time and because Angular is a is a mature framework. It's been around for a long time. There's a lot of infrastructure around it, so you do have to get familiar with contributing to it. But there are opportunities for and people do, contribute that outside the the Google team.

Brian:

Yeah. And I I I know, so Sarah Dressler is on the Google side and, like, oversees, like, a lot of web stuff, web infrastructure there. So, I should probably have Sarah on here in in chat to find out more what she actually does. But my my next question is, like, okay. There's there's Angular, but then there's also lit.

Brian:

Mhmm. And then there's, I I actually, can you explain the the announcement at the last NG conf when they were talking about, I don't even know what the announcement was. It was it's very confusing.

Brandon:

Yeah. So the Angular's open source project has been out there forever. Google has another, internal framework called Wiz,

Brian:

which is what

Brandon:

they it powers Google search. It powers, Google Photos. Like, all of their traditionally, like, high performance, websites and applications are usually powered by Wiz. Wiz is, like, laser focused on performance. Everything has to be as fast as possible.

Brandon:

They're doing a bunch of cutting edge things that have been at Google for a long time, but the developer experience of Wiz is not as what as what Angular's developer experience is. So they've been kind of talking about this back and forth for a long time about, bringing Angular and Wiz closer together. Now that the announcement that they had at AngiConf made it seem like Angular and Wiz were were merging, which isn't necessarily the case. From my understanding is that they're borrowing ideas, and they're more doing more collaboration, between the two projects. So, there are some things that aren't open that aren't Wizz that aren't open source, so they're gonna bring some of those things, into open source through Angular.

Brandon:

And so Angular gets better as a result of that, and Angular gets these new features and, like partial hydration and resumability is something that's really big in the ecosystem now. So it helps Angular approve along the way too.

Brian:

Okay. Yeah. That's good context because I didn't know about that the distinction with the internal and and Wiz and stuff like that. So

Brandon:

Yeah. A lot of people a lot of people had never even like heard of heard of Wiz itself, but and I've been around the I've been around the community long enough to have heard what it is and I've talked to a few people, that have worked on it or have worked with it. So, yeah, it's it's been around for a while, and they've always talked about kind of whether the those two things were actually gonna become one project, but I think it's more of a sharing of ideas and collaboration, which which is exciting too. So we're never gonna see Wangular? I'm not gonna call it that, but we'll see what happens.

Brandon:

There are already there's already been a number of, a number of names I've thrown out there. Are we gonna become the Wizards now or whatever? But we'll see.

Brian:

Yeah. So I'm gonna throw a couple hot takes at you, and I just wanna get your response because, I yeah. Because I I think we can, I mean, Angular has you even touched on it, like, Angular's got a a different flavor to the community, like, folks have a reaction? Like, a lot of folks who have never used Angular Yep. Have a response in, like, what they think about Angular.

Brandon:

Yep.

Brian:

So question to you, you've got 24 hours to build a web app. Mhmm. What framework are you reaching for?

Brandon:

For analog, of course. No. If if push them to shove, I'm choosing Angular because it's my framework of choice. If I got 24 hours to build something, I'm familiar with the stack. I think, you can build something quickly with it.

Brandon:

But like I said, if I'm if I'm trying something today, I'm doing analog because I've I've, like, chopped off half of what I could what I would need to do to to get set up up and running.

Brian:

So if you had 24 minutes 24 minutes. Would it be analog?

Brandon:

Yes.

Brian:

Next question. Why does Angular suck?

Brandon:

Why does Angular suck? I don't know. It's, it sucked for a long time, but they're now trying to fix that. No. I'm just kidding.

Brandon:

Angular has evolved a lot, and the people say that it sucked back then. You know, you can't change some people's opinions, but I'm I'm excited about where it's going and and what they what they continue to do.

Brian:

So Yeah. I mean, to to real like, I I also started Angular JS at a company in San Francisco, and then we saw the transition for Angular 2. Mhmm. And at that point, we're just like, we're not moving Angular 2. Like, we're gonna try to get profitable.

Brian:

We're gonna work on the product. Yep. So, like, at that point, a lot of start ups ended up getting burned. It was like, we don't have the team to go, like, set up on meetings, become a GDE and stuff like that. So we ended up going to react.

Brian:

Mhmm. So I guess my my question for you is, like, do you feel like that Angular ever has another chance to, like, be the darling framework within an ecosystem? Like, what React is today and what maybe something else is tomorrow?

Brandon:

I I've always said that I don't think that Angular will be get back to to where it where it was prior to, like like you said, that that whole situation where, Angular 2 came out, a lot of people was like, we don't wanna rebuild our entire or if we're gonna rebuild our app, we might as well, you know, evaluate other tools. I don't think it's gonna get back to that particular place where it was prior to that. I do think that there will always be, like, a contingent of Angular apps that are out there that are being built and maintained, and I think that they're still Angular will still continue to evolve. I think that's the biggest thing is they I'm not really out here trying to chase mindshare of could mindshare of React developers to convert to to Angular. So if if they wanna if they wanna use it because of where they work or things like that, that's usually how people are coming into Angular these days.

Brandon:

But I do think there's opportunity there for, for people to teach Angular in other spaces that that they weren't looking at it before because because of that, like, prior situation. So I think there's opportunity there, but I don't see it hitting like a hyper growth stage or anything like that. It's I think it's a mature framework, and I think it they're gonna lean into their strengths going forward.

Brian:

Very cool. Well, I appreciate you, leaning into this conversation and answering my questions, and, also appreciate you just coming on board to Open Sauced and sharing your expertise with the team and, with our framework of choice, Next. Js.

Brandon:

Yeah. I've I've enjoyed my time here, and I'm looking forward

Brian:

to building more. Cool. Well, folks, stay saucy. Secret Sauce is a podcast produced in house by Open Sauced, the open source intelligence platform providing insight by the slice. Here in San Francisco and interested in being a guest on the show, find us on Twitter at saucedopen.

Brian:

And don't forget to check out Open Sauced at opensaucedot pizza.