<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lex Kuncevic</title>
    <description>The latest articles on DEV Community by Lex Kuncevic (@kuncevic).</description>
    <link>https://dev.to/kuncevic</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F182905%2F3c88c8a8-a4bc-4724-99b4-b7c8610d8bee.png</url>
      <title>DEV Community: Lex Kuncevic</title>
      <link>https://dev.to/kuncevic</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kuncevic"/>
    <language>en</language>
    <item>
      <title>ng-conf 2022 highlights</title>
      <dc:creator>Lex Kuncevic</dc:creator>
      <pubDate>Sun, 25 Sep 2022 11:47:44 +0000</pubDate>
      <link>https://dev.to/playfulprogramming-angular/ng-conf-2022-highlights-8dp</link>
      <guid>https://dev.to/playfulprogramming-angular/ng-conf-2022-highlights-8dp</guid>
      <description>&lt;p&gt;I arrived at ng-conf in the evening on the 31 of August right at the time when registration should  already  be opened. The conference kicked off with the Misko’s Hevery workshop “Building Fast WebApplications” and I was looking forward to attending it. However, turned out I was 1 hour late for this one because I didn't really know there was an 1 hour time difference between California and Utah 😿. Next time if I travel from California to Utah I will keep in mind Utah is running one hour ahead 😀&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwben3g9gjnrkxl1wxxby.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwben3g9gjnrkxl1wxxby.jpg" alt="2022-09-14 11.09.55.jpg" width="800" height="578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So this evening I met a lot of people who I haven't been seeing in person: Misko Hevery, Shai Resnik, Jordan Powell, Joaquin Cid, Ryan Hutchison, Brandon Roberts, Alyssa Nicoll. Most of the people were really tired after the flight however were happy to get together and I had a chance to discuss a lot of things with Misko Havery who is now building a new framework called Qwik and Shai Resnik who was an official MC for the ng conf 2022.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdflv1wexas5phej0oysx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdflv1wexas5phej0oysx.jpg" alt="20220831_090503.jpg" width="800" height="1071"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qqrryie99a8a5z6v08g.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qqrryie99a8a5z6v08g.jpg" alt="20220831_115700.jpg" width="800" height="1133"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The 1 of September was the official first ng-conf day that started with an awesome breakfast followed by a keynote from the Angular team and single track talks by the end of the day. On this day I managed to attend a few talks: “Angular TDD” by Shai Resnik, “Standalone Components” by Pawel Kozlowski and “Angular: A design review 10 years later” by Jeremy Elbourn and Alex Rickabaugh. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff3mvboqe0qbduxg1ofr6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff3mvboqe0qbduxg1ofr6.jpg" alt="20220831_175022.jpg" width="800" height="1110"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0b0zcevhtcc031cogkfe.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0b0zcevhtcc031cogkfe.jpg" alt="20220831_175039.jpg" width="800" height="582"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdv4sob2gmiapvrbar1l8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdv4sob2gmiapvrbar1l8.jpg" alt="20220831_175152.jpg" width="800" height="592"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8xk6yyqb0ywwyntymxqx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8xk6yyqb0ywwyntymxqx.jpg" alt="20220831_175444.jpg" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the evening a lot of conference attendees split up into small groups and headed for dinner in different directions. Our group went to a place that has the most fun waiter that can serve Heineken -1 and Heineken -0 🤣🤣🤣  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmza715eovtqf6f09ivg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmza715eovtqf6f09ivg.jpg" alt="20220831_184808.jpg" width="800" height="1307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The next day was kicked off by a yoga session at 7:00 but it was not possible for me to wake up so early so I had to skip that experience. This day there were 2 different tracks, in other words multiple talks were running at the same time so if you visited one you would miss the other. Still I have an opportunity to catch up on all missed talks once they will be pushed online. &lt;/p&gt;

&lt;p&gt;It was great to chat with people from Crunchbase, Ag Grid, Fidelity, Cypress, Syncfusion, Rangle, Octa, Herodevs, Nrwl, JetBrains, Advancedmd, Ionic and many others who were hanging around the conference booths. On the second day I met even more people whom I had not known in person before: Deborah Kurata, John Papa, Ward Bell, Dan Wahlin, Aaron Frost, Joe Eames, Jeff Cross, Mike Brocchi, Eric Slack, Manfred Steyer, Alex Okrushko, Michael Hladky, Isaac Mann and many many others. It was so great to meet you!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo4t5wlgnk53zcz84zq9m.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo4t5wlgnk53zcz84zq9m.jpg" alt="20220901_102247.jpg" width="800" height="831"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpsapcuzd2u6vjr1wa4rf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpsapcuzd2u6vjr1wa4rf.jpg" alt="20220901_161122.jpg" width="800" height="990"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fott4b7fnjgz2i5ehkj6h.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fott4b7fnjgz2i5ehkj6h.jpg" alt="20220901_163614.jpg" width="800" height="617"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This time the evening was full of events like Angular Pull request workshop, Karaoke party, Board games, Trivia and more. I attended the board games and played this new game I had never played before called Coup. It was really exciting and fun experience playing this game. &lt;/p&gt;

&lt;p&gt;Oh, and I forgot to tell you about my secret mission for the conference.  Me, Joaquin Cid and Ryan Hutchison had to distribute the NGXS t-shirts, the mission was originally planned by Mark Whitfeld - the NGXS team lead. The idea was just to spread a word about NGXS around ng conf attendees and reward NGXS users with some swag. The mission was successfully accomplished by the third day of the ng-conf and helped to chat with even more cool people around there.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo5rrddydzbx5t3uuybi4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo5rrddydzbx5t3uuybi4.jpg" alt="20220901_155746.jpg" width="800" height="682"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fstmd2xf4nug3v1hnmyop.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fstmd2xf4nug3v1hnmyop.jpg" alt="20220901_161657.jpg" width="800" height="591"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F289pwb10fmtw0svidyq7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F289pwb10fmtw0svidyq7.jpg" alt="20220901_144936.jpg" width="800" height="580"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The third and the last day of the conference started with another yoga session that I skipped again. I love yoga but it was quite challenging to wake up early in the morning during the conf. The breakfast was followed up by Community Keynote and another series of awesome talks. On the third day I met people like Jonas Rexeke, Martin Kristell, Jason Warner, Sam Julien, Stephen Cooper and Joey deVilla who joined the Karaoke playing accordion live making Karaoke even more fun. It was great to chat to all of you guys!&lt;/p&gt;

&lt;p&gt;I didn’t have a chance to stay up until the end of all events because I had to leave early as I planned to be in Vegas before the sunset. It is about a 6 hours drive from Salt Lake City to Vegas. However just before I left I took part in trivia organized by Adrienne Marshall and Melissa Garrett from Rangle. It was great fun answering all the Angular-related questions and actually winning the awesome Raspberry Pi Pico as a prize! Great finale of my first ng-conf!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frqcjcwr9g7dappa6wee2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frqcjcwr9g7dappa6wee2.jpg" alt="20220902_133913.jpg" width="800" height="1249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also on this day I made a promise. Awesome people from Octa gave me an ng-conf-2019-themed rubik's cube with a bit of history. I told them it would be passed to someone else the next year at ng-conf 2023. So I have no chance to miss the conference next year!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fimikc5p8l7uggjsi30fn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fimikc5p8l7uggjsi30fn.jpg" alt="20220831_134506.jpg" width="800" height="867"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I left the ng-conf at about 3pm with a lot of memories and confidence I am coming back in 2023!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqpzmbwlmo29qykw6l7s.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqpzmbwlmo29qykw6l7s.jpg" alt="20220902_105115.jpg" width="800" height="613"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you everybody for discussions, coworking and conference organisers for this terrific experience!&lt;/p&gt;

