2019 was a massive year for me. Almost everything in my life changed: my place of work, the city I call home, and getting married my best friend. It was a year to remember for my personal story. I now reside in Brooklyn, New York, taking the train into Manhattan every morning to work at a dream company doing cutting-edge things.
Much like 2018, I wanted to reflect on all the things I learned throughout 2019. As front end development continues to be my focus, I have begun to form opinions regarding this discipline. I continue to value the need for developers to specialize in front end development.
I'll kick this off by talking about React Native. I spent the first half of 2019 working on a React Native application, and to be honest, I kind of miss it. I miss the experience of seeing the work I'm doing on a phone. I love the value that React Native provides in that React developers can quickly understand how to contribute to mobile application. While there are many pain points regarding the debugging process of React Native, I am sure they are working on ways around this. I hope someday to continue my learning of React Native, but for the time being, I am purely in the realm of frontend web.
I feel it necessary to add GraphQL to list since the aforementioned React Native application used GraphQL. More specifically, I got familiar with Appollo and Apollo client. I have also experimented with personal projects using Apollo cache and building a simple graphql server with Appollo Server and node.js.
GraphQL is great and provides a really clean and expressive development experience for a frontend developer. While I haven't gotten to use this in production since the React Native project, I do hope to get some more experience with GraphQL.
After making the jump to NYC and starting a new job, I was tasked with taking on a Next.js project for our new marketing site. I quickly fell in love with it and how easy it can be to create server rendered React applications. The built in static optimizations are pretty impressive and seamless. The build step in Next.js will try to create static HTML files for you if your React application has no server side dependencies. That's pretty awesome. I plan to make more personal projects with this framework (I already have a couple in the works).
I feel it necesary to mention Zeit's Now deployment framework because it's so incredibly easy to use. I am currently using it for a couple personal projects and it's undeniably easy to setup and configure. There is a command line interface where, once you are logged in, all you type is
now and it will deploy on a zeit now instance. The Zeit Now dashboard will provide all the info you need regarding your deployment and lambda functions. Super great.
AWS Lambda and Cloudfront
These are honorable mentions because the Next.js application I just mentioned is served on AWS and Cloudfront. Sadly, I was not the person to setup this environment but I was able to get a little familiar with the deployment flow after everything was set up. The concept of serverless is quite intriguing to me as a front end developer and I see a lot of benefits in its growth in popularity.
I should mention the Backendless Conf, an online conference I attended. I learned a lot about the current state of serverless technology. The conference provided a nice overview of the landscape of serverless, meaningful services currently being offered, and problems currently being solved within the serverless space.
A quick shout out to gitkraken. I've been using this as a git management tool for a while and find it quite useful. A lot of the time I use the build in VSCode git tools but sometimes when needing to compare branches/commits/etc, I find gitkraken a bit easier to wrap my head around.
That's probably it for 2019. I spent most of my days just contributing to projects using React and Typescript. 2020 is already turning out to be quite a productive year so far, and I'm excited for what the rest of the year holds.