Nick Klepinger's Blog

Big Talk about Micro-Frontends

After a recent post on Martin Fowler's blog, there's been a lot of chatter online about micro-frontends. I am taking this opportunity to share my opinion of them, and highlight a recent project I worked on that utilized the micro-frontend idea. So What Are Micro-Frontends? The basic idea behind micro-frontends is to decompose a web application into completely separate, independently deployable…

Taking React in Context

Last month saw the release of React v16.3, and with it the much talked about new context API. The official docs have some great examples of how the new API works and even has a brief description of why you might use it. I'd like to take a moment to clearly lay out exactly how and why I've been using context in my applications, and why I'm so excited for this new API. New App, Who This? Most…

Announcing Fire-Fetch 🔥🐶 and Chore Tracker

I'm excited to announce the release of two new projects that I've been working on: Chore Tracker , a simple web application for families to use to track chores, and Fire-Fetch , a library of declarative React components for Firebase . Chore Tracker Growing up as an only child, chores were pretty easy to keep track of. I didn't have any siblings to fight with over whose turn it was to do the…

Firebase Auth with React Router v4

Firebase is a really cool Backend-as-a-Service (BaaS) similar to the now defunct Parse. They have a great free tier that I think is quite generous. Firebase offers a real-time database, storage options, hosting, and many other nice features worth checking out. One feature that I really like is Authentication. Firebase Auth allows you to use a bunch of different auth providers (Twitter, Google…

Thinking Critically About Redux In Your Application

When someone new to React asks online how to handle state or passing of props in their application, the answer often includes using Redux. While I think that Redux is a fantastic library and love using it, this post will hopefully illustrate why it isn't always necessary or even a good idea. Hammer Time.....Stop When I first started learning React, nearly every blog post, article, or tutorial I…

Angular 2 Tour of Heroes Tutorial With the NGRX Suite

Update: 09/26/2016 Updated repo to Angular 2 final. See the repo for more info. I recently was tasked with starting a brand new project at work that would be used for taking some simple internal surveys. Something like SurveyMonkey was overkill for what we're looking for, but using the built-in survey features in SharePoint (I know, I know, ugh) weren't going to be powerful enough. I originally…

Xamarin vs Native Swift for iOS Development

I will preface this post with the statment that I have very, very little experience working with Xamarin or native iOS development. Nothing I say here should be taken as anything more than a quick, face-value judgement. At my job we're very much a Microsoft shop. Almost all of our code is C# and written for ASP.NET and its various frameworks. Recently management made the decision to switch to…

Adventures with Node Callback Hell

I've been playing around with creating a simple web API using NodeJS and Express recently. I've found it to be a lot of fun to work with, however, I'm still fairly new to Node. In particular, I'm still trying to figure out how best to structure my code. This has led to some seriously ugly and over-indented code. I've been working on a simple login endpoint for the API that would return a JWT…

Angular 2 QuickStart in Visual Studio 2015

On the 15th of December, Angular 2 finally hit beta status. I immediately wanted to run through the QuickStart tutorial and take it for a spin. On my Macbook at home, this went swimmingly. Following the directions worked exactly as it should. The next day, I thought I'd take a crack at using it in my work environment. We're a Microsoft shop, so that means Visual Studio, ASP.NET, etc. I thought I'd…

Indie Games vs Indie Movies

With some of the recent big game releases and game convention season being underway, I've been thinking a lot about the difference between big release games and smaller indie titles. I can see the difference between the tremendous amount of work, money, and manpower that goes in to making something as big as Bioshock Infinite, but I also understand that the simple design of a game like Fez takes a…

The Great Code Divide...Follow up

Joel Spolsky posted this article yesterday afternoon at his blog, Joel on Software. Looks like there is some hope for the future after all! And then I also found this article , by Mark Dennehy, defending the current academic process. While I agree with Mark's premise that university courses are meant to teach fundamentals, it seems that those fundamentals have changed while most curricula have…

The Great Code Divide

Disclaimer: I don't have a CS degree, so maybe things are different in a true CS program. Update Feb 4, 2016 - I have since this post received a B.S. in Computer Science. Roughly two years ago, I finished up my associates degree in Technology with an emphasis on computer programming. I had always been a self-taught programmer. I started by teaching my self BASIC using QBASIC on MS-DOS back in the…