</description>
      <category>angular</category>
      <category>travel</category>
      <category>ngconf</category>
      <category>angularcommunity</category>
    </item>
    <item>
      <title>Road trip from San Francisco to Salt Lake City</title>
      <dc:creator>Lex Kuncevic</dc:creator>
      <pubDate>Thu, 15 Sep 2022 05:50:54 +0000</pubDate>
      <link>https://dev.to/playfulprogramming-angular/ng-conf-2022-road-trip-from-san-francisco-to-salt-lake-city-1dml</link>
      <guid>https://dev.to/playfulprogramming-angular/ng-conf-2022-road-trip-from-san-francisco-to-salt-lake-city-1dml</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This is a followup story for &lt;a href="https://dev.to/this-is-angular/traveling-to-ng-conf-and-visiting-us-for-the-first-time-4d29"&gt;Traveling to ng-conf and visiting US for the first tim&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;San Francisco was my starting point for travelling to ng-conf. I did spend 3 days around here but still have a feeling that I haven’t visited all the cool places in the area.&lt;br&gt;
Being an experienced bicycle rider I was really enjoying riding from the city centre all the way through the Golden Bridge. The most intriguing part of that ride was that the Golder Bridge was often fully covered by the enormous cloud and so technically was not visible at all. However shortly on the way back the cloud wasn’t there that opened all the views. Riding through those clouds was quite fun and always unexpected. Indeed, San Francisco is for a reason called a city of winds and fog.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwbb5t8yrrlertyv2vj7a.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwbb5t8yrrlertyv2vj7a.jpg" alt="The fickle Golden Bridge" width="800" height="358"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It was a great meeting with my friends who are currently based in Silicon Valley, which is located about 80 km from the City Centre. So I had a chance to see the city and do my business.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvgvxuo7csg6oesoswrbq.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvgvxuo7csg6oesoswrbq.jpeg" alt="Google" width="800" height="1348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It was great to visit the San Francisco Google Office. I should say that the view from that office is quite stunning! But the way cooler was to meet Angular Team in person! Minko Gechev, Emma Twersky, Mark Techson. Thank you for lunch and conversation! Hope to see you soon again, maybe in Australia?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2h09ixp2knygqy6g4ljd.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2h09ixp2knygqy6g4ljd.jpeg" alt="Googlemates" width="800" height="654"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the most famous parts of the Valley is Private Research Stanford University, a place where smartest minds are raised and great ideas are born. Visiting the place is like diving in a fountain of knowledge. I was really impressed and happy to have this location in my traveling collection.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fumea2zx978zn7zz27lxs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fumea2zx978zn7zz27lxs.jpg" alt="Stanford University" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you, San Francisco! I am sure, we’ll see each other many times again!&lt;/p&gt;

&lt;p&gt;My friends strongly recommended taking California State Route 1 that goes from San Francisco to Los Angeles along the ocean. This route has a lot of cool and beautiful parts like Mojave Mountains, San Simeon, Santa Barbara and Big Sur. I stopped at most of them. In particular I really like the ocean views, watching sea lions and visiting beautiful Hearst Castle on Enchanted Hill.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzd796m6tbxbo5zqaw8q.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzd796m6tbxbo5zqaw8q.jpg" alt="The Mojave Mountains" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I hit Los Angeles late evening to catch the night vibes that clearly told me that it is a night city. I had to stop in the hotel right in the heart of Holywood to get access to all the famous tourist attractions, however it was one of the worst hotels I had ever seen, the name of that hotel sounds cool though.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fncp9min26iy7j2oz02fv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fncp9min26iy7j2oz02fv.jpg" alt="hotel.jpg" width="800" height="1272"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The next day I visited the famous Petersen Automotive Museum that I enjoyed a lot. It has a huge collection of motorcycles including the ones with electric power and legendary cars from movies and cartoons. Visiting the Hollywood Wax Museum was also a very fun experience. So yeah, there are a lot of things to do in LA. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Futqik36v5jvwfklsop4z.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Futqik36v5jvwfklsop4z.jpg" alt="automuseum.jpg" width="800" height="1188"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9qz82hqeczfij9g5zfo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9qz82hqeczfij9g5zfo.jpg" alt="wax_museum.jpg" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next morning on my way to Las Vegas I visited the Six Flags Magic Mountain to enjoy a few roller coaster rides, the X-2 ride was quite impressive and probably the most exciting I’ve ever done. For the rest of the first hour the road to Vegas was quite boring, but since I had escaped all those big intersections the landscape changed dramatically and for the next couple of hours I enjoyed the mountain views that I had never seen before.&lt;br&gt;
I reached Las Vegas late evening right at sunset. It was surprising to see even more people on the night streets than in LA. This reminded me of the NYE celebration that happens once a year on December the 31st in Sydney, but here people didn't celebrate anything, they just walked around and I had nothing to do but to join. It was a very impressive and crowded night. &lt;br&gt;
All the big hotels on the main street of Vegas are connected by small bridges. Every hotel has a casino on the ground floor, so once you are checking in into one of them you like asking yourself if it really is a hotel or if you are staying in the casino. This is a very unique experience I must tell.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw4qvb8tfaegy2uvi47jx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw4qvb8tfaegy2uvi47jx.jpg" alt="casino.jpg" width="800" height="1302"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the night streets of Vegas I met all of my best friends Minnie and Mickey Mouse and of course the main dude from my favourite The Hangover movie!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk31fzhnfyze6jm0i5qqt.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk31fzhnfyze6jm0i5qqt.jpg" alt="20220828_224632.jpg" width="800" height="616"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogqezkb30vnfk25thuo2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogqezkb30vnfk25thuo2.jpg" alt="20220828_221517.jpg" width="800" height="1066"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I really love those awesome characters. So I had to take a pic and walk into Caesars Palace Las Vegas Hotel, where the main scene for the original Hangover movie was shot. Oh, I should also tell, I was really impressed by the Bellagio Water Show that seems to be happening here every night.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq00wzpkf8oqvlw0wfzc1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq00wzpkf8oqvlw0wfzc1.jpg" alt="20220829_100141.jpg" width="800" height="1222"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next morning I decided not to stay in Vegas any longer and move towards my final destination - the Salt Lake City. Oh man, I didn’t expect that Red Rocks could be such a view. I have to admit, the road around the rocks from Vegas to Salt Lake is even more spectacular than from LA to Vegas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft2htmtpkbukrjltw68ee.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft2htmtpkbukrjltw68ee.jpg" alt="20220829_131625.jpg" width="800" height="1304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvfplrzafymcl1p8m1n5i.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvfplrzafymcl1p8m1n5i.jpg" alt="20220829_154040.jpg" width="800" height="1271"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the way from Vegas to Salt Lake just before Cedar City, there is a rocky park called Zion park, so I took this route through the park. The serpentine road goes very close to the Red Rocks so you had to make a stop every 10-15 minutes to enjoy that new rock view.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8azsirzebu4z03ngbc5a.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8azsirzebu4z03ngbc5a.jpg" alt="zion.jpg" width="800" height="1135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It took me about 3.5 hours to go through that park and so I decided to spend the night at Cedar City which is one of the smallest on the way to Salt Lake and fully surrounded by Red Rock mountains. This city is located from the main ng-conf venue at Salt Lake city just 3 hours away so I reached the destination the next morning.&lt;/p&gt;

&lt;h3&gt;
  
  
  Now rested and inspired by nature I am ready to get back to technologies at ng-conf.
&lt;/h3&gt;

&lt;p&gt;Follow Angular Rocks on &lt;a href="https://instagram.com/angularrocks" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt; and see you soon!&lt;/p&gt;

</description>
      <category>angular</category>
      <category>travel</category>
      <category>ngconf</category>
      <category>angularcommunity</category>
    </item>
    <item>
      <title>Traveling to ng-conf and visiting US for the first time</title>
      <dc:creator>Lex Kuncevic</dc:creator>
      <pubDate>Mon, 22 Aug 2022 22:21:38 +0000</pubDate>
      <link>https://dev.to/playfulprogramming-angular/traveling-to-ng-conf-and-visiting-us-for-the-first-time-4d29</link>
      <guid>https://dev.to/playfulprogramming-angular/traveling-to-ng-conf-and-visiting-us-for-the-first-time-4d29</guid>
      <description>&lt;h2&gt;
  
  
  TLDR;
