Cover image of All Angular Podcasts by Devchat.tv
(29)

Rank #123 in How To category

Education
How To
News
Tech News

All Angular Podcasts by Devchat.tv

Updated 7 days ago

Rank #123 in How To category

Education
How To
News
Tech News
Read more

All Angular podcasts produced by Devchat.tv: - Adventures in Angular - My Angular Story - Angular Rants

Read more

All Angular podcasts produced by Devchat.tv: - Adventures in Angular - My Angular Story - Angular Rants

iTunes Ratings

29 Ratings
Average Ratings
24
3
2
0
0

The best source for Angular knowledge

By The Best Gabe on the Planet - Jun 12 2016
Read more
One of the best tech podcasts I've listened to, and I listen to a lot. On this podcast, the masters of angular and programming meet. Not only do I learn a lot about upcoming technologies and approaches to development, I also learn about how to think about programming. And, they're entertaining. I look forward to each episode with excitement and deep anticiptation.

Stacked Panel - 10/10 Resources of Angular Folks

By tg18509 - Feb 08 2016
Read more
This podcast is the best! If you’re trying to stay up on the latest in Angular then you’re going to absolutely love AiA. I’ve been listening to them as much as possible for the past year and a half or so, and they continue to put out the best content out there. It’s useful time and time again.

iTunes Ratings

29 Ratings
Average Ratings
24
3
2
0
0

The best source for Angular knowledge

By The Best Gabe on the Planet - Jun 12 2016
Read more
One of the best tech podcasts I've listened to, and I listen to a lot. On this podcast, the masters of angular and programming meet. Not only do I learn a lot about upcoming technologies and approaches to development, I also learn about how to think about programming. And, they're entertaining. I look forward to each episode with excitement and deep anticiptation.

Stacked Panel - 10/10 Resources of Angular Folks

By tg18509 - Feb 08 2016
Read more
This podcast is the best! If you’re trying to stay up on the latest in Angular then you’re going to absolutely love AiA. I’ve been listening to them as much as possible for the past year and a half or so, and they continue to put out the best content out there. It’s useful time and time again.

Listen to:

Cover image of All Angular Podcasts by Devchat.tv

All Angular Podcasts by Devchat.tv

Updated 7 days ago

Read more

All Angular podcasts produced by Devchat.tv: - Adventures in Angular - My Angular Story - Angular Rants

AiA 252: Saying Goodbye to Angular CLI with Hans Larsen

Podcast cover
Read more

Sponsors

Panel

  • Aaron Frost

  • Shai Reznik

Joined By Special Guest: Hans Larsen

Episode Summary

Hans Larsen, Team Lead of the Angular CLI at Google has left Google to pursue other opportunities. The panel meets with Hans to talk out about his time at Google Angular team and some of the challenges they faced. They then talk about Hans' future plans as well as some of the fun times they had at the Angular conferences.

Links

Picks

Shai Reznik:

Aaron Frost:

Hans Larsen:

  • Become a parent

  • Have a drink with someone you love

Aug 13 2019

42mins

Play

AiA 145 Why I'm Still Betting On Angular with Shai Reznik

Podcast cover
Read more

AiA 145 Why I’m Still Betting on Angular with Shai Reznik

On today’s episode of Adventure in Angular, we have panelists Alyssa Nicoll, Joe Eames, along with Charles Max Wood. We have a special guest Shai Reznik from Hirez.io, a website and video web development course series that mixes information with a few laughs. Today we are figuring out why Shai is still betting on Angular. It’s a fun show, we hope you check it out!

Why are you still betting on Angular?

Shai has been getting this question a lot. He tells us about working on Angular courses for his website hires.io He has two courses out so far, first being a course on Angular basics, a second course on Why Angular? Shai suggests that picking a framework is essentially gambling. He also gave a talk “Why I’m betting my future on Angular 2,” focused on the non technical reasons that he is sticking with Angular. If you teach someone without experience about web development and ask them to pick a framework without guidance it’s a disservice. Once that person has gained experience, then they can choose on their own.

Shai’s Decision Method

At HiRez.io he had to pick a specific framework. Shai has been working on comparing different frameworks for years, including React and ViewJS. He adds that when you see talks or documentation on framework, you’re seeing a showcase of the best parts. It isn’t until you work with it that you find the quirks and issues. Part of what he did to learn the frameworks were to simulate real life scenarios. He also came up with a set of requirements to help him. The main question being “Does it handle scaling?” He found that React leans more towards libraries while Angular is more of a framework. It comes down to integration. Building your own framework from a library can be a good practice if you want to become a more professional JavaScript developer. Shai suggests that its like building your own computer instead of buying a brand new one. The issue is with JavaScript, the updates come weekly and so building your own framework from a library comes with a cost. Developed frameworks tend to handle that level of integration for you.

Less Mental Overhead with Angular

Charles adds that Angular allows him to make things without worrying about when to use things like Redux or Mobix and it just works. There is less mental overhead along with available expertise because everyone is generally using the same stack. React can have a shorter learning curve, and both communities have about the same number of proficient users as a resource. Both seem to be equal in those ways. Having choices keep things on the innovative edge. Shai talks about the Angular team and how innovative they tend to be. Aimee adds that their attitude about Angular is also genuine, giving an example of when they are approached with issues, they are open to discussing them.

Dependency Injecting

ViewJS is also a framework. The one thing that is missing is dependency injection ,which in Shia’s opinion is one of the biggest selling features of Angular. It allows for easier code testing and in Angular 2 it has been improved even more. He adds that some developers can be lazy and not write tests and for them it wouldn’t matter. Angular also prides itself as a JavaScript framework, and so no typescript. When working on a big team, being able to see immediately where things are broken is very helpful and is a plug for Angular.

Evolving communities

Joe says that Angular has a great community and he like Angular because of his familiarity. Shai adds that all three are great solutions. Angular just happens to fit well with his current situation. He had to switch from old technologies or communities because they got stuck in the past. ViewJS is picking up popularity and in a couple years will have a strong community. He adds that while the community and support system is great, it’s not the main reason he stays.

Will the market for Angular courses be sustainable?

Shai mentions that it seems to come in waves, a certain technology will have hype come in every six months or so. That hype leading to adoption and then months later the adoption rate drops down. This is something he witnessed with Angular 1 in 2012 with 1.0. It took 6 months to a year for people to learn about it and adopt it. It wasn’t until 2013 or 2014 when React came out, early adopters jump on React and started creating hype for it. Some of React solved the pain points for Angular. We are getting to the end of the adoption wave of React. It’s hard to tell how long React and ViewJS will be popular. The new Angular will bring a new wave and peak in demand in a year or so. Shai adds that this is his bet and he may be wrong. He sees that it handles small apps or big apps, having the ability to scale and that is important. Charles adds that Ruby on Rails had a similar cycle. Ruby has stop being in the media as much because it’s becoming stable, but the community is strong there either way. Shai mentions that he doesn’t see these frameworks like React going away soon because they solve real issues. If you zoom out from the discussion, these frameworks are all part of a big JavaScript family. Listens can comment on this episode on what frameworks they’ve choose and why.

Picks

Joe

NGDoc.io
Persistence

Alyssa

HiRez.io

Charles

Rush Revere and the American Revolution
Palto Alto Firefighter’s Hot Sauce

Shia

Futur Youtube
Decorators
HiRez.io

Links

HiRez Twitter
Shai Twitter

Jun 27 2017

43mins

Play

AiA 243: Lazy loading in Angular (with Angular Elements) with Juri Strumpflohner

Podcast cover
Read more

Sponsors

Panel

  • Aaron Frost
  • Joe Eames
  • Brian Love

Joined by Special Guest: Juri Strumpflohner

Episode Summary

A fun conversation about how to lazy load Angular modules with Juri Strumpflohner, a software developer with more 10 years of experience in technologies like Java, .Net and Node.js. Juri is also a  Google Developer Expert in Web Tech and an Egghead.io Instructor.

With lazy loading, it is possible to defer loading unused portions and load them on demand. The panel discusses what can be lazy loaded in an Angular application and how Aaron's for lazy loading in Angular helps with the process. 

Links

Picks

Aaron Frost:

Brian Love:

Joe Eames:

Juri Strumpflohner:

Jun 11 2019

1hr 3mins

Play

AiA 262: Firebase Features with David East

Podcast cover
Read more

In this episode of Adventures in Angular the panel has fun interviewing David East about Firebase. David starts by sharing what it was like at the recent Firebase Summit in Madrid. There were so many announcements they had a tough time fitting them all into the one-hour keynote address. 

One of the cool new features announced at the Firebase Summit is Firebase Extension, David describes it as serverless without any code. The panel discusses this feature and how it works. Another cool feature announced is Google Analytics for Firebase. This allows you to use Firebase tools in conjunction with Google Analytics. The panel considers the smart things you can do in your app with this feature. 

The next feature the panel discusses is Remote Config which allows you to store data and then pull out that information on demand. If you use the Google Analytics for Firebase you can target specific data for certain audiences. David explains that before this could only be done with native apps. He also explains how in doing this you no longer have to worry about the gtag loader and defines gtag for the panel. 

The panel gets a little off track as David jokingly explains his beef with Aaron Frost, Frosty. Frosty host My Angular Story and a while back had twitted looking for awesome angular stories. David had responded but never heard back from Frosty. Frosty jokingly says he faxed an invite to David. The panel jokes about how awesome David’s episode will be and tells everyone to look out for his episode. 

Getting back on track, David gives more examples of ways to use the Remote Config feature on with the Google Analytics for Firebase. Frosty confesses he needs to get better at looking at analytics. Sharing an example from a company he is currently working for, Frosty explains how they made nearly 2 million dollars just by changing the color of a button. The panel considers how minor changes like that can make such a big difference and how analytics helps you target your audience. 

David shares the story behind writing Angular Fire. Jeff Cross worked on the angular team and started writing angular fire but then left for Nrwl. After Jeff left, David took over and ended up rewriting the entire library. He explains some of the mistakes that they made that led to the rewrite and how he fixed them. 

The panel wonders at David about using Angular Fire and NgRX. David tells the panel that the Firebase console uses NgRx under the hood and shares what he learned while working on it. Using firebase and NgRx can be very confusing because of the mass duplication of responsibility. David’s advice is to let Firebase and NgRx do their own thing and connect the dots with RxJs. 

David discusses Firestore, a very advanced caching system and what you can do with it. Including, working offline and setting security rules. Frosty brings up Firebase Messaging Cues, he explains that it is similar to three-way messaging cues except its n-way. David explains that even though he is intrigued by the idea, he does not approve of the name. The panel considers possible use cases for an n-way messaging cue. David explains some of the costs and benefits of this architecture. 

The episode ends with a discussion of Firebase’s documentation, which is currently a group of markdown files. David defends the simplicity of this documentation style and gives recommendations and resources for those who need more help. 

Panelists

  • Aaron Frost

  • Brian Love

  • Alyssa Nicoll

  • Shai Reznik

