Goodiebag

Blogpost

NG-BE 2021 | Not just about tech talks

NG-BE 2021 is a 2-day event in Ghent, Belgium, that brings together Angular developers and experts from all over the world to share ideas, news and opinions about Angular.

As the title of this blog article already states: NG-BE is not just about tech talks! It is commonly known that it is one of the cosiest Angular conferences. In between the talks there is plenty of time for networking with fellow attendees, the speakers, and the core team. Everyone is very accessible for questions or a chat.

About NG-BE

NG-BE’s first edition took place in 2016. It is organised by Jurgen Van de Moere and Sam Vloeberghs together with an amazing core team. Since last year’s edition (2020) could not take place due to the Corona situation, this year the 5th edition of NG-BE took place on December 2 and 3.Corona is still among us and therefore the NG-BE team did their ultimate best to organise the event to make it as safe as possible. In my honest opinion, they did a great job!

Besides the continuous self-tests by the core-team before and during the event, the following measures were taken:

  • Covid Safe Ticket and body temperature check at the entrance
  • (Really comfortable) FFP2-grade masks were available
  • Wearing a face mask was mandatory at all times inside the venue (except when seated during breakfast / lunch / breaks)
  • No more than 6 people per table
 

The Venue

Before I actually move on to sharing my NG-BE experience, I will give you my opinion on the venue, The Holiday Inn Ghent Expo Hotel:

  • Comfortable hotel rooms
  • Great food and sufficient coffee machine spots (important for developers)
  • Enough parking spaces (with charging stations)

I can think of only one improvement: a cinema-like room with more comfortable seats. The chairs provided in the conference room are not that comfortable. For me it was the second time at NG-BE and I attended both the workshop day and conference day. Further in this article I will describe my experiences and key takeaways.

 

Workshop Day!

On the first day NG-BE organised 5 workshops on different topics:

  • Develop at scale with Nx Monorepos
  • Leveling up on Angular security
  • Angular-based micro frontends with module federation
  • Webassembly meets Angular
  • Typescript type system deep dive

I chose the ‘Typescript type system deep dive’ workshop hosted by Stefan Baumgartner. Stefan is an Austrian developer, speaker, writer, event organiser, Belgian beer lover and Typescript guru. Unfortunately Stefan was not able to travel to Belgium and give his workshop in person. We had the choice to either follow the workshop from home or together with other developers in one of the venue’s meeting rooms. I choose the latter.

As the title of the workshop says ‘Typescript type system deep dive’ you can read it as ‘… deep deep deep dive’. I think you can imagine that my brain exploded at some points when I tell you that normally this workshop is given over multiple days.

Stefan started the workshop by giving an overview on the type hierarchy in Typescript and its primitive and complex types. Along the way we went from union and intersection types, to type inference, to generics and much more. All topics were explained step by step in a very understandable way. Stefan combined his slides with live coding examples where he started from plain javascript and added more and more typescript power.

After each topic, we had time to use the gained knowledge to solve various exercises provided by Stefan via Typescript playground. It was curious to see the different solutions of the workshop attendees.

At the end of his workshop Stefan popped open a Leffe and was even a bit emotional about not being able to be there in person (which proves again that NG-BE is more than tech talks only).

Key takeaways:

Book Typescript

  • Type any is fine as long as it is explicit and well thought of
  • Not new for me, but still funny: NaN (Not a Number) is of type number
  • In the past I spent too little time on building an understanding of how TypeScript works. Understanding how Typescript works and knowing about the different features will help you write better code. Besides that it will also help you to prevent and solve bugs.
  • All participants received a hard-cover version of Stefan’s book ‘TypeScript in 50 lessons’ published by Smashing Magazine. I will definitely dive into the book and its attached exercises.
  • Stefan has a blog with very interesting articles and guides
 
 

 

 

 

 

Conference Day!

After a very interesting workshop, a delicious pizza at Pane & Vino, some drinks at the hotel’s bar and some sleep, it was time for the second part of NG-BE. As in the previous editions, day 2 is filled with a single-track conference. 11 talks of about half an hour, 3 lightning talks, some sponsor talks and not to forget enough breaks to get a coffee and a snack, some fresh air, and to network with the speakers and other attendees. 

NGBE conference program

Let me describe how I experienced these talks as I did with the workshop day. I choose to reflect on 4 of the talks which for me were the most interesting and inspiring talks for different reasons.

JavaScript – Generators | Pete Bacon Darwin @petebd

Pete Bacon Darwin, cool name, right? Besides that name, Pete is way more than that. He is an Angular core team member and organizer of AngularConnect.

