AMP Gist Component
Erwin Mombay wrote an excellent article on creating your first AMP Component.
AMP is a way to build pages for static content that render fast. AMP extensions use the power of custom elements and allows us to create new components to enhance AMP HTML pages.
While at the AMP Conference he showed us how to create one and that is what we did. We created the usual "Hello World" that was first featured in "The C Programming Language" by Kernighan and Ritchie (K&R). Admittedly it is a pretty boring thing to do, but it helps you grasp the structure and the logic of the app or language. In Erwin's guide he shows us how to write tests and validation.
The AMP HTML repo has hundreds of issues open. They are nice enough to label some as GFI (Great First Issues) for people who want to start helping. One of those issues was to create a new component to display GitHub Gist so I asked if I could write it and they graciously accepted.
By writing this component, while it may be very basic, I have become more familiar with how AMP works. I believe that I've finished the
amp-gist component yesterday. I created my pull request earlier this week and I got some good feedback. I had to make some changes, but they weren't very difficult, and I made them. Then when it was reviewed, I had some more changes to make and some were more difficult. They offered to accept my pull request if I made some of the easier changes, but I wanted to try and make the more difficult changes. The way I was creating the iframe wasn't optimal for performance and gave me some suggestions. So I've done some digging, looking, researching, thinking, and a little bit of trial / error. I believe I've got the more difficult changes licked. This component no longer qualifies as a GFI, according to the person who reviewed my PR.
It is my opinion, as well as others, that AMP HTML is the future of the mobile web. It could also be the future of a new desktop web. No one, not even Google, knows where this will end up. Even if the piece I'm working on is small; I am still excited to be part of this. I've always wanted to contribute to something that people may use on a global scale.