&lt;/h2&gt;

&lt;p&gt;This is like a dream came true, traveling to ng-conf and to the US for the first time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The full story
&lt;/h2&gt;

&lt;p&gt;The ng-conf has a long history and has always been my dream to visit. I was always watching the live event each year but participating in person is an absolutely  different experience.&lt;/p&gt;

&lt;p&gt;Finally in early 2020 I’ve decided to purchase an early bird ticket and was so excited about it, but everyone is aware of what's happening next - the COVID-2019 pandemic and so all in-person events had to be postponed.&lt;/p&gt;

&lt;p&gt;So in result the ng-conf 2020 was adapted to online. Same happened in 2021.&lt;/p&gt;

&lt;p&gt;Eventually after 2 years of tedious waiting I am going to travel to ng-conf myself!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fskxfifmf5zptfpjufci9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fskxfifmf5zptfpjufci9.jpg" alt="Two years waiting for ng-conf" width="800" height="1224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am looking forward to attending as many sessions as possible, and there are so many cool talks being announced  by Jeff Cross, Shai Reznik, John Papa, Stephen Fluin, Brandon Roberts, Alex Rickabaugh and more.&lt;/p&gt;

&lt;p&gt;I have known or followed many people from the Angular community online for ages, some of them were guests on Angular Rocks podcast and that’s a great opportunity for me to get acquainted in person and discuss any sort of professional subjects directly. Misko Hevery, Jeremy Elbourn, Minko Gechev, Justin Schwartzenberger, Alan Agius.&lt;/p&gt;

&lt;p&gt;Besides, it is my first trip to the USA and I am going to visit a number of incredible places on my way to ng-conf, the places I have always dreamed about.&lt;/p&gt;

&lt;p&gt;My arrival point and first stop is San Francisco, the heart of Silicon Valley. Imagine, I will visit Google headquarters and meet my Angular friends there! Maybe there is someone who wants to catch up with me in person? &lt;/p&gt;

&lt;p&gt;And, of course, I will see the Golden Gates and Stanford University to feel the atmosphere of the most concentrated high-tech education in the world.&lt;/p&gt;

&lt;p&gt;Next stop is LA and an agenda for there has not been set yet. Guys, is there someone who wants to meet and chat? What should I see in LA? Hollywood? Beverly Hills? Griffith Park or more?&lt;br&gt;
Maybe there is any meetup tech or business group to attend around?&lt;/p&gt;

&lt;p&gt;Las Vegas is also a city of open opportunities for me this time. As a host of Angular Rocks and amateur climber I just have to see the Grand Canyon and at first. What about Red Rocks Canyon or any other rocks? &lt;/p&gt;

&lt;h2&gt;
  
  
  Please advise.
&lt;/h2&gt;

&lt;p&gt;What about any IT events around SF, LA?&lt;/p&gt;

&lt;p&gt;Please write any of your suggestions in the comments, I will highly appreciate them!&lt;/p&gt;

&lt;p&gt;By the way, to leave this trip in my and yours memories, I am going to hold a photo-challenge for my Angular Rocks Instagram followers and listeners &lt;a href="https://www.instagram.com/angularrocks" rel="noopener noreferrer"&gt;@angularrocks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everyday I am going to take a picture of something that might be associated with Angular Rocks and post it in stories. You can give me your options for an association. &lt;/p&gt;

&lt;p&gt;The winners will be definitely rewarded with some awesome Angular Rocks branded swag!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdqq7ebp2zrehfrl7okrr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdqq7ebp2zrehfrl7okrr.jpg" alt="2 years waiting for ng-conf" width="800" height="580"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, looking forward for your comments and advice! &lt;/p&gt;

&lt;p&gt;Follow &lt;a href="https://www.instagram.com/angularrocks" rel="noopener noreferrer"&gt;@angularrocks&lt;/a&gt; and see you soon!&lt;/p&gt;

</description>
      <category>angular</category>
      <category>travel</category>
      <category>ngconf</category>
      <category>angularcommunity</category>
    </item>
    <item>
      <title>Python 2.7 was removed from macOS in this update and how to fix it</title>
      <dc:creator>Lex Kuncevic</dc:creator>
      <pubDate>Thu, 05 May 2022 12:42:46 +0000</pubDate>
      <link>https://dev.to/kuncevic/python-27-was-removed-from-macos-in-this-update-and-how-to-fix-it-oo</link>
      <guid>https://dev.to/kuncevic/python-27-was-removed-from-macos-in-this-update-and-how-to-fix-it-oo</guid>
      <description>&lt;p&gt;I was quite surprised this morning to find out that some of my apps stopped working. All of them rely on Python 2.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who deleted my Python?
&lt;/h2&gt;

&lt;p&gt;It took me a moment to realize that a new Mac OS 12.3.1 was installed overnight, so I thought it might be a reason.&lt;br&gt;
And here it is.&lt;/p&gt;

&lt;p&gt;Python 2.7 was officially gone from the system. Starting from version 12.3 Apple is not going to ship this version of Python anymore as a part of &lt;a href="https://developer.apple.com/documentation/macos-release-notes/macos-12_3-release-notes#Python" rel="noopener noreferrer"&gt;Mac OS&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Python 2.7 was removed from macOS in this update. Developers should use Python 3 or an alternative language instead.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The reason is that &lt;a href="https://www.python.org/doc/sunset-python-2/" rel="noopener noreferrer"&gt;Python 2.x no longer maintained&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However apps that rely on Python 2.x are tightly coupled with that version so having Python 3 won't really help.&lt;/p&gt;

&lt;h2&gt;
  
  
  So how would you fix it?
&lt;/h2&gt;

&lt;p&gt;Here are a few simple steps that I followed.&lt;br&gt;
First, install &lt;a href="https://brew.sh/" rel="noopener noreferrer"&gt;Homebrew&lt;/a&gt; if you haven't got it installed yet. Make sure that it works.&lt;/p&gt;

&lt;p&gt;Now we need to get &lt;a href="https://github.com/pyenv/pyenv" rel="noopener noreferrer"&gt;pyenv&lt;/a&gt;. Pyenv is a Python version manager that will help to manage Python versions. Once pyenv installed we needed to configure Python 2.7, and that is it.&lt;/p&gt;

&lt;p&gt;Here are the terminal commands for that.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;brew install pyenv&lt;br&gt;
pyenv install 2.7.18&lt;br&gt;
ln -s "${HOME}/.pyenv/versions/2.7.18/bin/python2.7" "${HOMEBREW_PREFIX}/bin/python"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Additionally you can set the Python2.7.18 as global by running this command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pyenv global 2.7.18&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So, with these simple steps now I’ve got Python 2 back on my system and I hope this article will help someone too.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;My name is Aliaksei Kuncevič. I am teaching Angular and Web Technology. Helping dev teams to adopt Angular in the most efficient way. GDE, member of the NGXS Core Team.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thanks for reading, and ask your questions in the comments or contact me directly via &lt;a href="https://www.linkedin.com/in/kuncevic" rel="noopener noreferrer"&gt;linkedin&lt;/a&gt; or DM me on &lt;a href="https://twitter.com/kuncevic" rel="noopener noreferrer"&gt;twitter&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I hope you find this content helpful and if so, please help to spread this article so more people can benefit from it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Additionally you may want to checkout my &lt;a href="https://angularrocks.com/subscribe" rel="noopener noreferrer"&gt;podcast&lt;/a&gt; where I am sharing cool tips and insights about Angular and interviewing an awesome guests 🎙&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>python</category>
      <category>programming</category>
      <category>macos</category>
      <category>news</category>
    </item>
    <item>
      <title>Angular learning curve is a journey</title>
      <dc:creator>Lex Kuncevic</dc:creator>
      <pubDate>Thu, 05 Aug 2021 11:39:35 +0000</pubDate>
      <link>https://dev.to/playfulprogramming-angular/angular-learning-curve-is-a-journey-2209</link>
      <guid>https://dev.to/playfulprogramming-angular/angular-learning-curve-is-a-journey-2209</guid>
      <description>&lt;p&gt;&lt;strong&gt;Every story can be very personal, but a story of a developer always ends up being framed.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Abundance of information
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgdw322toczlzhghyy3fq.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgdw322toczlzhghyy3fq.jpeg" alt="1000x420_3.jpg" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Learning Angular can be quite a task, especially when an abundance of online materials can be rather frustrating than helpful. And the trickiest part when working with information on the internet is that the verification process can be time-consuming. Today, when we live in a booming era of technology, time is precious like never before. Therefore productivity and cost-effective programming decisions are essential for any web developer who wants to succeed. Figuring out Angular tips &amp;amp; tricks comes not only with experience it also requires access to a good and trusted source of information. &lt;/p&gt;