Guest

  • David East

Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs

Sponsors

Links

Picks

Brain Love:

  • Bonnie Love

Aaron Frost:

Alyssa Nicoll:

  • David East

David East:

Oct 29 2019

1hr 6mins

Play

AiA 199: RxJS with Ben Lesh, Tracy Lee, and Jay Phelps

Podcast cover
Read more

Panel:

  • Shai Reznik
  • Joe Eames
  • Alyssa Nicoll
  • Ward Bell

Special Guests:

In this episode, the Adventures in Angular panel talks to Ben Lesh, Tracy Lee, and Jay Phelps about RxJS. Tracey is the co-founder of This Dot Labs, which does a lot for the JavaScript community and does JavaScript consulting, as well as is on the RxJS core team. Jay is also a co-founder of This Dot Labs and used to be on the RxJS core team. Finally, Ben is an engineer at Google, is the RxJS project lead there, and is on the Angular team. They talk about the changes to RxJS from the past year, the API changes for version 6, and more!

In particular, we dive pretty deep on:

  • Ben, Tracey, and Jay intros
  • What happened in the last year with RxJS?
  • No longer a test scheduler
  • Using real timers
  • Version 5 VS version 6
  • TestScheduler.Run method
  • Won’t have to write code with injecting a scheduler
  • What’s the best way to get started?
  • Look at the docs
  • Understanding Marble diagrams
  • Many blog articles on Marble syntax out there
  • Wasn’t originally designed for public consumption
  • Using the test Scheduler is not a requirement for testing RxJS code
  • Jasmine testing framework
  • Jest
  • Marbles diagrams are a bit more declarative and specific to RxJS
  • Is it a part of RxJS proper?
  • API changes for version 6
  • Backwards compatibility package
  • TSLint rules
  • rxjs-tslint
  • TypeScript
  • And much, much more!

Links:

Sponsors

Picks:

Shai

Joe

Ward

Tracey

Ben

Jay

Jul 24 2018

1hr 26mins

Play

AiA 214: NgRx Tips & Tricks with Adrian Fâciu

Podcast cover
Read more

Panel:

  • Charles Max Wood
  • John Papa

Special Guest: Adrian Faciu

In this episode, Chuck talks with Adrian Faciu who is a developer for Visma and is a blogger. The panel talks to Adrian about his blog titled, “NgRx Tips & Tricks.” They ask Adrian in-depth questions about NgRx, among many other topics. Listen to today’s episode for more details!

Show Topics:

0:00 – Advertisement: AngularBootCamp.Com

0:55 – Chuck: Hi! Our guest is Adrian Faciu.

1:10 – Guest: Hello! I am Adrian and I am a developer who works for a Norwegian company, but I live in Romania!

1:35 – Chuck.

1:36 – Guest.

1:47 – Chuck: The market is so global. I have talked with many different guests from different parts of the world – it’s really neat! It’s this global phenomenon.

2:12 – Guest: It’s a great thing!

2:23 – Chuck: They have an office where you live?

2:31 – Yes.

2:37 – Chuck: How are you guys using Angular over there?

2:47 – Guest: We have several different products. We customize using them with internalized tools.

3:04 – Chuck: Real quick let’s talk about your blog post. I will admit I am not that familiar with NgRx, so I will ask newbie questions. Now do you want to explain what this is?

3:41 – Guest: Sure! The short story of the article is I saw people doing things the hard way. And after I figured out some things, people encouraged me to write about my experience.

4:37 – Chuck: John Papa just signed-in!

4:53 – Guest: Yes NgRx is...

5:02 – Chuck: You used classes for all actions what do you mean by that?

5:05 – Guest answers the question into detail.

6:31 – Chuck: Let’s say we have a class that uses a log error...

6:42 – Guest: For example you have actions that...

7:02 – Chuck: When you use the reducer...

7:10 – Guest: There are other tricks we can use like keeping all of them in the same file...

8:00 – Guest talks about the union type.

8:24 – Chuck: You learned this by doing things wrong – what happens when you do these things wrong?

8:30 – Guest: If you don’t put all of your classes in the right file then you end up with a lot of files. If you don’t create hero types then you’d have to...

10:02 – Chuck: If you import user actions then does it import all of the other types?

10:08 – Guest: Import everything from that file.

10:17 – Chuck: If you have any questions, John, feel free to chime-in!

10:29 – John: Yeah I am scanning through this.

The negative I hear a lot of through actions, it’s cause we create constants – the action class creators, it seems to cause an undue amount of stress. How much actual code do you actually have to write – how do you feel about that?

11:12 – Guest: I didn’t want to write all of this code! That’s what I wanted to avoid.

11:44 – John: I wrote them, didn’t like them, I went back to them...

It wasn’t just that I created a new action I had to create the constant and other things – also the place you do the union type, I’d forget to do the union type at the end! If you don’t have all of those things then it won’t work. Even on a simple project I’d have 120 lines of code for a simple task.

12:49 – Guest: Yes. Sometimes I would forget this or that. I’d have to figure out what I did wrong. I went back and created classes for a lot of things. I like the benefits.

13:19 – John: I like your ideas and your tips in your blog.

How do you feel about the NAMES of those actions?

13:55 – Guest.

14:51 – John: Important part is the naming of the string inside of it – that’s the value...

So you can see the actions that are being displayed.

15:25 – Guest: If you didn’t do it right that’s where the problem would be.

15:38 – John: To me it’s a love/hate relationship b/c there is so much code to it. I usually copy and paste which means that I usually forget to change something. I agree, but I don’t’ like creating it.

16:05 – Guest: I’ve been trying to figure out a solution for it eventually I gave up.

16:23 – John: Moving onto effects – inside that happens inside of the Redux cycle – if you want to do something outside of it that’s when you do effects right?

16:40 – Guest.

16:49 – John: Using the effects is good or do it a different way?

17: 20 – Guest: It makes my components cleaner. I have seen projects that DON’T use it and it’s not the best.

17:36 – John: Like getting a list of customers...

(I am using my hands and nobody can see me!)

It’s weird to me to NOT use the effects!

18:52 – Guest: If you implement some type of caching then it’s everything to put everything in the state.

19:07 – Chuck: I haven’t used it as much as I would like, but I haven’t do much with it.

19:23 – John: I am curious from somebody hasn’t dove into it – does effects make sense to you, Chuck?

19:39 – Chuck: It seems like effects is a side effect? Like calling out an external API...

20:10 – John: Yeah even multiple effects.

John asks a question.

20:23 – Guest answers the question.

20:29 – Chuck: I like that you can make constrained assumptions and all of the complicated...

21:10 – Guest: I am using my effects like functions.

21:26 – John’s question.

21:31 – Chuck: Doing everything!

You said implement the 2-payload method – that doesn’t make sense?

21:43 – Guest: Not 100% convinced you need it. What people are doing on these actions...

22:43 – Chuck: How much magic you want?

22:50 – Guest.

22:59 – John: I am confused about ERROR HANDLING. What do you advise for people to do?

23:21 – Guest: Basically, when you deal with that effect you deal with the actions, and the actions...

If you get an error on it it’s done. I was trying to explain there that...do it on another stream. Try it on another stream and handle it. What happened to me – I did it on the action state and I got an error and then everything will stop.

24:27 – John: That’s not good!

24:32 – Chuck.

24:35 – John: Good tip!

24:40 – Chuck: Angular has gotten better at that. I still find, though...

25:06 – John.

25:16 – John: Hey I appreciate these blog posts that don’t always show the happy path. To show the unhappy path is a good idea.

25:32 – Chuck.

26:00 – Going down your list, Adrian, let’s talk about effects are services. I agree, but not that we have...

26:24 – Guest: I have seen cases where people forget that. They say I want to call a service, how do I do that? They forget...

26:50 – John: You have to provide your services somewhere. The old way was you could go into the...

What do you do?

27:28 – Guest: Most of the applications...

28:17 – John.

28:25 – Chuck: I love deleting code!

28:32 – John: You end up in a spaghetti pool, though, if you needed that deleted code. Nooooo!!!

29:00 – Chuck.

29:01 – Guest.

29:10 – Advertisement: Get A Coder Job!

29:49 – John: Let’s talk about reducers – the smallest part of your tip sections. You say, “keep them simple” – how do you keep them simple?

30:07 – Guest: I have received this observation from several people. This is the biggest problem I had.

How to keep them simple...

31:08 – John: When someone makes that type of code – where would you want them to put it?

31:23 – Guest: It depends on different types of actions. Maybe I have some sort of matter that I added to the data – an action from my application we can catch it into an effect and...

Not all of the actions have to go to the reducer.

32:04 – John: I say, “Hmm...” when I see reducers like this...they are running a synchronized code inside of a reducer. And I see that a lot.

32:24 – Chuck.

32:28 – John: You go call a reaction, and...sometimes they are doing HTP there, but it’s hard to explain.

33:11 – John: What are some of the things that they can do to step-into, when they are using these?

33:16 – Guest: That’s why I only have these things about the reducers.

33:48 – Chuck: I am wondering what is the life cycle look like? What do you call a reducer from an effect from an action or vice versa?

34:09 – Guest answers the question.

34:37 – John: It can be confusing with all of these different terms. Where does it end? Your component you have to say: call this action. Perform this action and then the action says get customers – the NgRx library listens for that and helps connect to the reducer for you. Look into the action and then return that to a stream to whatever...

35:29 – Guest: Yes, it sends it to reducers.

Guest goes into more detail.

36:09 – John: You never talk to the reducer directly?

36:17 – Chuck: ...is that something I should have done before – or does it call effects and the effects load the information into the state and the reducer pulls it out for the action?

36:46 – Guest.

36:58 – Chuck.

37:03 – Guest.

37:53 – John: It really depends on what you want to do, Chuck.

John will give a hypothetical scenario.

38:58 – Chuck: In your scenario, let’s say...

39:14 – John: Everything is right up until the end there.

It’s a little magical, honestly. I just know here is my selector and here is my data!

40:17 – Chuck: Selector is essentially I am interested in THIS state or THIS state change.

40:40 – Guest.

40:50 – Chuck: So when that changes...

40:56 – Guest.

40:59 – John.

41:05 – Chuck: A little piece of the overall store.

41:18 – Guest: My tip there was a bout the selectors...

42:30 – Chuck: So I can hand off my selector to multiple places?

42:36 – Guest: Yep. You don’t need to know anything else.

42:44 – Guest: Combine it as needed. Another benefit here is memorization. It says that each time you select pure functions it wont call the function again.

43:42 – I am seeing a trend in your tips, too. I am seeing easier way to code. You are always saying selector technique. There are a lot of terms in NgRx module. Dispatchers and states and stores...it’s nice to have a way to create the code easier.

44:21 – Guest: It does take a lot of time for someone to grasp.

44:30 – Chuck.

44:35 – John: Don’t use the store all over the place – that’s what Adrian says!

