Tonight we completed our first one hour challenge. Our first technology… Angular 5. Go big or go home right?! We certainly thought so.

Setting up our dev environment was not an easy feat. It took close to 7 minutes to download angular-cli. Perhaps this could be my shaky internet, bouncing between 4 and 8 Megabits per second. Regardless, expect a heavy set up. Add another 5 minutes to build a boiler plate hello-world app with the CLI(ng new my-app)…

This prompted the decision (made by the One Hour Challenge Team, aka Emily and I) to give ourselves a pre-challenge 15 minutes to set up the dev environment.

Where did we start? We began by perusing the project’s file structure. This is usually how I begin diving into new tech.

First reactions:

  • Similar to React in its ideas of components and binding
  • Heavy file structure

We followed the first bit of Angular’s getting started tutorial, “Angular-Tour-of-Heroes”, but didn’t get far enough to figure out why there even were heroes.

  Barrier To Entry++

We added a new component, wrote some awesome inline css, and tried to fit a module inside a component.

Final reactions:

  • There is a lot of magic happening. We attempted to explore and fuel the curiosity– what is ng serve? how is it rendering the page? what is a directive? What is a module? Can there be more than one @ngModule? How about @ngApp? It was a rabbit hole indeed.
  • Which leads me to the next reaction, complicated terminology
  Barrier To Entry++
  • Syntax is not intuitive. It doesn’t match JavaScript, Java, or React.
  • Typescript… Didn’t expect that one.
  Barrier To Entry++

Post-Challenge conversation: When talking frontend frameworks, is opionated better? Do opionated frameworks scale better? Work better for larger teams? A coworker commented that Angular’s magic is beautiful. I like thinking of it in such positive terms. I’ve dabbled in Ruby on Rails, another magical framework - I’d agree. Although at times frustrating or confining, there certainly is something about that magic.