&lt;p&gt;Browsing the internet for answers can be exhausting, especially when opting for a self-learning Angular journey. Going through various books, online sources trying to figure out the correct solution can bring all the spectrum of emotions due to the majority of sources being too advanced. Most of the Angular materials available online presume that you are already intermediate, making it hard for beginners or anyone who decided to switch from another framework.&lt;/p&gt;

&lt;p&gt;A good example is the complexity of TypeScript due to its combination with Angular. When both make a pair, it is impossible to avoid the feeling that you are dealing with a new programming language. Other various combinations like ngModules (Unique architecture), Angular decorators with assigned responsibilities require a change in developer mentality. &lt;/p&gt;

&lt;h2&gt;
  
  
  Loneliness in "online classroom"
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31c0spwkvhxtjf8l2dix.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31c0spwkvhxtjf8l2dix.jpeg" alt="1000x420_2.jpg" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Angular learning curve can vary, and it is very individual, but synchronized and updated systematic information available to Angular developers can help a lot. And still, even with a guided step-step manual that explains that you can't avoid RxJS or that you must learn the RxJS operators by heart make no difference when there is none available to answer your questions. Therefore Angular workshops where you can discuss your difficulties with other developers can bring your Angular journey to another level. &lt;/p&gt;

&lt;p&gt;There are multiple Angular workshops available online, but some of them either don't follow the suitable structure for beginners or don't have a tutor who can clarify and help you when you are lost. And the combination of both is a must if you want to achieve your Angular ROI after becoming a developer. &lt;/p&gt;

&lt;h2&gt;
  
  
  Angular Workshop series by Aliaksei Kuncevic
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwt4rxuhfoo22gk7cuo8.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwt4rxuhfoo22gk7cuo8.jpeg" alt="1000x420_1.jpg" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Angular Workshops series by Aliaksei Kuncevic, the Google Developer expert and founder of Angular Rocks podcast, tackles all the points.&lt;/p&gt;

&lt;p&gt;When he worked on his learning program, he stayed in touch with very famous industry professionals and used his own Angular experience as a base. Apart from that, he launched a free educational&lt;a href="https://angularrocks.com/" rel="noopener noreferrer"&gt; Angular Rocks Podcast &lt;/a&gt;with Angular-related information in a very structured order to help those who can't enroll in the paid workshops. &lt;/p&gt;

&lt;p&gt;Multiple years of experience, many Angular professional discussions, consulting assignments, and educational sessions all contributed to the three series of Angular workshops suitable for different levels. Whether you are a beginner or in the middle of your journey, you will be able to find your answers. What makes it gold is that all the paid workshops will secure professional guidance and the possibility to connect with other developers. Learning  Angular in a group is fun and motivating. You have no excuse to procrastinate when inspired by other Angular enthusiasts. &lt;/p&gt;

&lt;p&gt;During Aliaksei's previous workshop, one of the students made a great observation, which proved that a challenging process could be exciting too when you identify the right path for your Angular journey. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;" I love Angular for its modular architecture, extensibility, and clear separation between logic and markup. The initial learning curve can be exhausting, but as soon you grasp the Angular basic concepts and see a clear path, you turn your developing journey into a rewarding process."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As soon as you are ready to make your first step gradually, you will progress. &lt;/p&gt;

&lt;p&gt;All of the tree workshops can be taken independently and are suitable for different levels. Angular Getting Started Workshop can work for anyone at the beginning of his journey with Angular. While Angular First Steps and Deep Dive can work if you are already familiar with Angular. &lt;/p&gt;

&lt;p&gt;The workshops’ structure ensures a very smooth Angular learning journey, which is why &lt;a href="https://kuncevic.dev/workshops/angular-getting-started" rel="noopener noreferrer"&gt;Angular Getting started&lt;/a&gt; workshop is free. This workshop will answer the critical question: is this framework really for you, and are you happy with the teaching style of your tutor, and you want him to guide you on your Angular journey. &lt;/p&gt;

&lt;h2&gt;
  
  
  Your invitation
&lt;/h2&gt;

&lt;p&gt;Learning a new framework can be painful, but it is always fun when you are not alone. Stay inspired, connected, and never stop exploring. Keep your Angular developer spirit high, and remember that Angular will start paying you back when you master a rapid form of development. &lt;/p&gt;

&lt;p&gt;The registration for the Angular workshops series by Aliaksei Kuncevic is now open &lt;a href="https://kuncevic.dev/workshops" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Check it out. Everyone is welcome to join, choose the one right for you, or find out which is the right for you by taking the FREE Angular Getting Started workshop. &lt;/p&gt;

&lt;p&gt;Thanks for reading, and ask your questions in the comments or contact me directly via &lt;a href="https://www.linkedin.com/in/kuncevic" rel="noopener noreferrer"&gt;linkedin&lt;/a&gt; or DM me on &lt;a href="https://twitter.com/kuncevic" rel="noopener noreferrer"&gt;twitter&lt;/a&gt; &lt;/p&gt;

</description>
      <category>angular</category>
      <category>workshop</category>
      <category>webdev</category>
      <category>education</category>
    </item>
    <item>
      <title>What are the benefits of using Angular?</title>
      <dc:creator>Lex Kuncevic</dc:creator>
      <pubDate>Mon, 02 Aug 2021 08:37:26 +0000</pubDate>
      <link>https://dev.to/angular/what-are-the-benefits-of-using-angular-5840</link>
      <guid>https://dev.to/angular/what-are-the-benefits-of-using-angular-5840</guid>
      <description>&lt;p&gt;&lt;strong&gt;Time changes everything. Angular is timeless and meets all the modern business requirements.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Angular has picked up steam in recent years, and it becomes “the cherry on the cake” for most app developers, and there are many good reasons for it. Let's see the key reasons for using Angular and the top benefits  for your business if you choose to go with Angular.&lt;/p&gt;

&lt;h2&gt;
  
  
  First of all, let's understand what Angular is
&lt;/h2&gt;

&lt;p&gt;Angular is a Javascript-based framework for developing mobile and desktop frame applications created by Google. It is used and favored by the Google Cloud platform, AdWords, and thousands of web applications built within Google. Other big names have also chosen Angular: Forbes, Delta Airlines, BMW, Samsung, Paypal, Tesla, Netflix, SpaceX.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;So, why do all of these companies choose Angular?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here are the top five main benefits:&lt;/p&gt;

&lt;h2&gt;
  
  
  Productivity
&lt;/h2&gt;

&lt;p&gt;As an app developer, you understand the time is highly precious for each project, and surely you don't want to waste any minute of it. Once you understand the core principles of Angular building blocks and build a first Angular application using it, later you can apply the same thinking creating a new one. Your journey as an Angular developer is to create modular, performant, accessible, and maintainable applications by simply following the best practices and general guidelines that goes with them&lt;/p&gt;

&lt;h2&gt;
  
  
  Lego-like building blocks
&lt;/h2&gt;