44:54 – Guest: I think it’s more like dumb components. I have a container of all of these dumb components. The container is the one that KNOWS.

46:22 – Chuck: It’s just a button.

46:28 – Guest: You click the button and it triggers. Whenever you want to use that component then you...

46:48 – Chuck: Any types of data that you wouldn’t want to use in your NgRx store?

47:07 – Guest: It depends – I am not holding any logging information there, though.

47:51 – John: I like to ask WHY. Property initialization. You are saying...

48:11 – Guest: It’s less code and it’s reasonable. If I can have less code then I’d love to have it. I think it’s cleaner b/c it’s not that much code. Most people might think blah, blah, blah, but I think it looks okay.

48:46 – John: I can see why it would be less code.

48:57 – Guest.

49:07 – John: I haven’t seen this: looking at your property initializer...

Looking at your code here, Adrian...

The store object itself is a reference to the NgRx store. That means you have to...

To me I don’t want my app to know that NgRx is involved. I started to do this...I was creating an Angular service, which...

Have you done this before?

50:33 – Guest:  I have seen this function but I haven’t played with it. It makes sense. This takes it a step further. Like you say it’s perfect b/c nobody knows anything about that store, but it’s a new level. I think you have some benefits with that way of doing it, too.

51:23 – John: The one thing that sticks out is company name is your observable, then your...

52:10 – Guest: Yeah that’s good b/c it might be better! They might not even know what NgRx is, and you have a service so just use them. Yeah it’s just an observable.

52:33 – Chuck: You don’t want to see my garage.

52:44 – Guest: Some services are underrated. Like you suggested we could use them for much more.

53:01 – Guest: It was nice writing these tips.

53:19 – Chuck: What are working on now?

53:23 – Guest: Writing a new blog.

53:41 – Chuck: We will keep an eye out for it. Where do you post?

53:55 – Guest: Usually Medium, and Twitter.

Search for my name and you will find me, b/c I have the same handler on all the places.

54:15 – Chuck & John: Let’s go to picks!

54:30 – Chuck is talking about future episodes and potential topics.

You can vote stuff up on Trello on NgRx so we can go deeper on this topic.

55:40 – Advertisement – Fresh Books!

1:02:00 – Advertisement – Cache Fly!

Links:

Sponsors:

Picks:

John

  • NgRx Data
  • Conferences  - Don’t feel mofo

Charles

Adrain

Nov 06 2018

1hr 2mins

Play

AiA 185: Angular for Java Developers with Yakov Fain

Podcast cover
Read more

Panel:

  • Shai Reznik
  • Alyssa Nicholl
  • Joe Eames

Special Guests: Yakov Fain

In this episode of Adventures in Angular, the panel talks to Yakov Fain about Angular for Java developers. Yakov has worked as a Java developer for about 18 years, and in the last 4 or 5 years, he also started using front-end frameworks like Angular. They talk about what made him switch over to Angular, how it has improved his programming, and when it is best to utilize this framework. They also discuss how Yakov trains Java developers to start using Angular and the two methods he uses to do so.

In particular, we dive pretty deep on:

  • Yakov intro
  • Wrote books on Java and Angular
  • Angular
  • Adobe Flex
  • Why he stopped using Adobe Flex
  • Angular and TypeScript combination
  • Angular is built for large-scale projects
  • Angular is good for creating single-page apps
  • When Angular isn’t that great
  • What he’s looking for in Angular 6
  • Creating widgets
  • Angular Element
  • The programming community looks down on JavaScript
  • CSS
  • Recommends people learn CSS if they are a Java developer
  • The beauty of the industry
  • There is a specific way to teach to Java developers Angular that is easy for them to understand
  • Two major directions in training Java developers
  • And much, much more!

Links: 

Picks:

Shai

Joe

Yakov

Apr 17 2018

1hr 10mins

Play

AiA 179: State of JS with Sacha Greif

Podcast cover
Read more

Panel: 

Charles Max Wood

Alyssa Nicoll

Special Guests: Sacha Greif

In this episode of Adventures in Angular, the panel discuss the state of JS survey with Sacha Greif. This is a survey that is sent out to developers in order to see what people perceive the state of JavaScript is. They talk about his inspiration for creating this survey as well as discuss the data that was collected. This is a great episode for people who want to hear interesting data on JS in today’s current climate.

In particular, we dive pretty deep on:

  • What is the State of JS?
  • 23,000 responses this past year
  • What inspired you to do this?
  • JavaScript
  • Meteor
  • JavaScript fatigue
  • Great snapshot of where people are at
  • Backbone
  • Great tool to detect trends
  • Backgrounds of the people who created this survey
  • Bias in the results
  • GraphQL
  • Correlation vs causation issue
  • Why certain frameworks are scarce
  • Bootcamps are teaching React and Angular now
  • Do you have indications as to why there are increases in some areas and declines in others?
  • Vue is the fastest rising project on GitHub currently
  • Rising Star JS
  • And much, much more!

Links:  

Picks:

Charles

Sacha

Mar 06 2018

1hr 9mins

Play

AiA 193: Angular Libraries with Juri Strumpflohner

Podcast cover
Read more

Panel:

  • Charles Max Wood
  • Shai Reznik
  • Joe Eames
  • Special Guests: Juri Strumpflohner

In this episode, the JavaScript Jabber panelists discuss Angular libraries with Juri Strumpflohner. Juri is a software developer that previously has done a lot of full-stack development with JavaScript and Angular.js on the front-end and C# and Java on the back-end. More recently, he has begun to focus more on the front-end with Angular development as a freelance developer and has created training courses on Egghead. They talk about what an Angular library is, how you can create an Angular Package Format, and much more!

In particular, we dive pretty deep on:

  • Juri intro
  • Create and publish Angular libs like a Pro- Juri’s NG-BE Talk
  • What are Angular libraries?
  • How do Angular libraries connect to Angular?
  • Angular modules
  • Open source as the main use case
  • CSS and Sass
  • Have to follow a certain series of steps to build your libraries
  • WebPack
  • Plunker
  • Server-side rendering
  • Tree shaking things that aren’t used on your library
  • Angular Package Format
  • Component library
  • Secondary entry points
  • How do you go about making a package like this?
  • TypeScript Modules
  • Now have built-in support of Angular libraries
  • ng-packagr
  • And much, much more!

Links:

Sponsors

Picks:

Charles

Shai

Joe

Juri

Jun 12 2018

37mins

Play

AiA 171: Why People Are Sticking With AngularJS (1.x)

Podcast cover
Read more

Panel: 

Charles Max Wood

Joe Eames

Alyssa Nicoll

In the episode of Adventures in Angular the panel discusses why people are sticking with Angular JS (1.x). The panel talks about the pros and cons of working in Angular 1.x. Chuck talks about a quick poll and about those who are still using AngularJS 1.x and not Angular 2.x. The discussion covers resources, expertise, familiarity, community, stability, RXJS, etc. This is a great episode for those who want to learn more about reasons to why some abandon or stay with AngularJS 1.x.

In particular, we dive pretty deep on:

•Why are you still using with Angular 1.x, and not Angular 2.x

  • More people are experts in Angular 1.x
  • Example: Which iPhone are you using?
  • RXJS
  • Changes, Stability, etc.
  • Keeping up with AngularJS
  • Bridging the Gap since 1.6
  • Upgrading to View
  • Working in View
  • Typescript and View working together
  • Comparison to Politics
  • Using Backbone
  • Reason to moving on to new platforms
  • Consider testing and take off the beta tag
  • New versions every month - Typescript, release schedule for Angular
  • Complexities
  • RXJS
  • DSL Decorators
  • Angular 2 material
  • Comparison Charts of Angular 1.x and Angular 2.x
  • Fixing what is not broken
  • Google supporting Angular 1.x
  • NG Doc
  • Wanting to do AngularJS
  • Server-side render rendering
  • I need widgets.
  • Angular 1.x declining
  • and much more!

Picks:

 Charles

  • My Angular Story on Dev Chat TV
  • Indiegogo for View and React, and Elixir
  • JavaScript Daily 

Joe

Alyssa

Jan 10 2018

1hr 18mins

Play

AiA 174: Reducing Boilerplate of Redux/NGRX Patterns in Angular with Austin McDaniel

Podcast cover
Read more

Panel: 

Charles  Max Wood

John Papa

Alyssa Nicoll

Ward Bell

Shai Reznik

Special Guests: Austin McDaniel

In the episode of Adventures in Angular the panel discusses Reducing Boilerplate of Redux/NGRX Patterns in Angular with Austin McDaniel. Austin is an Angular Team Member, he contributes to the material project, is a panelist on the Angular Air Podcast, and much more. Austin talks about the boilerplate issues of Redux/NGRX Patterns in Angular. Austin and the panel discuss the fixes for these once difficult actions with NGRX actions. This is a great episode to understand the reduced boilerplate and libraries.

In particular, we dive pretty deep on:

•Issues with boilerplate

  • Libraries
  • Redux patter for Angular - Advantages
  • NGRX
  • Complexities
  • If you are using and injectable service
  • More resources at: AiA Episode 169 with Jesse Sanders 
  • Question what we are saying!
  • Make sure it is solving problems
  • Store systems
  • Writing an API
  • Command Query Operation
  • Switch Statements
  • Redux Actions
  • Passing String constants
  • Actions and Type
  • Passing the action class
  • Reducers
  • Keeping the project portable
  • Relations
  • Code Generator

•and much more!

Links:  

Picks:

Charles

Alyssa

Ward

John

Shai

Austin

Jan 31 2018

1hr 14mins

Play

119 AiA Avoiding Common Pitfalls in Angular2

Podcast cover
Read more

04:25 - Error message: “Unknown provider”

6:00 - Error message: “Can’t resolve all parameters”

10:00 - Mistakes from Angular’s framework

12:55 - Should I be using relative paths?

17:45 - Error Message: “Ng4 let customer end customer”

19:35 - Error Message: “Component dashboard component is not part of any module”

20:37 - Lazy loading and module errors

33:10 - NgModule for data collection errors

35:30 - No errors schema

39:30 - Syntax errors and decorators

45:25 - Forgetting to add a component to your template

49:30 - Rating Angular 2’s error messages

54:10 -Error Message: Object supporting error for NG4

56:30 - Mapping result errors

1:05:00 - Words for the wise

Picks:

Artisanal Pencil Sharpening (Ward)

Bob and Ray, “Most Beautiful Face Contest Winner”  (Ward)

Plunker (John)

Jamba Juice’s Peanut Butter Chocolate Love Shake (Joe)

Smashburger (Joe)

Tesla Solar (Joe)

Covert game (Joe)

Doctor (Lukas)

Legoland Discovery Center (Lukas)

One Stop Nutrition shakes (Lukas)

Bike Prank video (Lukas)

Born to Win seminar by Zig Ziglar on Audible (Charles)

MindMup2 (Charles)

Devchat Conferences

Devchat Webinars

NgConf 2017

Nov 17 2016

Play

