Overview of What I've Been Learning

When I first started learning about web development, I took a crash course on the basics through Treehouse courses and website articles. I googled my way through what interested me and specific parts that I didn’t understand. Once I knew what something was, I moved on to the the next part. I didn’t become an expert at it, but I knew the basic idea of what that technology did. For example, I learned that HTML was a markup language organizing the structure of the page, CSS was responsible for the design aspects, JavaScript was responsible for behavior, back-end languages structured what a server sends to the browser, and databases like Postgresql stored information that users could access at a later time.

HTML

By diving a little more into the those parts, I learned that HTML had other subsets. There are a variety of tags that defines form inputs, links, captions and more. One of the most important aspects of HTML is the domain model object because that’s how libraries like jQuery interact with the page. HTML5 has a broad definition because along with new tags that were introduced like <audio> and <video>, it also standardized connections like websockets and server-sent events. Right now, I’m still becoming familiar with what counts as HTML5 exactly.

CSS

When it comes to CSS, I found that they have pre processors like SASS and LESS that make browser/vendor prefixes easier to use and introduced libraries as mixins. They organized css into something more manageable for front-end developers. I also learned about front-end frameworks like Bootstrap, Foundation, and Bourbon. The first two introduces additional markup to the html and interacts with their library while the latter functions as an extended mixin libray. This means that instead of adding markups for the page, you identify it in the scss file so that it can be processed into css. The first two makes the framework easier to implement in the beginning but the latter makes a clearer separation between design and the DOM.

JavaScript

Javascript has been the most difficult part to learn for me. There are a variety of libraries and frameworks that you could use. The one that I’ve used the most is jQuery but I’m trying to learn one of the popular frameworks that I’ve seen mentioned so much; Angular, Ember, and Backbone. Starting with any of them sort of feels like learning two languages at once but it will start making more sense later on.

Ruby on Rails

I delved deepest into this specific back end language. Most of my time has been devoted to learning Ruby on Rails. With that said, I’m more familiar with what they offer by default; jQuery, SASS, and MySQL. I chose Ruby on Rails because I found that there were more current resources that I could use to learn on my own and it was easier for me to understand how the methods work because of the syntax. It’s easier to create a simple CRUD site with Rails and it allowed me to delve deeper into what was happening when I needed to instead of learning it all at once.

Databases

Most of what I know about databases is hidden behind ActiveRecord and Oject Relational Mapping in Rails. I know how to create migrations, include associations, and adding indexes but I haven’t had to interact with MySQL or PostgreSQL directly. I’ve been able to connect it with Rails using its associated gems and I’m still learning how to optimize Rails queries to the databases. Taking baby steps with gems like bullet has been a good start.

Conclusion

After all this, I understand that knowing what something does is very different from being able to use it. Keeping a good overview stored in the back of my mind helps me makes sense of what I’m doing though. Also, instead of using other markup languages like Haml or compilers like Coffescript, I’ve stuck with HTML and Javascript because it helps me understand what I’m creating. Once, I’m completely comfortable with both, I’ll start making the switch to increase my productivity.