&lt;p&gt;Angular applications are built on logical modular principles, which means that you can simplify your life as an app developer by benefiting from dividing your code into small blocks. Those blocks can be reusable and can help to maintain immense code base health. It will help the business be more efficient, organised, cost-effective, and stay in line with any company’s KPI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Angular ecosystem
&lt;/h2&gt;

&lt;p&gt;Angular ecosystem contains all the possible fundamental tools and features you need to design and build an app. For example, libraries like Angular Material incorporate diverse components and modules, which helps save a lot of time and costs when building new applications. In addition, all of the Angular Material UI components, patterns, and performance are optimised to meet all expectations and high-quality standards.&lt;/p&gt;

&lt;p&gt;You are not alone on your journey with Angular; by joining Angular, you are becoming a part of a friendly environment where you can become a part of the Angular community and benefit from various tools Angular ecosystem offers .&lt;/p&gt;

&lt;p&gt;The Angular ecosystem is boundless. Its generous selection of well-maintained production-ready components and tools will make your development life simpler and painless. In addition, things such as strong typings will save you time catching errors and help you scale your projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Strong Typings with TypeScript
&lt;/h2&gt;

&lt;p&gt;TypeScript is a first-class citizen in the Angular ecosystem. Angular itself is built with TypeScript, a Superset of Javascript, meaning that you are on the safe side and have more control over your code. With TypeScript, you can easily spot bugs and typing errors while producing understandable, efficient, and high-quality code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Best Practices
&lt;/h2&gt;

&lt;p&gt;Angular programming style is based on best practices, which are embedded with modern component-based architecture. So, what does it mean exactly? First, as a developer, you will build components and other angular building blocks that will be united into a solid application. Then, all you need to do is construct modular parts of  the app, while Angular tooling will take care of everything else. Doing so eliminates unnecessary code creation.  Furthermore, proper and correct preliminary setup and configuration that follow best practices will simplify your work, ensuring a lighter and more efficient development process.&lt;/p&gt;

&lt;p&gt;When it comes to  app development, it can be a challenging journey. Even though we are pretty spoiled with the various options to choose from, only the right decisions and best practices can convert our efforts into success. That is the reason why so many companies are choosing Angular.&lt;/p&gt;

&lt;h2&gt;
  
  
  Angular Development Tools
&lt;/h2&gt;

&lt;p&gt;As mentioned earlier, the Angular ecosystem is boundless and very developed. It provides a wide range of advanced tools that can bring your development experience to an entirely new level. &lt;/p&gt;

&lt;p&gt;Please see below the tip of the week, which can navigate you through the available options:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvpf91unha52nocnm6g4u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvpf91unha52nocnm6g4u.png" alt="3-static-TIP.png" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Last but not least, there is a very fruitful conversation available on Angular Rocks Podcast, which focuses on this matter in every detail.&lt;/p&gt;

&lt;p&gt;The guest we hosted is Minko Gechev, the technical lead, and Angular Team DevRel  Manager at Google. He is passionate about computer science, open-source frameworks, libraries, and performance tooling. His extraordinary expertise helped us cover all of the hot topics that any web developer wants to hear about, from modern dev tools for Angular developers to insightful tips and tricks that will help to improve your development processes. You can listen to the episode &lt;a href="https://share.transistor.fm/s/a21f025f" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, Angular will never let you down, and by continuing to explore the Angular world, you can progress and enjoy the development process on an entirely different level. &lt;/p&gt;

</description>
      <category>angular</category>
      <category>tips</category>
      <category>webdev</category>
      <category>inspiration</category>
    </item>
    <item>
      <title>Angular Change Detection</title>
      <dc:creator>Lex Kuncevic</dc:creator>
      <pubDate>Thu, 08 Jul 2021 11:20:30 +0000</pubDate>
      <link>https://dev.to/angular/angular-change-detection-2f34</link>
      <guid>https://dev.to/angular/angular-change-detection-2f34</guid>
      <description>&lt;p&gt;💫 &lt;strong&gt;The "magic glue" that connects the view and the model, keeping them both in sync.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Angular Change Detection is one of the most complex topics in software engineering and obviously in Angular as it is relying on that a lot. It can definitely be compared to the &lt;strong&gt;"magic glue"&lt;/strong&gt; that connects the view and the model, keeping them both in sync".&lt;/p&gt;

&lt;p&gt;On a broader scale, it is a mechanism built into Angular that allows Angular to decide what actions can be performed when the state of the app changes. The good news is that most of the time, developers do not have to deal with change detection manually.&lt;/p&gt;

&lt;p&gt;However, if you find yourself caught in a loop, the only way to simplify your journey is to follow specific strategies, for example OnPush and trigger change detection manually if you need to. &lt;/p&gt;

&lt;p&gt;There are four ways you can trigger change detection manually. Let’s look at them in detail:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;tick() on **&lt;a href="https://angular.io/api/core/ApplicationRef" rel="noopener noreferrer"&gt;ApplicationRef&lt;/a&gt;&lt;/strong&gt; **that activates change detection for the entire application by staying consistent and respectful to the strategy component of the change detection.&lt;/p&gt;

&lt;p&gt;**detectChanges() **on &lt;a href="https://angular.io/api/core/ChangeDetectorRef" rel="noopener noreferrer"&gt;ChangeDetectorRef&lt;/a&gt;  runs change detection on a current component.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;markForCheck()&lt;/strong&gt; on &lt;a href="https://angular.io/api/core/ChangeDetectorRef" rel="noopener noreferrer"&gt;ChangeDetectorRef&lt;/a&gt; controls change detection through the marked components where the OnPush strategy has been set.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;run() **on&lt;/strong&gt; **&lt;a href="https://angular.io/api/core/NgZone" rel="noopener noreferrer"&gt;NgZone&lt;/a&gt; that allows you to execute a function inside the Angular zone. This function, and all asynchronous operations in that function, trigger change detection automatically at the correct time.&lt;/p&gt;

&lt;p&gt;Here is a very handy tip, which can simplify your life. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcxot973wm1wvkmodyixe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcxot973wm1wvkmodyixe.png" alt="Untitled design (1).png" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to learn more listen to &lt;a href="https://angularrocks.com/episodes/angular-change-detection" rel="noopener noreferrer"&gt;Angular Change Detection Episode&lt;/a&gt; at &lt;a href="https://angularrocks.com" rel="noopener noreferrer"&gt;angularrocks.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>tips</category>
      <category>webdev</category>
      <category>inspiration</category>
    </item>
    <item>
      <title>From NGXS to NGXS Data</title>
      <dc:creator>Lex Kuncevic</dc:creator>
      <pubDate>Fri, 02 Apr 2021 10:58:35 +0000</pubDate>
      <link>https://dev.to/kuncevic/from-ngxs-to-ngxs-data-28dn</link>
      <guid>https://dev.to/kuncevic/from-ngxs-to-ngxs-data-28dn</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This is the second article, aka &lt;strong&gt;State Management Level 2&lt;/strong&gt; of the series &lt;strong&gt;Progressive State Management&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is the third part of the &lt;strong&gt;Progressive State Management series&lt;/strong&gt; aka &lt;strong&gt;State Management Level 2&lt;/strong&gt;. Here I want to talk about NGXS Data and what problem it solves&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://dev.to/kuncevic/from-reactive-services-to-ngxs-39l2"&gt;In a previous article&lt;/a&gt;, I show how to transition from Reactive Services to NGXS. Today I want to showcase the power of NGXS Data and how to switch from NGXS to NGXS Data if you want to. &lt;/p&gt;

&lt;p&gt;So let's see what NGXS Data really is, what problem does it solve and how it may help you!&lt;/p&gt;