AiA 191: UX in Angular with Tomek Sułkowski

Podcast cover
Read more

Panel:

Charles Max Wood

Special Guests: Tomek Sułkowski

In this episode, the JavaScript Jabber panelists discuss UX in Angular with Tomek Sułkowski. Tomek currently works as a front-end engineer for an app creating company, as well as has been working for Sages running front-end workshops that mostly have to do with Angular. They talk about his blog post, buttons, and improving the user experience. They also touch on the importance of using simple solutions rather than overcomplicated ones, how to teach UI in training, and much more!

In particular, we dive pretty deep on:

  • Tomek intro
  • Tomek blog post: Angular techniques: Improve submit button’s UX by NOT disabling it
  • Use a simple directive
  • The disabled button
  • Think about how the user will use it when coding
  • Using disable submit button when submitting a form
  • Are there other things that people do that hurt their user experience?
  • Making the UI easier for users
  • Looking into animations to improve user experience
  • Angular
  • Angular Router Animations: the tricky bits by Tomek
  • Routing from one path to another
  • Small animations can go a long way
  • The importance of not overcomplicating things
  • What is the approach you take for teaching UI in your training?
  • Know who you’re teaching
  • Buttons
  • Buttons make the interface much more usable
  • Building forms
  • Template based forms
  • And much, much more!

Links:

Sponsors:

Picks:

Charles

Tomek

May 30 2018

42mins

Play

AiA 264: ngTemplateOutlets with Stephen Cooper

Podcast cover
Read more

In this episode of Adventures in Angular the panel interviews Stephen Cooper about his recent talk at Angular Connect. His talk was about ngTemplateOutlets. Stephen answers the questions of the panel about ngTemplateOutlets and explains how and when to use them. He starts by explaining the difference between component outlets and template outlets.

 Aaron Frost, Frosty, asks Stephen to walk through how to make a ngTemplate and explain what it is useful for. The panel considers the various use cases they would use this for. Frosty wonders why he would use a ngTemplateOutlet instead of a bunch of ngIfs. Stephen explains when it would be wise to use ngIfs and when it would be better to use ngTemplateOutlets. 

The panel discusses ngComponentOutlets, Stephen explains how they relate to ngTemplateOutlets and how they give you another level to reusing components. He overviews the best way to use ngComponentOutlets and warns listeners of the tricky parts. 

Stephen shares the best times to use ngTemplateOutlets and overviews some of the common use cases he has seen for them. He explains that they are very useful when creating shareable components or repeating similar chunks of code in a component. He shares some resources to help listeners get started. 

Panelists

  • Aaron Frost

  • Alyssa Nicoll

  • Brian Love

  • Shai Reznik

Guest

  • Stephen Cooper

________________________________________________________________________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon.  Get your copy on that date only for $1.

________________________________________________________________________________________________________________________

Sponsors

Links

Picks

Brain Love:

Alyssa Nicoll:

Aaron Frost:

Shai Reznik:

Stephen Cooper:

  • Visiting museums near you

Nov 12 2019

45mins

Play

AiA 204: "Real Ward Angular"

Podcast cover
Read more

Panel:

  • Charles Max Wood
  • John Papa
  • Alyssa Nicholl
  • Joe Eames
  • Shai Reznik
  • Ward Bell

In this episode, the Adventures in Angular panel talks about what Ward is doing currently, which is working on a large, complex, and involved application that they are using Angular for. They are using this episode to discuss a real-world Angular project or real “Ward” Angular project. They talk a little about what the project is, challenges he has had to overcome, and the differences that come with writing apps in reactivity. They also touch on the idea that “the mystery is part of the pattern,” reactive forms, and more!

In particular, we dive pretty deep on:

  • Get a Coder Job course
  • Angular
  • Ward’s project intro
  • Ward runs a business that builds applications for people
  • Taking lead on a new project
  • ngRx data
  • Redux and RxJS
  • His company makes Breeze
  • Needed an enrollment app
  • Didn’t want to use Breeze, they wanted him to use reactive programming
  • Needed the application to be as simple as possible
  • Why he decided to give reactivity programming a chance
  • Challenges he’s faced
  • Writing enterprise apps in reactivity
  • Immutability
  • Forms over data apps
  • Reactive forms
  • The mystery is part of the pattern
  • Effects
  • Debugging tools
  • Reactive pattern
  • Discovering new ways to code
  • Reactive programming brings in a different set of problems, but it’s not that it’s right or wrong
  • React State Museum
  • And much, much more!

Links:

Sponsors

Picks:

Charles

John

Joe

Shai

Ward

Aug 28 2018

1hr 10mins

Play

AiA 195: Angular for Microsoft Developers with Sahil Malik

Podcast cover
Read more

Panel:

  • Charles Max Wood
  • Alyssa Nicholl
  • Ward Bell

Special Guests: Sahil Malik

In this episode, the Adventures in Angular panelists discuss Angular for Microsoft developers with Sahil Malik. Sahil is a developer that has been in the Microsoft and Angular space for many years. He has been writing for CODE Magazine as well for many years and you can find his articles here. They talk about what he means by the term “Microsoft developer,” Visual Studio vs VS Code, and the pros to using Angular as a Microsoft developer. They also touch on how these developers can transition over to using Angular, the importance of having an open mind to other ways of doing things, and more!

In particular, we dive pretty deep on:

  • Sahil intro
  • Writes for CODE Magazine
  • What do you mean by a Microsoft developer?
  • Azure and Linux
  • .NET Rocks!
  • Microsoft Build
  • Visual Studio
  • Angular is a natural progression for someone in the Microsoft world
  • ngrx and ngrx-data
  • VS Code is a fantastic editor
  • Visual Studio vs VS Code
  • VS Code has plugins for everything!
  • How has working with Angular felt as a Microsoft world
  • His experience in the Microsoft landscape
  • Feels more productive in an HTML based UI
  • XAML
  • Angular shines because it can acage things tightly
  • TypeScript
  • How should Microsoft developers transition over to Angular?
  • Open yourself to the idea of change
  • Get familiarized with node-based development
  • AI
  • And much, much more!

Links:

Sponsors

Picks:

Alyssa

Sahil

  • Electric bicycles

Jun 26 2018

1hr 3mins

Play

AiA 231: Why Angular Developers Should Learn RxJS

Podcast cover
Read more

Sponsors

Panel

  • Charles Max Wood
  • Aaron Frost
  • Joe Eames

Joined by Special Guest: Michael Hartington

Episode Summary

Aaron Frost introduces a RxJS as a trend that is also a fundamental for angular. Aaron Frost  shares his experience at ng-conf where the community was polled, and the topic most people wanted to learn was RxJS. Charles Max Wood brings up a previous podcast where Ward Bell predicts this trend, sharing the opinion that angular developers must know RxJS to be successful. The panels discusses the need to be reactive in Angular and the need to react to this trend by learning RxJS. Michael Hartington and Aaron Frost share an examples to show how RxJS simplifies the work.The panel discusses the switch from NgRx or RxJS, and a few things that might help someone looking to switch. Panelists share how they learned RxJS and how it helped them, even if they were reluctant to learn it. They finish by sharing resources they found helpful in learning RxJS.

Links

Picks 

Michael Hartington

  • Harmonquest

Joe Eames

  • Gravity Falls
  • Dungeons and Dragons

Charles Max Wood

  • Podfest
  • Go out and meet awesome people in the angular community

Aaron Frost

  • Captain Crunch - Crunch Berries

Mar 19 2019

45mins

Play

AiA 219: Testing Angular Applications with Michael Giambalvo

Podcast cover
Read more

Panel:

  • Charles Max Wood
  • Joe Eames
  • John Papa
  • Alyssa Nicoll

Special Guest:  Michael Giambalvo

In this episode, Chuck talks with special guest Michael Giambalvo who is an author of the book titled, “Testing Angular Applications.” This book can be purchased through Amazon, Manning Publications, among other sites, too. The panelists and the guest talk about different types of tests, such as end-to-end testing and unit testing. They also talk about Angular, Java, Mocha, Test Café, and much more! Check it out!

Show Topics:

0:00 – Advertisement: AngularBootCamp.Com

0:53 – Chuck: Our panel is John Papa, Joe Eames, Alyssa Nicoll, and myself. My new show is the DevRev – check it out, please!

1:26 – Guest: I am a contributing author to our new book, which is about Angular.

1:56 – Chuck: How is it like to write with multiple people?

2:04 – Guest: Yep it’s hard b/c we are in different areas. Back in the 2.0 days, Jesse was writing a book. He was talking about typescript and components. Craig made friends with Jesse and they were talking about the book he was writing. Then we all jumped in to get in finished. We all had areas that we were specialists in!

3:21 – Alyssa: If you break it up that makes sense.

3:31 – Guest.

3:40 – Panel: Pick different words and go around the room.

3:51 – Panel: You write the first ½ of a sentence and then you write the other ½ of the sentence!

4:10 – Guest: You have these big word documents and go back-and-forth.

4:36 – Alyssa: Editing and then pass it back-and-forth – how does that work?

4:46 – Guest: It’s like 8 pass backs-and-forth.

5:35 – Guest: The editing was the main issue – it took forever!

5:50 – Chuck: We were going to co-author a book and we didn’t.

Chuck: If you could break down the book in 4 core topics what would they be? Elevator pitch? What is the starting knowledge?

6:18 – Guest: We expect you to know Angular Intro and that’s it!

6:43 – Chuck: What are the principles?

6:50 – Guest: We talk about the testing component. We highlight the benefits of using Angular vs. Angular.js. That shows up in the book a lot. It’s very example driven.

7:28 – Chuck: We have been talking about testing quite a bit on the show lately.

8:22 – Chuck: Do you see people using the testing in regards to the pyramid?

8:33 – Guest: I am not a huge fan of the pyramid. Some questions I ask are: Does it run quickly? Is it reliable? To give you some background I work on Google Club Platform.

10:21 – The guest talks about “Page Level Integration Tests.”

11:31 – Alyssa.

11:50 – Chuck: After your explanation after writing your book I’m sure it’s a breeze now. Knowing these tests and having the confidence is great.

12:13 – Guest: Tools like Cypress is very helpful. Web Driver Testing, too.

12:43 – Chuck: Where do people start? What do you recommend? Do they start at Protractor or do they come down to unit tests?

13:02 – Guest: Finding the balance is important.

14:30 – Chuck: Check out a past episode that we’ve done.

14:40 – Panel asks a question about tools such as Test Café and Cypress.

14:50 – Guest: I really don’t know Test Café. There is a long story in how all of these fit together.

The guest talks about Selenium, Cypress, Safari, Edge, Chrome, Firefox, and Puppeteer!

19:24 – Chuck: Does it work in Electron as well, too?

19:26 – Guest: Good question but I don’t know the answer.

19:39 – Chuck: Maybe a listener could write a comment and tell us.

19:43 – Panel: I’ve used Protractor for many years. I like the explanation that you just gave. The great thing about Protractor is that you can...