The title of his attracted me because I already heard about the term generators in JavaScript, but to be honest I never really dived into it. Apparently I am not alone because Pete thinks that it is ‘a powerful but undervalued tool for Javascript programmers’.

Pete started talking about iterables (things that can be iterated over) and iterators (the thing that does the iterating) because understanding those concepts simplifies understanding generators (a special kind of iterator) and generator functions (special functions that return a generator). 

The goal of this article is to inspire you and to encourage you to read more about these topics, so I will not go into the technical details for now. Feel free to check out Pete’s presentation and further explore the world of javascript generators.

After Pete explained to us how generators work, he also provided some use cases. One of the cases where he thinks generators can be useful is NgRx actions. These actions can become complex with pure RxJs. He gives an example on how redux-sagas and generators are a possible improvement.

Personally I was not immediately convinced, but I will definitely read more on this topic.

Flexible data flow architecture | Maria Korneeva @BrowserPerson

For Maria this was the first time giving a talk at an in-person conference, but that was not noticeable! She has a great English accent and prepared a good looking and well structured presentation

Unlike Pete’s talk, the subject of her talk was not new to me. Nevertheless she succeeded in giving a good overview of possible ways to pass data within components, between components and between apps.

Despite my own familiarity with this topic, I find it relevant to share this talk as this is an important aspect of your application, especially for large scale enterprise applications. As an example there is the concept of smart and dumb components where typically the child(ren) are dumb and the parent is smart, but sometimes it is worth to access data from within the child component and not pass the data through a whole bunch of other components. There is no single truth here, it is a matter of  making well-considered decisions.

Flexible data flow architecture in Angular

Nx for Angular developers | Jeff Cross @jeffbcross

Jeff Cross is an ex-member of the Angular core team and co-founder/CEO of Nrwl, which is the company behind Nx.

For those of you who do not know about Nx yet, I invite you to check the docs, but in short Nx is a framework which helps you architect, test and build at any scale. Nx comes with fully integrated support for modern tools and libraries like Jest, Cypress, ESLint, Storybook, NgRx and more. 

Nx is very useful for a monorepo, but a monorepo is not a must for using Nx.

Personally I already have some experience with Nx and I really like it. It makes development faster and helps you structure your apps, libraries. A really useful feature in Nx is the ability to only test or build affected libraries or apps. It was interesting to see that Nrwl is still expanding the Nx product (e.g Built-In support upon Webpack 5 module federation to easily create micro frontends).

Jeff is a great speaker, but at some points the talk felt a little too commercial, which I think is not necessary because if you have a great product (which Nx definitely is in my opinion), the community of developers will pick it up automatically.

The past, present and future of Angular | Igor Minar @IgorMinar

I don’t think this guy needs an introduction, but for the sake of completeness I will give it a try. Igor is one of the first people who got involved at Angular. It was Miško Hevery who asked him to look at his project GetAngular. Later AngularJS was adopted by Google. Igor worked at Google as the super tech lead of Angular. 

Few days before NG-BE took place, Igor announced that he will leave the Angular team and Google.  

This was not a regular talk but a fireside chat, hosted by Jurgen Van de Moere and Carmen Popoviciu. As an intro the three of them introduced each other and afterwards there was plenty of time for the audience to ask questions to Igor by use of sli.do. The hosts and the audience asked various questions to Igor and he answered them one by one, but a few things I remember the most:

  • Igor would not have been able to leave the Angular team without knowing that the team would be able to handle it.
  • The Angular team is quite small knowing that they work on Angular, support about 2500 Angular applications at Google (which at some point in time were all broken because of a mistake) and support the community by answering questions, reviewing pull requests,… So be kind to them even if there is latency in their response or they do not approve your pull request.
  • According to Igor, seeds are planted to make a great future for Angular, but it is important to keep watering the plant (e.g. angular upgrade)
 

To (ng-)be or not to (NG-)be

As years pass by and my experience as a developer grows, obviously I see less things that are completely new to me at conferences than at the beginning of my career. This does not mean going to a conference like NG-BE has less value than before. It is still useful to see the insights of the speakers on the different topics. 

Seeing the passion and love for the community is inspiring. It motivates me to keep learning every day, which is important as a developer because everything evolves so quickly. 

If you get the chance to attend one of the next editions of NG-BE, I would definitely advise you to do so and experience it for yourself! A big thank you to all the people involved in making NG-BE happen and to Continuum for giving me the opportunity to join the event!

Schermafbeelding 2021 12 09 om 17.23.48

Ben Daenen

Front-end Crafter

Strongly motivated coding enthusiast, constantly looking for innovation and optimization. I am a social person who is able to work both in individual and team scenarios. For me, readable and qualitative code is a must, but besides that I also have an eye for usability and user experience.