&lt;p&gt;A lot of Angular developers use &lt;a href="https://www.ngxs.io" rel="noopener noreferrer"&gt;NGXS&lt;/a&gt; and have a great experience with that. However there is a thing called NGXS Data that probably is not as quite well known to Angular developers as NGXS. NGXS Data is an NGXS plugin that lives in &lt;a href="https://github.com/ngxs-labs" rel="noopener noreferrer"&gt;NGXS Labs&lt;/a&gt; created by &lt;a href="https://twitter.com/splincodewd" rel="noopener noreferrer"&gt;Maxim Ivanov&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you approach state management with NGXS you always end up implementing some sort of boilerplate like store actions and selectors. Boilerplate is a repetitive code that makes your codebase bigger and might lead to problems with maintainability. To keep code base in better health you may consider removing unnecessary context to get the maintainability of your code to the next level.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;There is not much boilerplate in NGXS anyway but it is nice that there is a way to make NGXS boilerplate even less.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;NGXS Data reduces the NGXS boilerplate by enabling you to write less code. In other words NGXS Data helps you to remove unnecessary context from your code making your code smaller. Imagine actions and selectors no longer needed. How cool is that? &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;You may refer to this article to see how &lt;a href="https://dev.to/kuncevic/from-reactive-services-to-ngxs-39l2"&gt;NGXS standard code&lt;/a&gt; is looks like.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So let's see how the NGXS code would look like using NGXS Data plugin&lt;/p&gt;

&lt;p&gt;Here is how our store would looks like as we do not need to create any actions or selectors:&lt;/p&gt;

&lt;p&gt;└── state&lt;br&gt;
            └── counter.state.ts&lt;/p&gt;

&lt;p&gt;Let’s see how the &lt;strong&gt;state class&lt;/strong&gt; definition looks like.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;The state class is now decorated with additional &lt;strong&gt;@StateRepository()&lt;/strong&gt; decorator and all the functions are decorated with &lt;strong&gt;@DataAction()&lt;/strong&gt; decorator. &lt;/p&gt;

&lt;p&gt;As we do not need to dispatch anything, the component class becoming really lightweight:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;The component template stays pretty much the same, the difference there is that we are calling state methods directly from the template but everything else is staying the same. &lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;As you can see there are no changes required within a component template and it is the core principle of Progressive State Management.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Some developers like just a standard way of using NGXS and others prefer NGXS Data. So it is up to you to decide as it fully depends on your flavour, on the way you like to approach your store and on a particular use-case. The best way to find out what works best for you is to try it on practice 🙃&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;My name is Aliaksei Kuncevič. I am teaching Angular and Web Technology. Helping dev teams to adopt Angular in the most efficient way. GDE, member of the NGXS Core Team.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I hope you find this content helpful and if so, please help to spread this article so more people can benefit from it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to learn more Angular tips and tricks join for my newsletter at &lt;a href="https://kuncevic.dev?ref=dev" rel="noopener noreferrer"&gt;kuncevic.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to know more about Angular subscribe for &lt;a href="https://angularrocks.com/subscribe" rel="noopener noreferrer"&gt;Angular Rocks&lt;/a&gt; podcast&lt;/em&gt; 🎙&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can find the source code for this article &lt;strong&gt;&lt;a href="https://github.com/kuncevic/progressive-state-management-with-ngxs" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>ngxs</category>
      <category>architecture</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Angular 11 just released 🔥</title>
      <dc:creator>Lex Kuncevic</dc:creator>
      <pubDate>Thu, 12 Nov 2020 07:37:34 +0000</pubDate>
      <link>https://dev.to/angular/angular-11-just-released-4ocb</link>
      <guid>https://dev.to/angular/angular-11-just-released-4ocb</guid>
      <description>&lt;p&gt;Yes, the Angular version 11 just released as well as Angular CLI and Angular Material. I am really excited about that and I hope you too 🥳&lt;/p&gt;

&lt;h2&gt;
  
  
  Here is quick overview
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;✅ Automatic Inlining of Fonts&lt;/strong&gt; - Angular CLI now inline fonts automatically for you to speed up the first contentful paint&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✅ Component Test Harnesses&lt;/strong&gt; - test harness now available for all Angular Material Components to simplify tests cases&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✅ Improved Reporting and Logging in Angular CLI&lt;/strong&gt; - Angular CLI console output is more easier to read and it looks more informative&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✅ New Hot Module Replacement (HMR) Support&lt;/strong&gt; - &lt;code&gt;ng serve --hmr&lt;/code&gt; is all you need to run the HMR, no code changes required&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✅ Faster Builds&lt;/strong&gt; - faster dependencies install and faster TypeScript compilation  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✅ Dropped Support for Legacy Browsers&lt;/strong&gt; - support for IE 9, 10, and IE mobile has being removed &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✅ Webpack 5 Support (experimental)&lt;/strong&gt; - you can opt in for Webpack 5 but remember it is experimental and you need to use &lt;code&gt;yarn&lt;/code&gt; for that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✅ Updated Angular Roadmap&lt;/strong&gt; - &lt;a href="https://angular.io/guide/roadmap" rel="noopener noreferrer"&gt;current Angular Team priorities&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  CHANGELOG
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/angular/angular/blob/master/CHANGELOG.md#1100-2020-11-11" rel="noopener noreferrer"&gt;Angular&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/angular/components/blob/master/CHANGELOG.md#1100-nitrite-trilobite-2020-11-11" rel="noopener noreferrer"&gt;Angular Material&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Read the official release notes &lt;a href="https://blog.angular.io/version-11-of-angular-now-available-74721b7952f7" rel="noopener noreferrer"&gt;here&lt;/a&gt; 🎉&lt;/p&gt;

&lt;p&gt;Find out more about the future of Angular &lt;a href="https://youtu.be/ivPyIsUc1tE?t=2137" rel="noopener noreferrer"&gt;here&lt;/a&gt; 🚀&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;My name is Aliaksei Kuncevič. I am teaching Angular and Web Technology. Helping dev teams to adopt Angular in the most efficient way. GDE, member of the NGXS Core Team.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I hope you find this content helpful and if so, please help to spread this article so more people can benefit from it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to learn more Angular tips and tricks join my newsletter at &lt;a href="https://kuncevic.dev?ref=dev" rel="noopener noreferrer"&gt;kuncevic.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to know more about Angular subscribe for &lt;a href="https://angularrocks.com/subscribe" rel="noopener noreferrer"&gt;Angular Rocks&lt;/a&gt; podcast&lt;/em&gt; 🎙&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>angular</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>typescript</category>
    </item>
    <item>
      <title>From Reactive Services to NGXS</title>
      <dc:creator>Lex Kuncevic</dc:creator>
      <pubDate>Sun, 01 Nov 2020 22:14:20 +0000</pubDate>
      <link>https://dev.to/kuncevic/from-reactive-services-to-ngxs-39l2</link>
      <guid>https://dev.to/kuncevic/from-reactive-services-to-ngxs-39l2</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This is the second article, aka &lt;strong&gt;State Management Level 2&lt;/strong&gt; of the series &lt;strong&gt;Progressive State Management&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://dev.to/kuncevic/reactive-services-with-rxjs-49p7"&gt;In a previous article&lt;/a&gt;, I show how to implement Reactive Services using RxJS BehavoiurSubject and rx-service. Today I want to show how to transition from Reactive Services to NGXS. &lt;/p&gt;

&lt;p&gt;Before we get started let's define what Progressive State Management is. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Progressive State Management is a technique that allows to progressively enhance the functionality of the application state in a way that won't affect the existing application data flow.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So, using Progressive State Management technique helps to design applications that are easy to migrate to a state management solution later, if you decide to do so. &lt;/p&gt;

&lt;p&gt;There are multiple state management solutions available for Angular that you might consider at this stage, however  let's see how easy it is to migrate from Reactive Services to NGXS. &lt;/p&gt;

&lt;p&gt;When you implementing NGXS in your app it is always a good practice to keep store, actions and selectors different files following separation of concerns, here is an example:&lt;/p&gt;

&lt;p&gt;└── state&lt;br&gt;
            ├── counter.actions.ts&lt;br&gt;
            ├── counter.queries.ts&lt;br&gt;
            └── counter.state.ts&lt;/p&gt;