20:29 – Guest: We wanted to explain the difficulty of Protractor in this book.

Guest: You have this test running in Node but then you have your app running in the browser. You have these 2 different run times. You might have to run them separately and there is tons of complexity.

21:15 – Panel: As I am coding you have this visual browser on one side, and then on the other side you have...

22:22 – Guest asks the panelists a question.

22:32 – Panel: I have only used it for a few months and a few several apps but haven’t had those issues, yet.

22:55 – Guest: I haven’t heard of Test Café at all.

23:05 – Alyssa: Is the book online?

23:13 – Guest: It’s available through Manning Publications and Amazon. I think we have some codes to giveaway!

23:34 – Chuck: Yeah, we are working on those codes and giveaways. We have mentioned about 5 or 6 tools – are you worried about your book going out of date?

24:05 – Guest: Sure that is something we are worried about. When editing took a long time to get through that was one of my thoughts.

The guest talks about Selenium, control flow, Protractor,

25:45 – Guest (continues): These new features were coming out while the book was coming out – so there’s that. What’s this thing about control flow and why this matters to you, etc. We were able to add that into the book, which is good. We were able to get those instructions out there. Books have a delay to them.

26:47 – Chuck: We talked about this in JavaScript Jabber. This guest talked about this and he is from Big Nerd Ranch. At what point do you have this breaking point: This isn’t a good fit for Test Café or Selenium BUT a good fit for Mocha or Jest?

27:27 – Advertisement: Get A Coder Job!

28:04 – Guest: Do you have a reason why you would switch testing tools?

28:12 – Chuck.

28:41 – Guest: That’s the tradeoff as you move down the ladder.

29:43 – Panel: If you want to trigger an action that isn’t triggerable?

29:50 – Guest answers the question.

30:07 – Panel.

30:20 – Chuck.

30:33 – Guest: You can access code. Usually something in a workflow will make it happen. You have to fall back on some type of UI sort of thing. It’s almost like doing Tetris! I’ve never had to directly call something. I am not the best one to answer that.

31:16 – Panel: It’s like a weird mix of tests.

31:29 – Panelist is talking about unit testing and other tests.

31:55 – Chuck asks a question.

32:02 – Guest: It depends on the scale of your project.

32:28 – Chuck: Do you guys use a test coverage tool or on the side of: everything should run and then test if there is a bug.

32:43 – Guest: Coverage isn’t the full story.

33:26 – Panel: You said you weren’t a fan of the testing pyramid – can you explain why?

33:43 – Guest: I think it turns too much prescriptive.

Guest: I think there are bigger concerns out there and the test pyramid is an over-simplification.

35:22 – Panel: What’s the difference between fast and slow testing?

35:28 – Guest: It really depends on your level of knowledge. If your test suite runs more than twenty minutes to an hour that is probably too slow!

36:03 – Alyssa.

36:09 – Chuck.

36:16 – Alyssa: There is no way that 20 minutes equals that!

36:26 – Guest: 20 minutes is the extreme limit. 

36:51 – Chuck.

37:11 – Panel: Any new Twitter news on Trump?

37:21 – Panelist talks about test suites!

37:40 – Panelists and guests go back-and-forth.

38:11 – Chuck: Do you have any recommendations for the unit testing? Keeping it small or not so much?

38:29 – Guest: Think: What is this test asking? Don’t write tests that won’t fail if some other tests could have caught them.

39:04 – Alyssa: That’s smart!

39:09 – Guest continues.

39:28 – Chuck: What else to jump on?

Chuck: Do you write your tests in typescript or in Java?

39:48 – Guest answers the question. He mentions Python, typescript, and more!

40:17 – Alyssa.

40:22 – Guest continues.

40:46 – Alyssa: How many people worked on that project?

40:50 – Guest: 2 or 3 framework engineers who did the tooling. About 20 people total for tooling to make sure everything worked.

41:18 – Panelist asks a question.

41:22 – Guest: About 20 minutes!

42:35 – Guest wants to talk about the topic: end-to-end testing!

44:59 – Chuck: Let’s do picks!

45:09 – Fresh Books!

END – CacheFly!

Links:

Sponsors:

Picks:

Alyssa

Joe

Charles

Michael

Dec 11 2018

54mins

Play

AiA 222: 10 Lessons Learned in Enterprise Angular Development with Chaz Gatian

Podcast cover
Read more

Sponsors

Panel

  • John Papa
  • Alyssa Nichol
  • Joe Eames
  • Charles Max Wood

Joined by Special Guest: Chaz Gatian

Summary

Chaz Gatian joins the show to discuss his blog post, “10 Lessons Learned in Enterprise Angular Development”. He starts by defining enterprise and the panel dives into the first point of his blog post about not making boneheaded mistakes. Next, the panel discusses utilizing view components and compare the ways they organize their code. Which touches on a couple more points, bubbling your components and packaging only if you are going to share. Alyssa Nichol asks Chaz about teams developing a fun application and breaking out of the research loop.

Links

Picks

John Papa

Alyssa Nichol

  • 8th anniversary today!
  • Blow up Christmas At-at

Joe Eames

Charles Max Wood

Chaz Gatian

Jan 15 2019

50mins

Play

122 AiA Angular 2 Routing

Podcast cover
Read more

1:20 - What is the Angular router?

4:20 - Router links

5:20 - Child routing

7:00 - Defining a router and a path

10:05 - Controlling browser history

11:05 - Push state versus hash state

15:10 - Style guides and best practices

16:45 - Configuring the routes

19:10 - Router guards

26:55 - Resolve guards

30:20 - Lazy routing and eager routing

38:30 - How to get started with routing

Picks:

Oakland Raiders (John)

Fantastic Beasts and Where to Find Them (John)

Rogue One (John)

Catalyst by James Luceno (John)

The Eagle Huntress (Ward)

Evans Mill (Charles)

Aaron Walker (Charles)

NYC City Pass (Charles)

Statue of Liberty (Charles)

Ellis Island (Charles)

Empire State Building (Charles)

Ripley’s Believe It Or Not (Charles)

911 Tribute Center (Charles)

Microsoft Connect Keynote (Charles)

Javascript Jabber (Charles)

iPhreaks (Charles)

Dec 08 2016

56mins

Play

MAS 100: My Angular Story Episode 100!

Podcast cover
Read more

My Angular Story is celebrating its 100th episode today with hosts Aaron Frost and Charles Max Wood. Charles and Aaron tell their stories of how they got into Angular. They compare React and AngularJS.

They also talk about the evolution of My Angular Story and how the show helped Charles learn more Angular. My Angular Story paved the way for more other Angular podcasts such as Angular Air.

Charles and Aaron invite community to tweet to them if they are more agnostic or if they are more framework specific. They also talk about Charles' new book "The MaxCoders Guide To Finding Your Dream Developer Job" that was published on Amazon and became a #1 New Release in several Career and Job Hunting lists. In the book Charles gives a step by step guide on how to find a job as a developer that you will love. One of the tips Charles gives is to specialize, whatever you want to be working on be the expert or the "go to guy" in that area. So if you are working in Angular learn everything there is to know about Angular.

Host: Aaron Frost

Joined By Special Guest : Charles Max Wood

My Angular Story is produced by DevChat.TV in partnership with Hero Devs

Sponsors

____________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Charles Max Wood:

Aaron Frost:

Dec 03 2019

41mins

Play

AiA 267: JavaScript Performance with Tammy Everts

Podcast cover
Read more

In this episode of Adventures in Angular Charles Max Wood joins Tammy Everts at JAMstack Confer. Tammy gives a listeners a sneak peek into her talk about website performance, more specifically JavaScript performance. Charles discusses the performance of Devchat.tv and Google Lighthouse scores. Tammy explains that while Google Lighthouse is good it isn’t completely reliable and can miss chunks of time when your JavaScript is failing and you have unhappy users.

Tammy shares ways to drill down and see how your JavaScript is behaving in the wild. She talks about blocking Javascript which every developer is familiar with and non-blocking JavaScript that has high blocking CPU time which makes for janky sites. Tammy and Charles discuss what CPU is and what it measures. Tammy names resources and tools to help avoid this problem. 

Rules of thumb for avoiding these issues are explained by Tammy. First, Reduce, make sure all the JavaScript needs to be there. Next, Monitor, track your metrics. She also suggests working with vendors and maintaining a performance budget for metrics that matter. The interview ends with a little about Speedcurve and what they do. Tammy is the CXO of Speedcurve. 

Panelists

  • Charles Wood

Guest:

  • Tammy Everts

Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs

Sponsors

Links

Dec 03 2019

12mins

Play

AiA 266: Creating Content in Portuguese with Loiane Groner

Podcast cover
Read more

In this episode of Adventures in Angular the panel interview Loiane Groner about her Portuguese content creation. She starts by sharing her story and how she got into content creation and why she creates content for developers in Brazil. She gives advice on how to get started creating blog content and shares strategies for pushing out posts and organizing post ideas. 

Moving on to video content, the panel share editing, and recording tips. Loiane shares recommendations for editing and recording software. They advise keeping videos short and to be consistent in creating content. Loiane answers questions about revenue and analytics. She also gives advice on dealing with internet trolls. 

The episode ends as Loiane dives into the struggles of learning to code as a native Portuguese speaker in an English based coding language. She explains how translation works and shares opportunities for people to help. The Angular community’s translation efforts are outlined, including translating documentation and their work with ng-Girls.  

Panelists

  • Jennifer Wadella

  • Brian Love

Guest

  • Loiane Groner

Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan

  • Cachefly

Links

Picks

Brain Love:

Jennifer Wadella:

Loiane Groner:

Nov 26 2019

36mins

Play

MAS 099: Aaron Ma

Podcast cover
Read more

Today Aaron Frost welcomes a very cool guest on My Angular Story, Aaron Ma who is an 11 year old software and hardware developer. Aaron mainly focuses on on web development, self driving cars, flying cars, robotics, Python, C++ and machine learning.

Aaron started programming at the age of 5 by teaching himself HTML by watching YouTube videos. He then continued with an Introduction to CSS course. Aaron's father who is a full stack developer also encouraged and helped in his coding journey. Aaron Frost asks Aaron if he can remember what he learned from the first HTML video he watched and whether he thought it was hard to learn.

Aaron Frost asks Aaron for tips on how parents can teach their kids how to program. Because Aaron has such an extensive background with programming already at age 11, Aaron Frost also wants to know how much and how Aaron's dad was involved with Aaron's learning process.

Aaron Frost then wants to know how Aaron taught himself TensorFlow as well as what the developer community can do to support young developers such as himself. Finally Aaron Frost wants to know more about Aaron's interest in self-driving vehicles and whether he considers getting good grades a priority.

Host: Aaron Frost

Joined By Special Guest : Aaron Ma

My Angular Story is produced by DevChat.TV in partnership with Hero Devs

Sponsors

____________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Nov 26 2019

35mins

Play

The MaxCoders Guide To Finding Your Dream Developer Job

