On today’s episode we have a My Angular Story with Danny Blue. Danny is a Google Developer Expert for web technologies. In this episode we hear the story about how Danny first started coding, a method suggestion for picking a frameworks, and how vocabulary is vital for a new programmer to learn. It’s a good one, stay tuned.
Didn’t get started until college. In school he was under the impression that you had to be a math genius to be a programmer. Didn’t even try until college. He wish he would have taken more in College. His first dive into code was ActionScript 2. He was offered a class that taught how to make Flash games and he took the class and made a few games, which he mentions were most likely awful. His game was an infinite runner with a robot. It taught him the basics like loops and storing variables.In his class he realized that as long as he understood some of the key concepts, he would be able to handle it.Soon he went out and just bought a book and after experiencing the code in action he got hooked.
Danny’s friend tried to teach him how to build a checkers game in C. He remembers the pains of manually managing memory. His feedback on
malloc is that it’s one of his favorite words because it rolls off the tongue. Charles talks about how in college he had to design systems in VSDL with transistors and silicon.
Finding the beginner tutorials for stuff. CodeSchool is good, Code Academy as well. Do those first. Don’t skip it assuming you know too much to do them. After that just make something. From there you will figure out stuff that works and stuff that doesn’t. Twitter is a great resource for finding helpful people. Being in the environment helps to get exposed to the information. Mainly just write code. Charles mentions that people have grown to understand the concepts and lingo of web development by just listening. Danny also advises that if you learn the vocabulary before learning the concepts, you’ll be able to do things like Google your issues affectively as well as reading articles or talking with others. Complicated concepts end up be boiled down to single words. Ultimately you will need to be able to communicate with everyone on projects anyway.
Danny suggests that when trying to figure out what framework to go with, be able to describe in your own words why the framework you’ve picked is better. Making sure that you do understand the decisions that you are making is important. He uses the example of within the React community and the use of virtual DOM. There was a common misconception that the virtual DOM was faster than the regular DOM, which is just not true. Later the details had to be expressed to clear the misunderstanding. If you don’t talk about the specifics, you may believe something without knowing the facts behind it. Charles adds that its sort of like politics in that way.
Danny talks about getting interested in web components through his friend Eric and actually interviewed at the company Eric worked at. He didn’t get the job but they stayed in touch and Eric introduced him into Polymer. He started to learn about Polymer, specifically custom elements. He remembers very early on wanting to make a custom HTML tag. He suggests that being able to do things without the framework has been a piece that has been missing. Having lower level building blocks to build off of is really exciting to Danny. He talks about using custom elements to build a familiar API surface to interact with. He talks about an example where he wrapped a bunch of HTML APIs, like the notification API and the fullscreen API, wrapping another element within it. He was trying to build things that the younger version of himself could use. He things that could be something we are heading towards more often. Danny adds that Web Components come with 4 major parts: Custom elements, HTML Imports (kind of), ShadowDOM, and templates. Custom elements allow you to create a unique piece of HTML and is the most widely accepted and supported.
Danny talks about how the Angular’s component model is very similar to Custom Element component model. Where you pass information in through properties and you listen for changes through events. You can use Custom Elements with very little setup. There is a specific Custom Elements Scheme that will let you use custom elements without any properties being thrown. You use the custom event in the exact same way and syntax as for any other component. The one issue with the source code where it parses the metadata, losing the friendly compiler messages out of the box. He is playing around with trying to find a way to whitelist different element names and properties. He wants to learn how the Framework is parsing potential data and make it easy to whitelist a set of custom elements.