&lt;p&gt;Let’s see how the &lt;strong&gt;state class&lt;/strong&gt; definition looks like.  &lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;The state class is decorated with a &lt;strong&gt;@State&lt;/strong&gt; decorator and all the functions are decorated with &lt;strong&gt;@Action&lt;/strong&gt; decorator. &lt;/p&gt;

&lt;p&gt;So here when the particular action dispatched the function associated with that action will be executed accordingly. So now let's see what is inside our &lt;strong&gt;counter.actions.ts&lt;/strong&gt; file.&lt;/p&gt;

&lt;p&gt;Actions usually defined in a dedicated file, here you can see how actions are defined:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;Actions in NGXS represented by classes. Actions behave like triggers, or also they can represent the resulting event of something that has already happened. Each Action has to have a unique name and usually state functions decorated with actions. To learn more about actions you can see the &lt;a href="https://www.ngxs.io/concepts/actions" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Think of actions as commands.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now let's see what is inside &lt;strong&gt;counter.queries.ts&lt;/strong&gt;. &lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;This &lt;strong&gt;counter.queries.ts&lt;/strong&gt; file contains selectors. Selects are functions that slice a specific portion of state from the global state container. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Think of selectors as queries.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now let's see how actions gets dispatched: &lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;In order to call the state function we have to dispatch an action associated with that function.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Action executing results with an observable. In some cases when there is no need to process the action result we can just bind the observable to the component template using AsyncPipe. &lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;As you can see there are no changes required within a component template and it is the core principle of Progressive State Management.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;My name is Aliaksei Kuncevič. I am teaching Angular and Web Technology. Helping dev teams to adopt Angular in the most efficient way. GDE, member of the NGXS Core Team.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I hope you find this content helpful and if so, please help to spread this article so more people can benefit from it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to learn more Angular tips and tricks join my newsletter at &lt;a href="https://kuncevic.dev?ref=dev" rel="noopener noreferrer"&gt;kuncevic.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to know more about Angular subscribe for &lt;a href="https://angularrocks.com/subscribe" rel="noopener noreferrer"&gt;Angular Rocks&lt;/a&gt; podcast&lt;/em&gt; 🎙&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can find the source code for this article &lt;strong&gt;&lt;a href="https://github.com/kuncevic/progressive-state-management-with-ngxs" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>ngxs</category>
      <category>architecture</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Reactive Services with RxJS</title>
      <dc:creator>Lex Kuncevic</dc:creator>
      <pubDate>Thu, 01 Oct 2020 04:20:00 +0000</pubDate>
      <link>https://dev.to/kuncevic/reactive-services-with-rxjs-49p7</link>
      <guid>https://dev.to/kuncevic/reactive-services-with-rxjs-49p7</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This is the first article, aka &lt;strong&gt;State Management Level 1&lt;/strong&gt; of the series &lt;strong&gt;Progressive State Management&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There are a lot of state management solutions that are available for Angular. However, do we always need to bring a fully-featured state management solution into our apps? Let's think about it.&lt;/p&gt;

&lt;p&gt;Some main challenges building single-page applications we have to tackle are component communication and data flow. So that problems can be solved just by bringing the state management solution. However, state management solutions may introduce an additional level of complexity. As a result of that applications can become too hard and too expensive to maintain in the long run. So we should consider using state management solutions very carefully, based on the particular use-case scenario and remember about all the costs that come with that.&lt;/p&gt;

&lt;p&gt;Being an Angular developer implies to be familiar with the basic concepts of &lt;a href="https://www.learnrxjs.io/learn-rxjs/subjects/behaviorsubject" rel="noopener noreferrer"&gt;RxJS&lt;/a&gt;. Which leads to the question of why don't we just use the powers or &lt;a href="https://stackoverflow.com/a/40231605/415078" rel="noopener noreferrer"&gt;RxJS BehaviorSubject&lt;/a&gt; to solve the component communication? This way we can manage the data flow in our applications without introducing additional complexity. So, by using &lt;a href="https://stackoverflow.com/a/40231605/415078" rel="noopener noreferrer"&gt;RxJS BehaviorSubject&lt;/a&gt; we can keep the solution simple, this approach works well on a small to medium scale. Let's see how we can achieve that.&lt;/p&gt;

&lt;p&gt;Here is how &lt;strong&gt;reactive service&lt;/strong&gt; might look like:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;Can we improve that code?  - yes, we can.&lt;/p&gt;

&lt;p&gt;What we can do now is to reduce a bit of boilerplate in our &lt;strong&gt;reactive service&lt;/strong&gt; by using an &lt;a href="https://github.com/kuncevic/rx-service" rel="noopener noreferrer"&gt;rx-service&lt;/a&gt; library &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/kuncevic/rx-service" rel="noopener noreferrer"&gt;rx-service&lt;/a&gt; is a very simple library that wraps &lt;a href="https://stackoverflow.com/a/40231605/415078" rel="noopener noreferrer"&gt;BehaviorSubject&lt;/a&gt; and provides utility functions on top of that. Methods like &lt;strong&gt;setState()&lt;/strong&gt;, &lt;strong&gt;getState()&lt;/strong&gt;, &lt;strong&gt;resetState()&lt;/strong&gt; are available to manipulate the state of the &lt;a href="https://stackoverflow.com/a/40231605/415078" rel="noopener noreferrer"&gt;BehaviorSubject&lt;/a&gt;. The local state exposed via the observable &lt;strong&gt;state$&lt;/strong&gt; variable. &lt;/p&gt;

&lt;p&gt;That is how our code now look like using &lt;a href="https://github.com/kuncevic/rx-service" rel="noopener noreferrer"&gt;rx-service&lt;/a&gt;:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;The benefit of using the &lt;a href="https://github.com/kuncevic/rx-service" rel="noopener noreferrer"&gt;rx-service&lt;/a&gt; library is that it abstracts &lt;a href="https://stackoverflow.com/a/40231605/415078" rel="noopener noreferrer"&gt;BehaviorSubject&lt;/a&gt; so the code of your services becomes cleaner. Also, it allows you to unify the way you implement reactive services across your applications. So the code you write becomes more maintainable and easier to read.&lt;/p&gt;

&lt;p&gt;That is how to consume the &lt;strong&gt;reactive service&lt;/strong&gt; within component class:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;You can introduce as many reactive services in your application as you want based on your exact use-case. In the long run, when the size and complexity of your application grow you may decide that you have enough reactive services in your application. Therefore, at this stage you may just replace reactive services with a proper state management solution of your choice. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;My name is Aliaksei Kuncevič. I am teaching Angular and Web Technology. Helping dev teams to adopt Angular in the most efficient way. GDE, member of the NGXS Core Team.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I hope you find this content helpful and if so, please help to spread this article so more people can benefit from it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to learn more Angular tips and tricks join my newsletter at &lt;a href="https://kuncevic.dev?ref=dev" rel="noopener noreferrer"&gt;kuncevic.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to know more about Angular subscribe for &lt;a href="https://angularrocks.com/subscribe" rel="noopener noreferrer"&gt;Angular Rocks&lt;/a&gt; podcast&lt;/em&gt; 🎙&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can find the source code for this article &lt;strong&gt;&lt;a href="https://github.com/kuncevic/progressive-state-management-with-ngxs" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>rxjs</category>
      <category>architecture</category>
      <category>webdev</category>
    </item>
    <item>
      <title>11 Reasons why you should use NGXS as State Management in your Angular apps</title>
      <dc:creator>Lex Kuncevic</dc:creator>
      <pubDate>Sat, 01 Aug 2020 12:32:09 +0000</pubDate>
      <link>https://dev.to/ngxs/11-reasons-why-you-should-use-ngxs-as-state-management-in-your-angular-apps-l82</link>
      <guid>https://dev.to/ngxs/11-reasons-why-you-should-use-ngxs-as-state-management-in-your-angular-apps-l82</guid>
      <description>&lt;p&gt;Developers tend to use state management solutions to solve some common problems developing modern single page applications. Building a modern web application using Angular you might &lt;strong&gt;not need&lt;/strong&gt; to opt-in for a state management solution right away (it depends) but when the day comes &lt;a href="https://www.ngxs.io" rel="noopener noreferrer"&gt;NGXS&lt;/a&gt; is your best choice and here is why.&lt;/p&gt;