Podcast cover
Read more

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is available on Amazon. Get your copy here today only for $2.99!

Nov 20 2019

14mins

Play

AiA 265: Progressive Enhancements with Ire Aderinokun

Podcast cover
Read more

In this episode of Adventures in Angular Charles Max Wood interviews Ire Aderinokun at JAMstack conf 2019. Ire works for Buycoins, a cryptocurrency exchange for Africa. She gave a lightning talk, “Headless Chrome & Cloudinary for progressively enhanced dynamic content on the web”. After giving a brief overview of her talk to Charles, Ire defines progressive enhancement for the listeners. 

Walking through how progressive enhancement works, she explains how Headless Chrome and Cloudinary helped her with the project she shared in the talk. Ire and Charles consider the blindspot that developers experience because they work on high-end devices and how using progressive enhancement helps those who use lower-end devices.

Ire shares her experience with JAMstack and explains how progressive enhancement works with JAMstack. Charles shares his experience using JAMstack. The episode ends with Ire giving advice and resources to help get started with progressive enhancement. 

Panelists

  • Charles Wood

Guest:

  • Ire Aderinokun

Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs

Sponsors

Links

Nov 19 2019

11mins

Play

MAS 098: Ado Kukic

Podcast cover
Read more

Ado Kukic has been a professional developer since the age of 15. He is a developer Evangelist Lead at Auth0 working remotely out of Las Vegas, Nevada.

Aaron and Ado talk about Ado's introduction to Angular and his work at Auth0. Ado has been working wth Angular for the last 7 years. His day to day work at Auth0 is focused on getting out into the developer community talking to developers about authentication access management and securing their applications securing their Angular applications.

Host: Aaron Frost

Joined By Special Guest: Ado Kukic

My Angular Story is produced by DevChat.TV in partnership with Hero Devs

Sponsors

_______________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon. Get your copy on that date only for $2.99

_______________________________________________________

Links

Picks

Aaron Frost:

Ado Kukic:

Nov 19 2019

44mins

Play

AiA 264: ngTemplateOutlets with Stephen Cooper

Podcast cover
Read more

In this episode of Adventures in Angular the panel interviews Stephen Cooper about his recent talk at Angular Connect. His talk was about ngTemplateOutlets. Stephen answers the questions of the panel about ngTemplateOutlets and explains how and when to use them. He starts by explaining the difference between component outlets and template outlets.

 Aaron Frost, Frosty, asks Stephen to walk through how to make a ngTemplate and explain what it is useful for. The panel considers the various use cases they would use this for. Frosty wonders why he would use a ngTemplateOutlet instead of a bunch of ngIfs. Stephen explains when it would be wise to use ngIfs and when it would be better to use ngTemplateOutlets. 

The panel discusses ngComponentOutlets, Stephen explains how they relate to ngTemplateOutlets and how they give you another level to reusing components. He overviews the best way to use ngComponentOutlets and warns listeners of the tricky parts. 

Stephen shares the best times to use ngTemplateOutlets and overviews some of the common use cases he has seen for them. He explains that they are very useful when creating shareable components or repeating similar chunks of code in a component. He shares some resources to help listeners get started. 

Panelists

  • Aaron Frost

  • Alyssa Nicoll

  • Brian Love

  • Shai Reznik

Guest

  • Stephen Cooper

________________________________________________________________________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon.  Get your copy on that date only for $1.

________________________________________________________________________________________________________________________

Sponsors

Links

Picks

Brain Love:

Alyssa Nicoll:

Aaron Frost:

Shai Reznik:

Stephen Cooper:

  • Visiting museums near you

Nov 12 2019

45mins

Play

MAS 097: Stephen Cooper

Podcast cover
Read more

My Angular Story hosts Stephen Cooper,Developer at G-Research from London. Joe Eames guest hosts this week's show to talk about Stephen's journey as an Angular developer and latest contribution to Angular.

In college, Stephen majored in Math and Computer Science and felt that he enjoyed Computer Science aspect more. At G-Research,which is an algorithmic trading platform, Stephen works as a programmer in quantitative research and analysis. Stephen explains where Angular fits in that context.

Joe and Stephen discuss how much math is necessary for working as a developer and Stephen mentions while his background may have helped him in getting the job, he doesn't use math that much in his daily work.

Joe then asks Stephen about the talk he gave at AngularConnect which was Stephen's first major conference talk. Stephen talks about how he prepared for it and the blog piece he wrote about it at dev.to My Journey to AngularConnect 2019.

Host: Joe Eames

Joined By Special Guest: Stephen Cooper

Sponsors

________________________________________________________________________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon.  Get your copy on that date only for $1.

________________________________________________________________________________________________________________________

Links

Picks

Joe Eames:

  • Miniature Wargaming

  • Painting

Stephen Cooper:

Nov 05 2019

46mins

Play

AiA 263: The JAM in JAMstack with Tara Z. Manicsic

Podcast cover
Read more

In this episode of Adventures in Angular the panel interviews Tara Manicsic. Tara is an Angular Developer Experience Engineer at Netlify. Tara explains what she does at Netlify. She explains what Netlify is and introduces the topic for today’s episode, JAMstack. She explains what services Netlify offers and the packages they offer. 

She explains that the JAM in JAMstack stands for JavaScript API Markup, which outlines the best practices of a JAMstack architecture. During her explanation of JAMstack and the benefits of a microservice architecture, she references Smashing Magazine and their switch to JAMstack. 

Tara overviews each letter of JAM and how they affect JAMstack. J or Javascript refers to the use of a JavaScript language, like Angular and others. Tara lists the API’s one might use for the A in JAM. The panel discusses the M or Markup. Markup serves up fast and safe prerendered content. Tara explains what prerender means and it makes the content safer and the sites faster. Tara then overviews the entire JAMstack process and explains atomic deployment. 

The panel considers how JAMstack is picking up in the Angular ecosystem. Tara outlines a few of the benefits seen when using JAMstack and the panel considers the possible use cases. She shares a few real-life examples of the success seen when JAMstack is used in an enterprise application. 

Panelists

  • Brian Love

  • Shai Reznik

Guest

  • Tara Z. Manicsic

Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs

Sponsors

Links

Picks

Brain Love:

Shai Reznik:

Tara Z. Manicsic:

Nov 05 2019

40mins

Play

MAS 096: Kevin A. McGrail

Podcast cover
Read more

Aaron Frost talks to Kevin A. McGrail, Director of Business Growth at InfraShield on this week's My Angular Story. Kevin specializes in cyber security and e-mail security. At InfraShield they specialize in cyber physical security in critical infrastructures.

Kevin explains what cyber physical security entails and how it is different than IT security. It includes both information security and operational security including a wide spectrum from computer access to building access.

Bridging both physical and cyber space security requires Kevin to use a lot of Angular but Angular is only one of the 40 languages Kevin uses in his job. Kevin gives examples of cyber security breaches he runs into and the number one failure he sees all the time is that there is a lack of process that goes from development to QA and then to production. He often asks his clients " if there is a security issue in your code and i give you a one line code of patch for it, how long will it take you to deploy that to production"? and the shorter the answer to that the better the client is in their cyber security implementation.

One of the other issue Kevin runs into often is when clients fork their Angular and then they are hesitant to update their Angular version because of all the security patches they have in place. So that becomes a catch 22 example so Kevin warns against forking Angular because it becomes a big security risk. Kevin goes on to share some of the other common mistakes that companies make that puts at them risk for security.

Host: Aaron Frost

Joined By Special Guest: Kevin A. McGrail

My Angular Story is produced by DevChat.TV in partnership with Hero Devs

Sponsors

  • Sentry– use the code “devchat” for two months free on Sentry’s small plan

  • Adventures in DevOps

  • CacheFly

Links

Picks

Aaron Frost:

Kevin A. McGrail:

  • Learn about regular expressions - Global regular expression (GREP)

Oct 29 2019

41mins

Play

AiA 262: Firebase Features with David East

Podcast cover
Read more

In this episode of Adventures in Angular the panel has fun interviewing David East about Firebase. David starts by sharing what it was like at the recent Firebase Summit in Madrid. There were so many announcements they had a tough time fitting them all into the one-hour keynote address. 

One of the cool new features announced at the Firebase Summit is Firebase Extension, David describes it as serverless without any code. The panel discusses this feature and how it works. Another cool feature announced is Google Analytics for Firebase. This allows you to use Firebase tools in conjunction with Google Analytics. The panel considers the smart things you can do in your app with this feature. 

The next feature the panel discusses is Remote Config which allows you to store data and then pull out that information on demand. If you use the Google Analytics for Firebase you can target specific data for certain audiences. David explains that before this could only be done with native apps. He also explains how in doing this you no longer have to worry about the gtag loader and defines gtag for the panel. 

The panel gets a little off track as David jokingly explains his beef with Aaron Frost, Frosty. Frosty host My Angular Story and a while back had twitted looking for awesome angular stories. David had responded but never heard back from Frosty. Frosty jokingly says he faxed an invite to David. The panel jokes about how awesome David’s episode will be and tells everyone to look out for his episode. 

Getting back on track, David gives more examples of ways to use the Remote Config feature on with the Google Analytics for Firebase. Frosty confesses he needs to get better at looking at analytics. Sharing an example from a company he is currently working for, Frosty explains how they made nearly 2 million dollars just by changing the color of a button. The panel considers how minor changes like that can make such a big difference and how analytics helps you target your audience. 

David shares the story behind writing Angular Fire. Jeff Cross worked on the angular team and started writing angular fire but then left for Nrwl. After Jeff left, David took over and ended up rewriting the entire library. He explains some of the mistakes that they made that led to the rewrite and how he fixed them. 

The panel wonders at David about using Angular Fire and NgRX. David tells the panel that the Firebase console uses NgRx under the hood and shares what he learned while working on it. Using firebase and NgRx can be very confusing because of the mass duplication of responsibility. David’s advice is to let Firebase and NgRx do their own thing and connect the dots with RxJs. 

David discusses Firestore, a very advanced caching system and what you can do with it. Including, working offline and setting security rules. Frosty brings up Firebase Messaging Cues, he explains that it is similar to three-way messaging cues except its n-way. David explains that even though he is intrigued by the idea, he does not approve of the name. The panel considers possible use cases for an n-way messaging cue. David explains some of the costs and benefits of this architecture. 

The episode ends with a discussion of Firebase’s documentation, which is currently a group of markdown files. David defends the simplicity of this documentation style and gives recommendations and resources for those who need more help. 

Panelists

  • Aaron Frost

  • Brian Love

  • Alyssa Nicoll

  • Shai Reznik

Guest

  • David East

Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs

Sponsors

Links

Picks

Brain Love:

  • Bonnie Love

Aaron Frost:

Alyssa Nicoll:

  • David East

David East:

Oct 29 2019

1hr 6mins

Play

AiA 261: Angular Projects with Zama Khan Mohammed

Podcast cover
Read more

