Skip to main content

Welcome to the Web

As I've mentioned before, I'm not entirely new to development. I've been developing desktop applications for the past several years. Although I'd had a small amount of exposure to web development before, I'd never done anything in-depth enough to be familiar with the foundational complexities of developing fully-functional web applications. Now that I'm three weeks into a high-intensity academy for training in front-end web development, I thought I'd share my impressions so far of how it compares to desktop development.
Obviously, there's a little more to it than that but it's really just been a huge eye-opener every day to be introduced to more and more tools that are used to develop an application. In my experience with desktop applications, you generally stick to a small handful of technologies on any given project. 

For example, to create a fully-functional desktop application, you need nothing more than, say, C#. If you decide that you need to persist some data, you can get a database involved, such as Microsoft SQL Server. Yep, that's usually about as organizationally complicated as it gets and, at this point, you would have potentially created some enterprise level software using nothing but those two tools. If you need to call out to a web service, maybe you get some XML involved. If you need to interface with an application in the Microsoft Office suite, maybe you get some COM involved. But again, none of these are necessary.

And then there's web development. Although it is true that you could publish a web page with nothing more than an HTML document, I'm going to focus on what I'd call meaningful development. If you throw in some CSS, you're getting closer to meaningful development but you might still be somewhere in the neighborhood of the Space Jam website - a 1996 gem of web wonderment. If you actually want to start making true web applications, please refer to the below screenshot for some of what's going to be involved:

Yeah... There's a lot going on there. Bare with me as I take you through this tangled "web" of technologies (see what I did there?). I'll embolden and italicize the key terms to give a better visual representation of the complexity.

To create the structure of your web page, you'll need to utilize HTML. Then you'll want to add some stylistic formatting to the page to make it visually appealing - this is where CSS comes in. Then you'll find out that CSS is a convoluted and seemingly incomplete mess, so you'll utilize Sass to bring order to the madness. If you want to take your Sass to the next level, you can take advantage of the Bourbon mixin library. Since a web application is completely useless if it's not dynamic, you'll need to throw in plenty of JavaScript. To spice up your HTML document manipulation, you'll use jQuery, a feature-rich JavaScript library. Then there's the seemingly endless array of other JavaScript libraries/frameworks - Underscore, Backbone, Ember, Moment, etc. You'll need something to manage all of these packages and serve up your page, such as Grunt, which will utilize a package.json file. And of course, the tool used to manage these tools is installed by another tool called the Node.js Package Manager which is used to manage packages such as Grunt (did I use the word "tool" yet??).

I think you get the idea. And the plethora of acronyms is making my head hurt, so I'll stop there. Honestly, one of the most challenging things so far has been simply understanding the tools available, which ones are the most useful, and how to connect them all up. Not to mention, the toolset changes all the time. People are releasing new libraries, finding new and better ways to accomplish previously tedious tasks, etc. There's no doubt that it's going to be a lifelong undertaking to stay competitive in the wonderful world of web - and I couldn't be more excited about it.


  1. My head just exploded.....Looks like you found your development mojo again :)

    1. Haha, I hear ya. Definitely, it's been a blast so far.


Post a Comment

Popular posts from this blog

Building a Product

This is the second post in a series I’m writing about a company I’m starting up (or have started, depending on when you’re reading this). You can read other posts in the series here . As I’ve talked about here , I’m starting a company called MailSnail . In this post, I want to share the ins and outs of how we’ve built the product (i.e. the actual web application). The Buzzwords I’ve tried my hardest to make this post as approachable as I possibly can for anybody and everybody. I don’t want this to be something that is only interesting to folks who know what HTTP stands for or can rattle off it’s associated status codes. So for my non-tech readers, please bare with me for this one section and keep on reading. For my fellow tech-nerds, I figured you might not care so much about the minute implementation details but rather are just more interested in a list of all of the pieces of our tech-stack (because you already know the implications of each in their use). So here’s the qui

The Future of Education

It's always very interesting to me to see the directions that people go after college. I know several people who have degrees in Graphic Design and are now database administrators and administrative assistants. Others I know have degrees in Finance and are now Worship Pastors. An Art History major who's a full-time nanny, an Interior Design major who's a Campus Manager for a church, the list goes on an on. This pattern could be indicative of many things. Perhaps the job market at the time didn't present any opportunities for the chosen field when graduation came. Maybe after 4 years of studying towards a degree in a particular topic, there was a realization that it really wasn't that enjoyable. However, I'm convinced that it correlates to the state of the education system. Not that it's necessarily broken, and certainly not that it's useless, but that it's due for some thoughtful reconsideration. According to a study done by Jaison Abel and

MailSnail Series

Starting in August of 2015, I began building a company called MailSnail with my friend and co-founder, Matt Bertino . To follow along with my personal thoughts on the ins and outs of the company, experiences, lessons learned, technical details, etc., please check out the posts below. I’ll continue to add new posts here as I publish them. Post 1: Starting a Company Post 2: Building a Product Post 3: Launching a Product