&lt;p&gt;Why &lt;strong&gt;you&lt;/strong&gt; &lt;em&gt;should&lt;/em&gt; &lt;code&gt;choose&lt;/code&gt; &lt;strong&gt;NGXS&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Bulletproofed&lt;/strong&gt;: NGXS was built back in Feb 2018. Since then, for many years, it has been chosen by many  dev teams and companies as a state management solution for their Angular apps. Now there are 3.4+ million  npm downloads to date!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backed by an awesome team&lt;/strong&gt;: NGXS is an open source project maintained by a team of great software engineers from across the globe with a combined experience of 80+ years in software development.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Angular way&lt;/strong&gt;: NGXS written by Angular devs and for Angular devs. As a result, your store-related code uses a more familiar Angular approach that leverages dependency injection, decorators, etc. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Great Features&lt;/strong&gt;: There are many awesome features that NGXS offers: component communication, state operators, selectors and much more.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plugins&lt;/strong&gt;: NGXS has a &lt;a href="https://www.ngxs.io/plugins" rel="noopener noreferrer"&gt;plugin&lt;/a&gt; system built-in - it is similar to Redux's meta reducers. You can use existing &lt;a href="https://www.ngxs.io/plugins" rel="noopener noreferrer"&gt;plugins&lt;/a&gt; to extend the functionality on top of your store or you can build your own plugin. Plugins that NGXS offering you: &lt;a href="https://www.npmjs.com/package/@ngxs/logger-plugin" rel="noopener noreferrer"&gt;Logger&lt;/a&gt;, &lt;a href="https://www.npmjs.com/package/@ngxs/devtools-plugin" rel="noopener noreferrer"&gt;Devtools&lt;/a&gt;, &lt;a href="https://www.npmjs.com/package/@ngxs/storage-plugin" rel="noopener noreferrer"&gt;Storage&lt;/a&gt;, &lt;a href="https://www.npmjs.com/package/@ngxs/form-plugin" rel="noopener noreferrer"&gt;Forms&lt;/a&gt;, &lt;a href="https://www.npmjs.com/package/@ngxs/websocket-plugin" rel="noopener noreferrer"&gt;Web Socket&lt;/a&gt;, &lt;a href="https://www.npmjs.com/package/@ngxs/router-plugin" rel="noopener noreferrer"&gt;Router&lt;/a&gt; and more!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Less Boilerplate&lt;/strong&gt;: NGXS was originally invented in response to the complexity and amount of boilerplate present in other state management solutions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backwards Compatibility&lt;/strong&gt;: NGXS team very strongly stands for backwards compatibility so by migrating to a new version of NGXS you can be assured that your codebase won’t require significant changes as part of the upgrade.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consistency and Maintainability&lt;/strong&gt;: In practice it is much easier to maintain applications that build with the same fashion. When you use NGXS it gives your code a place to live and common patterns will emerge that will make for a much more maintainable codebase.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Documentation:&lt;/strong&gt; NGXS has a great documentation at &lt;a href="https://www.ngxs.io" rel="noopener noreferrer"&gt;NGXS.io&lt;/a&gt; in addition to that you can find some blog posts about NGXS on &lt;a href="https://medium.com/ngxs" rel="noopener noreferrer"&gt;medium blog&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Community&lt;/strong&gt;: The NGXS community is strong, you can join &lt;a href="https://tinyurl.com/ngxs-slack" rel="noopener noreferrer"&gt;NGXS slack channel&lt;/a&gt; if you have any questions or if you want to discuss anything or just to say hello. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NGXS labs&lt;/strong&gt;: &lt;a href="https://www.ngxs.io/ngxs-labs/intro" rel="noopener noreferrer"&gt;NGXS labs&lt;/a&gt; is an &lt;a href="https://github.com/ngxs-labs" rel="noopener noreferrer"&gt;organization&lt;/a&gt; on github - the place to test out the new ideas and to play around and experiment with new cool features and new plugins that are not yet under the main &lt;a href="https://github.com/ngxs" rel="noopener noreferrer"&gt;NGXS organisation&lt;/a&gt;. Here is the list of the additional features and plugins currently available at NGXS labs:
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;      - &lt;a href="https://npmjs.com/package/@ngxs-labs/data" rel="noopener noreferrer"&gt;Data&lt;/a&gt; - NGXS Persistence API&lt;br&gt;
      - &lt;a href="https://npmjs.com/package/@ngxs-labs/emitter" rel="noopener noreferrer"&gt;Emitter&lt;/a&gt; - provides the opportunity to feel free from actions&lt;br&gt;
      - &lt;a href="https://npmjs.com/package/@ngxs-labs/immer-adapter" rel="noopener noreferrer"&gt;Immer adapter&lt;/a&gt; - declarative state mutations&lt;br&gt;
      - &lt;a href="https://npmjs.com/package/@ngxs-labs/dispatch-decorator" rel="noopener noreferrer"&gt;Dispatch decorator&lt;/a&gt; - provide separation of concern between the state management and the view&lt;br&gt;
      - &lt;a href="https://npmjs.com/package/@ngxs-labs/select-snapshot" rel="noopener noreferrer"&gt;Select snapshot&lt;/a&gt; - decorator that allows to get a snapshot of the state&lt;br&gt;
      - &lt;a href="https://npmjs.com/package/@ngxs-labs/async-storage-plugin" rel="noopener noreferrer"&gt;Async storage plugin&lt;/a&gt; - async Storage Plugin&lt;br&gt;
      - &lt;a href="https://npmjs.com/package/@ngxs-labs/entity-state" rel="noopener noreferrer"&gt;Entity state&lt;/a&gt; - entity adapter&lt;br&gt;
      - &lt;a href="https://npmjs.com/package/@ngxs-labs/actions-executing" rel="noopener noreferrer"&gt;Actions executing&lt;/a&gt; - notifies if action is being executed&lt;br&gt;
      - &lt;a href="https://npmjs.com/package/@ngxs-labs/attach-action" rel="noopener noreferrer"&gt;Attach action&lt;/a&gt; - attaching independent, pure and easy to test Action Handlers to NGXS State&lt;br&gt;
      - &lt;a href="https://npmjs.com/package/@ngxs-labs/firestore-plugin" rel="noopener noreferrer"&gt;Firestore plugin&lt;/a&gt; - firestore plugin for NGXS&lt;/p&gt;

&lt;p&gt;So as you can see there are lots of reasons why you may want to consider NGXS as a state management solution for your Angular applications. To get started check up the documentation at &lt;a href="//ngxs.io"&gt;ngxs.io&lt;/a&gt; and if you have any questions you can join the &lt;a href="https://tinyurl.com/ngxs-invite" rel="noopener noreferrer"&gt;slack channel&lt;/a&gt; to discuss or just comment below.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;My name is Aliaksei Kuncevič. I am teaching Angular and Web Technology. Helping dev teams to adopt Angular in the most efficient way. GDE, member of the NGXS Core Team.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I hope you find this content helpful and if so, please help to spread this article so more people can benefit from it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to learn more Angular tips and tricks join my newsletter at &lt;a href="https://kuncevic.dev?ref=dev" rel="noopener noreferrer"&gt;kuncevic.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to know more about Angular subscribe for &lt;a href="https://angularrocks.com/subscribe" rel="noopener noreferrer"&gt;Angular Rocks&lt;/a&gt; podcast&lt;/em&gt; 🎙&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>angular</category>
      <category>ngxs</category>
      <category>redux</category>
    </item>
  </channel>
</rss>