In this episode of Adventures in Angular the panel interviews Zama Khan Mohammed about his recent book and other open source work he has done in the Angular community. Zama explains what is so different about his book and why it is worth reading. His book takes an approach different than the common practice of walking readers through concepts, instead, his book walks readers through using a project perspective. 

The first chapter walks through setting up Angular, installing Angular CLI and Angular console. After the set up is complete he walks readers through a very basic flashbase application. Zama explains how this first chapter is geared toward beginners. In his book, Zama shows users how to use the whole platform. He covers PWA and how to create brand new projects from scratch.  

The panel asks him about his unique project perspective strategy for this book. Each chapter of Zama’s book walks the readers through a different project, unlike most technical books that walk readers through one project introducing a different concept each chapter. Zama explains why he wrote the book this way. He wanted to bring different libraries and tools into each project to highlight how deep and rich the Angular community and ecosystem are. The panel shares how the ecosystem and community make Angular so great to use. 

Zama’s book is called Angular Projects and was published by Packt Publishing. Zama shares where to find it for those interested. The panel considers how hard writing a book must be. Zama explains the time and stress involved in writing a book. He admits he has been approached to write more books but has resolved to wait a bit before diving back into writing. 

The panel discusses Zama’s open source efforts in the Angular community. They consider a few of his projects including, ngx-formly, codelyzer, and ngx-loading. He wrote ngx-formly after using formerly and he decided he wanted to use it with Angular 2.0. The panel was impressed with his contributions to codelyzer, where he helped with the accessibility requirements. 

After using react-loadable Zama knew he wanted a similar feature in Angular to provide more control over loading so he built ngx-loadable. The panel defines lazy loading for listeners and explains how having control over what can load and how fast it can load can be useful in applications. Zama shares some of the improvements he has made in version 2.0. 

Zama shares his hopes for speaking at ng-conf 2020, this takes the panel down a tangent discussing the exciting workshops that will be at ng-conf next year. Brian Love will be teaching a two-day workshop on Angular fundamentals. Aaron Frost is teaching and observables class and a reactive angular class. They advise everyone to buy an ng-conf ticket and not to be afraid to submit a CFP. 

Back on topic, Zama shares the challenges in writing, publishing and maintaining an opensource library. He explains how contributing to open source is a great way to learn and a great way to see what a framework can do. He shares advice for those looking to get into open source and invites everyone to try Hacktoberfest.

Panelists

  • Aaron Frost

  • Brian Love

Guest

  • Zama Khan Mohammed

Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs

Sponsors

Links

Picks

Brain Love:

Aaron Frost:

Zama Khan Mohammed:

Oct 22 2019

44mins

Play

MAS 095: Brad McAlister

Podcast cover
Read more

This week My Angular Story welcomes Brad McAlister, Software Engineering Lead at Sapphire Digital. Sapphire Digital does healthcare transparency software for insurance companies. Brad works on a product called Smart Shopper which gives the costs of treatment options for same procedures at different hospitals.

Brad and Aaron discuss healthcare costs specifically how complicated it is. Brad talks about how SmartShopper works.

They then talk about Brad's NG-Conf appearances and the Angular meet-ups he has started. Before he was a developer, Brad worked in IT for 12 years. He learned HTML very early on but he got side-tracked into web hosting rather than web development. He made the transition to development eventually and has been with Sapphire Digital for the past 5 years.

Brad and Aaron talk about what is important for the Angular community and Brad shares there should be a balance between being on the "bleeding edge" of technologies and always falling back on what you know. Aaron asks Brad for an example of something Brad learned to do differently in the past 12 months. Brad then talks about the projects he is working on right now and what he is planning to work on in the future.

Host: Aaron Frost

Joined By Special Guest: Brad McAlister

My Angular Story is produced by DevChat.TV in partnership with Hero Devs

Sponsors

Links

Picks

Aaron Frost:

  • TypeScript 3.7 optional chaining feature

Brad McAlister:

Oct 22 2019

33mins

Play

MAS 094: Philip Fulcher

Podcast cover
Read more

This week My Angular Story welcomes Philip Fulcher, Software Engineer at Hach. Philip gave his first talk at Angular Denver 2019 on Intro to Bazel with Bonnie Brennan Aaron wonders why despite years of developers experience, Philip never gave a talk at a conference before this year.

Philip and Aaron discuss some of the best practices of giving a talk at a conference,one of which is not running over the talk's time limit. They also talk about what it takes to get accepted to talk at a conference. Philip mentions he just submitted a proposal to give a talk in JSConf Hawaiʻi which takes place on February 5th-7th 2020 in Honolulu, Hawaiʻi.

One of the interesting tips Philip shares about giving talks at conferences is how often times you will not be the person that knows the most about that subject in the room. But giving a talk gives you a chance for people to come ask you questions and therefore meeting people that you might collaborate or ask for advice from in the future.

Host: Aaron Frost

Joined By Special Guest: Philip Fulcher

My Angular Story is produced by DevChat.TV in partnership with Hero Devs

Sponsors

Links

Picks

Aaron Frost:

Philip Fulcher:

Oct 15 2019

36mins

Play

AiA 260: NgRx, The Mystical Machine, with Wes Grimes

Podcast cover
Read more

In this week’s episode of Adventures in Angular the panel has fun interviewing Narwhal rocks star and NgRx expert, Wes Grimes. Wes starts by sharing how he got started in NgRx. In a previous company, Wes was the lead architect for a project that had need of a state management solution, so it was his job to figure out how to use NgRx. While figuring it out he created a structure for using NgRx and used that structure to write a blog article about best practices for NgRx. 

This blog article took the world by a storm and now has over 200,00 views. People are now building libraries and courses based on his article. The panel has a little considering the possible searches that lead people to his article. Jennifer Wadella shares some of the weirder searches that have led people to her posts. After their fun, the panel tries to get back on track. 

This article thrust Wes into the world of helping people understand NgRx, what he calls a mystical machine. He explains how this article was only the beginning of learning NgRx and that he is currently working on revising that first post. The main point covered in the article was how to organize the store and how to store it in the file system. It walks through creating angular modules for each slice of the store. The second point is covers heavily is the use of barrels.

The biggest problem Wes see people run into in NgRx is they do not know where all their actions are. He shares the solution he uses for this problem, using a public API to group actions so they are easier to find. The panel expresses their frustration with the hard time the CLI has with barrel files. Wes explains why this is a common problem and shares a solution. 

The panel asks for other gotcha’s to watch for when using NgRx. Wes explains how and what developers miss out on when they fail to use selectors to their fullest. When selectors are used correctly and completely developers receive all the benefits of the testing they do on NgRx. The other benefits are builtin memoization and reusability. 

Another gotcha he warns against is using facades before fully understanding NgRx. This really fires up the panel, who then debates the use of facades in NgRx. Aaron Frost expresses his opinion that NgRx isn’t for everything and that by using facades you may not need to use NgRx. Wes explains that the large companies he works for are already committed to NgRx as their solution and he advises them not to use facades.

Wes explains the downsides of using NgRx, the first is when developers jump in before they understand it and back themselves into a corner. Another downside is the upfront investment cost when learning NgRx. 

The panel jumps in wondering what Wes thinks of hiding those developers unfamiliar in NgRx with a facade. Wes explains how in doing this the team would be compromising architecture in order to avoid teaching developers to use NgRx properly. He clarifies that he doesn’t think facades are bad but in order to use them correctly in NgRx developers must first understand how NgRx works. Aaron explains why when working with developers unfamiliar with angular he advises them not to learn NgRx right away.

Wes shares how he has seen developers misuse facades. When using a facade it entices developers to hop back and for between imperative and declarative code. Aaron jumps in and explains that imperative code in reactive programming is very bad. He invites listeners to go out and learn more about this because it is very important to understand. 

The panel considers strategies to help teams code reactively. Wes recommends requesting data from the server. This pattern is straight forward to implement and handles a lot of the common use cases in the store. Aaron suggests turning off default change detection, doing so will force the programmers to code reactively. Another way suggested is to structure teams separating concerns. 

The episode ends with Wes sharing his experience joining the NgRx core team by working in the documentation, filling in gaps that he found. He also shares what will be coming to NgRx. The platform will be expanding beyond just state management, supplying reactive libraries for angular. They are also getting ready for an experimental release of NgRx component. 

Panelists

  • Aaron Frost

  • Brian Love

  • Jennifer Wadella

  • Shai Reznik

  • Alyssa Nicoll

Guest

  • Wes Grimes

Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs

Sponsors

Links

Picks

Brain Love:

Shai Reznik:

Aaron Frost:

Jennifer Wadella:

Wes Grimes:

Oct 08 2019

51mins

Play

AiA 259: Ngrid with Shlomi Assaf

Podcast cover
Read more

In this week’s episode of Adventures in Angular the panel interviews Shlomi Assaf, talking about ngrid. After some playful banter about the naming of Ngrid, Shlomi shares the reasons behind building ngrid. The company he was working for at the time need a grid, he tested nggrid but wanted something completely opensource, so he built one. He also explains that nggrid caused some problems in their project which made him want something more customizable.

Shlomi explains how much work is needed on the application and asks listeners to contribute to documentation or other areas of the project. Shai Reznik endorses Shlomi as one of the smartest peoples he knows and tells listeners if they want to learn from someone who knows a lot about angular to step up and join this project. 

The panel asks about the challenges Shlomi faced while building this app and what it was like using the CDK. Nggrid has a how company working on it but ngrid has only Shlomi. Shlomi explains that the CDK had a lot of the building blocks need to building blocks to build this application and was the power behind the project. The CDK’s lacks the ability to extend easily which was a challenge. He explains that his biggest frustration while building the application was the drag and drop feature. 

Shlomi shares many of the features he built into the application that even though he built it over a three year period he could do it piece by piece because of the way he designed it. He considers the selling points of the application and shares them with the panel. Shlomi compares ngrid to other grid, explaining how templating, creating columns and pagination are all made easier with ngrid. With ngrid there is also virtual scrolling and you can control the width of each column. 

Next, the pane considers performance, asking how the grid would handle if you loaded thousand or even tens of thousands of records and data onto the grid. Shlomi explains that unless the cells were extremely complex that ngrid’s performance would not suffer. The panel how ngrid could work with serverside rendering but not with NativeScript. Shlomi explains version support and advises listeners to use Angular 8.

The panel ends the episode by sharing information about next year's ng-conf. Tickets go on sale on October 1, 2019, the best deals go fast so watch out for them. Many of the panel will be there, Brian Love will be giving the Angular Fundamentals Two-Day Workshop. The CFP also opens October 1, 2019, and will close January 1, 2019. Aaron Frost invites anyone who would like to submit to reach out to the veteran panelists to nail down ideas for their conference proposals. He also recommends submitting more than one. 

Panelists

  • Aaron Frost

  • Brian Love

  • Jennifer Wadella

  • Shai Reznik

  • Alyssa Nicoll

Guest

  • Shlomi Assaf

Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs

Sponsors

Links

