I had the chance to go to Angular Mix conference in Orlando, Florida recently, to talk about TypeScript compiler.
I take the oppoutunity to meet Stephen Fluid and made a little interview. Here is the transcript :
Vincent Ogloblinsky (VO) : Hi Stephen, thanks for joining me, could you introduce yourself ?
Stephen Fluin : My name is Steven Fluin and i lead developer relations for the Angular team at Google.
So in the day to day of my job, I end up doing a lot of different things : I speak at conferences and meetups, I manage a lot of our enterprise relationships, so working with people that build software at scale.
There is lots of companies, if we help them a little bit, answer some questions, we can help thousands of developers, which is very nice and then we also learn about their needs and their use at scale so we can continue to make Angular better.
I also lead our GDE program, so we have a set of experts that we certify across the globe, cool people who speak right, organize communities around Angular. We certify them and then we help them and support some of their efforts.
I also manage some of our partnerships, trying to really encourage collaboration between our team and another team’s outside of Google.
And I handle a lot of our cook content, so things like blog posts, case studies.
V : What the status of Angular ecosystem / community ?
The ecosystem, the community, are doing really well, we’re seeing more launches from companies and team that doesn’t use Angular before.
We have statistics that Brad shared at Angular Mix, that from the first half of this year compared to last year we are from 40%, so we’re still experiencing very dramatic, very rapid growth in terms of the number of people that are building on top of Angular.
And we’re seeing more and more companies that their entire purpose is building things for your ecosystem. Companies like Nrwl with Nx and Angular Console, companies like SoCreate with Angular playground, companies like StackBlitz which is not specific to Angular but they spend a lot of time working with us to make sure that it’s a great experience for Angular developers or NativeScript who’s doing things like the codesharing hybrid projects.
And then you know last year so we’ve developed a bunch of new API service for Angular. So historically there is kind of building applications with Angular or you can contribute Angular but we created this entire middle tier where you can build things like schematics and add them to your library so that it’s easier to add a dependency to a project whether it’s easier to update that dependency, keep it up to date, keep your code up to date with that dependency, we’re seeing more and more launches of those sorts of things.
V : Around the developer experience with Angular you mentioned a lot of tools, what are for you the three main tools we have in the ecosystem that help people coming and succeed in Angular ?
We can approach this from a bunch of different perspectives because I think it’s become clear that the one size fits all answer isn’t going to work.
So CLI is the most common answer, everybody should be using CLI under the hood. It’s really great starting up new projects, it’s really great to do production builds and it’s only gonna get faster & better over time.
If we look backwards to the kind of getting started end of the spectrum, I think Angular Console and StackBlitz definitely hit that nich, where if you are maybe not even a developer yet, you just thinking about getting in development and you wonder how can I build a web app.
The other item that I think you mentioned that we announcing today is a new tool that’s coming in the future called Angular Codesign.
V : For specific people like designers.
So it’s targeted designers but we really seeing Angular Codesign is being another collaboration tool for designers, product managers, developers all the sorts of folks where if you can give them a drag and drop interface they can import tricky components which are tricky components on the fly, that saves everyone time.
V : So the goal of the tool is to create a collaboration or sharing code, like for example Ionic creator ?
Yes. Angular Codesign is primarily focused on prototyping. So the idea is that you can bind some data, you can build really UX with drag and drop, by loading necessary components and then you can do UX research, you can validate product plan with product owners, things like that, without having to go to building.
V : Can you say more about the future of Angular Elements ?
So Angular Elements as they are today work great within an Angular application. You can bootstrap them, you can render them, it works really well in an Angular context today.
If you want to build a custom element with Angular today we don’t actually have the tooling for that and that’s intentional because we think it’s not a great experience for the consumers of these components today, because the bundle sizes is too big.
So if you want it today, we recommend people take a look at ngx-build-plus, a tool from Manfred Steyer, which allows you to customize the webpack config you can either dynamically link or statically linked to the Angular packages.
For us since this bundle size thing is such a big blocker, we feel Angular Elements becomes a lot more compelling once Ivy lands, and so once we are able to treeshake away most of Angular when you don’t use it.
Custom elements can’t help with any of that problem, they actually make it a lot worse, whereas they’re just a huge amount of value to Angular components where you have the control value accessors that automatically wire the form, and so I think we’re looking at how can Custom Elements or web standards can be utilized in Angular, but they’re not a silver bullet, they don’t solve all the problems.
V: I have a question around learning path for Angular, do you have stuff for the boarding path for junior developers with Angular ?
We’re actually working on it, we are working with folks on new tutorials that are more targeted. Don’t focus on everything you can do with Angular, focus on a critical path of things. Make the developer feel more productive, making capable building apps and then teach them better practices.
We will focus on really that is essential in Angular like Component composition, template syntax, services, and Data. And then deployment, how to go to production.
In any web technology there’s a lot you can learn, you could spend months studying it in a the abstracted undersell different pieces and how they work and why they were.
That’s not how most people learn. Most developers want to stop focusing on the framework and get back to work.
They say « my boss breathing down my neck, I need to build a new dashboard for our team. How do I do that as fast ? ». I don’t teach them NGRX on day one, state management is really important part of scaling an application, but you don’t need to start building an app.
The hope is in the intent : we make developers feels empower enough that they want to learn more because they see the value in the impact it can have.
That’s an explicit design goals of the new tutorials we are working on, a milestone that says : you are now an Angular developer, you don’t know service side rendering, you don’t know NGRX, you don’t know change detection strategies, but you are an Angular developer, you have succeeded at learning in Angular, you could build directly any app you want and now let us teach you the rest of the tool to rest the ecosystem. We want checkpoints of success.
V : What is the future of Angular after Ivy released ?
One of the things that I like to focus on is the idea of following the developers experience throughout the suffered about life cycle.
V : I have a question around migration from AngularJS to Angular, did you plan to more work on that, or the job done by the community is enough ?
I don’t think that the window (AngularJS to Angular) will never close, but I think it’ll become less interesting over time. We’ve done a pretty good job on ngupgrade, of creating one path that allows you to incrementally migrate from AngularJS to Angular.
But part of our focus for the last few months has been on identifying and connecting developers to other best practices to community identified.
When does it make sense not to incrementally migrate, identifying when does it make sense to you use ngupgrade lite.
I think we’re not investing a ton in this anymore but we do want to recognize and highlight the community’s figure these things out and other teams who are figuring things out better over time.
Even though most developments already shifted to Angular.
I mean one of the things I like to say that there’s the silent majority of developers who don’t pay attention anything we say, they don’t read our blog post, they don’t go to conferences, they don’t follow us on Twitter, and so we want to build tools that are so great that even these people find out about them and use them.
What’s funny is that I have see over too many times, is when they end up half migrating to something else and then the other new thing comes along and they end up like, there three or four migrations deep.
V : Thanks for your time Stephen.