Picks

Brain Love:

Shai Reznik:

Aaron Frost:

  • Connecting with your children

Shlomi Assaf:

Oct 01 2019

44mins

Play

AiA 258: Angular Architecture with Manfred Steyer

Podcast cover
Read more

In this week’s episode of Adventures in Angular the panel interviews Manfred Steyer, the creator of ngx-build-plus and angular architecture expert and consultant. Ngx-build-plus is a way to extend how the CLI is doing its build. Manfred explains how ngx-build plus works in two different ways. The first is that it provides a partial webpack configurations file that merges with the webpack configuration that the CLI is using. The second, it provides a plugin with free methods that influence the CLI. 

Manfred consults with companies on architecture, he explains that the main problem when people take a simple application and make it complex, big, with a lot of entities and forms. This makes it difficult to manage in the long term. He borrows ideas from domain-driven design to help these companies structure their applications. 

Strategic domain-driven design is one of the main strategies he uses when structuring an application. Strategic domain-driven design is subdividing a big application into subdomains, then modeling those subdomains separately. By modeling the separately, the coupling is limited. This makes it easier to change parts of the code without breaking anything unrelated in the application. 

The panel asks Manfred for recommendations for using domain-driven design in their architecture. Manfred recommends using libraries within monorepos and outlines the benefits. Using this method creates isolation, you can’t easily access everything in the library because of the public API. Manfred explains how a public API works like a facade. 

Nx is the recommended tool for the monorepos, as it adds many great features to the CLI and is not as heavyweight as other monorepo solutions. Manfred explains one of his favorite features called tagging. This restricts which libraries can access another library. The panel discusses some examples of tagging. 

The panel wonders about Manfred’s opinions on state management solutions. Manfred explains that he doesn’t believe that every application needs a state management solution. When used at the wrong time a state management solution is an overkill. He also explains that not using a state management library does not make someone a bad person.

The panel discusses how you know if you need a state management solution. Manfred indicates two things to look for when considering the use of a state management library. First, is there a lot of state? Second, is the state going to be used by many different components? 

If you are not sure he recommends starting with a facade and adding a state management library later if needed.  The panel explains what a facade is. A facade is when you combine a lot of systems under a single API, like jquery. Manfred gives an example of what a management facade should look like. The panel shares experiences explaining how it works and gives advice and examples of using a facade. 

The topic turns to the importance of testing. Manfred shares his testing philosophy, asking how do you sleep at night knowing you have to change a part of the application? Does it scare you because you know you are going to break everything in a terrible and painful way? Or, Do sleep soundly because you know you are safe to do what needs to be done. Shai Reznik equates this to the shake meter, how much does your hand shake when you push the button to execute a change.

Manfred’s recommends starting with unit testing, testing where you need it and avoid a testing coverage goal. Unit testing he explains are more stable than end-to-end testing. You do need end-to-end testing but very little in comparison to unit testing. Aaron Frost shares the tool protractor flake as a way to combat the flakiness of end-to-end testing.

Manfred explains that there are two common mistakes people make in their angular architecture. The first is over-engineering and under-engineering an application. He explains the problems that arise with each and how to combat this problem. The sweet spot can be found by knowing what you want, finding the right structuring to fit what you want. 

The panel wonders how to measure the cleanliness of code in an application. Manfred recommends looking at each indirection and deciding if it is necessary. The panel explains what indirections are, an example is event mechanisms, you can’t see a direct effect. The panel discusses NgRx as an indirection framework. Manfred warns not to use NgRx all the time only when you need it.

This launches the panel onto a tangent of choosing tools and how to weight the pros and cons of each tool. The phrase “use it when you need it” is considered by the panel, the genericness of the phrase is discusses. The panel advises new developers who don’t have the experience to gauge if they need something or not to do the research necessary to understand a tool and to experiment with it. 

The panel comes back to the other common mistake made with architecture which is chatty applications. Applications that send thousands of requests to the backend causing the application to slow. The panel considers why this happens. Aaron explains the concept of affordance and how this results in chatty applications. 

Panelists

  • Aaron Frost

  • Brian Love

  • Shai Reznik

Guest

  • Manfred Steyer

Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs

Sponsors

Links

Picks

Brain Love:

Shai Reznik:

Aaron Frost:

Manfred Steyer:

Sep 24 2019

1hr 8mins

Play

AiA 257: The Easiest Way to use Angular Elements with Tomas Trajan

Podcast cover
Read more

Episode Summary

In this episode of Adventures in Angular Tomas Trajan, an angular elements expert, breaks down how to use angular elements for the panel. Tomas explains that angular elements are great for very specific use cases. 

Tomas starts by describing a scenario with a large enterprise with tens of developer teams and hundreds of developers, they have a few choices on how to organize their applications. The first option is a messy monolith. The second option is using monorepos and Nx. The final option is to use a multi-spa solution.

Tomas explains how the multi-spa solution works. This solution consists of 80 stand-alone applications, on the same page and share components. Tomas outlines the common problems when using the solutions and how using angular elements combat those problems.

The panel moves on to considers how you know if you should use angular elements in this way. Tomas provides two questions to ask yourself when deciding whether or not to use angular elements. The first question is, are you in a multi-spa scenario? The second question is, are components shared across applications? If the answer is yes for both of those questions then angular elements can only help the situation. 

In last week’s episode of Adventures in Angular the panel interviewed Victor Savkin about using monorepos and Nx. The panel asks Tomas to compare the strategy of using monorepos and Nx to his strategy of using multi-spa with angular elements. He explains why an enterprise might choose multi-spa over monorepos. He also gives the reasons the organization he is working with chose to work with multi-spa. 

Aaron asks for clarification for using elements in these multi-spa projects. Tomas goes into great detail, breaking down the way multi-spa and angular elements work together. They walk through it together using consumer profiles as an example.

Tomas explains that using his approach all the applications update components all at once using angular elements. The panel considers the benefits of using Tomas’s approach and which scenarios it would work best for. Aaron expresses his appreciation for all the work Tomas did and the problems he overcame then bundling his solution in a library together so developers can just use it without all the pain.   

The library can be found on Github. Tomas tells the panel that there has already been some community contribution to the library. He describes some of the pull requests they have received along with the plans they have for angular elements. 

The topic turns to mismatched versioning and how the bundle will work. Tomas explains that the only problem they have seen with mismatched versioning is with zone.js. He shares some workarounds to the problem and promises that they are working on a solution. 

The episode ends with the panel listing all the major benefits that an enterprise can gain from using the multi-spa and angular elements approach. It will save them money, allow teams to work together, create and isolation. Tomas also shares some of the new features available in angular elements today. 

Panelists

  • Aaron Frost

  • Brian Love

Guest

  • Tomas Trajan

Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs

Sponsors  

Links

Picks

Brain Love:

Shai Reznik:

Aaron Frost:

Tomas Trajan:

Sep 17 2019

48mins

Play

AiA 256: Debunking Monorepo Myths with Victor Savkin

Podcast cover
Read more

Episode Summary

Victor Savkin, former angular team member and now cofounder of Narwhal Technologies Inc or Nrwl, returns to Adventures in Angular to teach the panel about monorepos. Victor starts by explaining what monorepos are and why you might need one. Monorepo style development is when multiple projects developed in the same repository and the tools used to manage code between those apps. 

There are many benefits to using monorepos as Victor explains to the panel, such as sharing code between apps. Monorepos help you see what's going on in reality as well as helps you take control of the structure of your code. It also allows for more interesting deployment strategies. Victor talks briefly about his time at Google, working on the toolchain and using a large monorepo.

After the panel asks about the costs of using a monorepo strategy, Victor explains that there are many perceived costs that are actually false or easily overcome. The first perceived cost he tells the panel about is how people get confused and believe that apps have to be deployed together when they really have to be developed in the same repository. The second is the fear of misplaced ownership, that some other developer will come along and ruin their code. Victor explains that ownership can be configured and controlled so that no one you don’t trust can touch your code. 

The next myth developers believe about monorepos is that it doesn’t scale and especially when it comes to performance. Victor explains that when the app is set up correctly and testing used correctly this isn’t a problem. The final perceived cost is that Git will break. Victor debunks this by explaining that you would have to be doing extremely well in order for Git to be a bottleneck and even then there are ways around that problem. 

Victor explains the one real cost and that is you have to change the way you code. The panel discusses a few different coding styles. Victor recommends getting used to single version policy and trunk-based development. He defines trunk-based development, explaining how it works and why it is better for monorepos than long-range branch development. 

Victor sees two types of groups who want to get started in monorepos and he explains what they most commonly do wrong. The first is greenfield projects who jump right in without thinking about it and eventually crash. The second is teams with a giant app and through a monorepo in hoping it will help them structure their app. He explains there is a right way to start using monorepos in both situations.

Asking the important question is how to get started. Agreeing upon the structure, naming, ownership, are you going to build the frontend and backend in the same repo, and the answers to a bunch of other questions will affect your work the most, even more than the tooling you use. Some of these answers will be specific to your company where others will be universal, like naming and ownership. 

With other tools for monorepo out there, the panel asks Victor why Nrwl decided to build their own tool. Victor explains that the current tools on the market do not do it all. Lerna only does one thing great and Bazel is very selective on who can run it. Nrwl is hoping to marry Bazel to Nx, so they can allow everyone to use Bazel. They want Nx to support all tools and even Windows. 

The panel wonders if Nx is perfect. Victor explains that it nearly there. Nx is pluggable and easy to use. It is easy to learn. Victor explains that they really care about developer experience at Nrwl. Nx is free and opensource so everyone can give monorepos a try. 

Resources for learning about monorepos are discussed. Victor invites everyone to watch the ten-minute getting started video on the Nx website. He also lets the listeners know about a new book coming out mid-September and it will be more organizational based than the last. The panel wants to know what comes with Nx. Victor explains that Nx gives you modern tools by setting up Cypress, Jest and other tools for you.

Because Nrwl is a consulting firm, the panel hopes that Victor will have an update on the trends. Victor shares his view that trends don’t really tell you anything about the true status of a framework. How many downloads a framework has doesn’t show the longevity of that framework. Frameworks being used to make large scale apps that will be around for years is how you can tell the longevity of a framework. From that perspective, Victor feels that Angular is doing really well. 

To end the episode, Shai Reznik recalls how passionate Victor was about NgRx a few years ago. He asks Victor if he still feels the same way as before. Victor explains that NgRx is pretty well most of the time, has great docs, is well maintained, and he would still recommend it.

Panelists

  • Jennifer Wadella

  • Brian Love

  • Shai Reznik

  • Alyssa Nicoll

Guest

  • Victor Savkin

Sponsors  

Links

Picks

Brain Love:

Alyssa Nicoll:

  • Caffeine Content Warning!

Jennnifer Wadella:

  • The Fall Season

  • NGD Conf

  • Laptop Safety at Conferences

Victor Savkin:

Shai Reznik:

Sep 10 2019

1hr 9mins

Play