"All you need is the standard library" - Everyone on the internet

I can't tell you the number of times I heard this when learning to create web applications using Go. After a while, it started to haunt me.

I started learning Go by reading the standard library and every tutorial I could find, but I quickly ran into a problem.

Rather than creating HTML templates and rendering real dynamic content, we were instead using fmt.Fprint() to print hard coded HTML. 😱

Or when we needed access to a database we would create a global connection and share it with ALL of our code. Yikes!

As a result, I couldn't figure out how to get past creating my first few pages. It was frustrating, to say the least.

While getting stuck I kept asking myself questions like...

"How do I share my database connection with my handlers?"

"How do I hash user passwords securely? What is the correct way to make sure a user is authenticated and has access to this resource?"

"How should I organize my code? Where does the MVC pattern fit into all of this? Is my design RESTful? Will it be hard to maintain?"

No matter how many tutorials I read, I always felt like there was something left out. Some part of the bigger picture that wasn't explained, leaving me unsure of how to proceed.

The underlying problem was that every single tutorial I read oversimplified things, and what I needed was a comprehensive course showing me how all the pieces worked together.

Web applications are complex systems

After building my umpteenth silly TODO app, single page wiki, or some other contrived example I nearly gave up.

My progress was painfully slow, and every time I solved one problem I found myself facing two new ones. I still had no idea how to connect all of the pieces together.

It was as if someone had handed me toolbox, taught me how to use each tool, and then said "You now know how to build a house!" The hell I do! My house would blow over within the week if that was how construction worked.

It isn't enough to simply learn how each tool works. Knowing how to use a tablesaw, nailgun, and power drill don't qualify me to construct a house. You need to learn how every piece of a house gets connected together first. How the roof connects to the frame, how the frame is supported by the foundation, how much space to leave for air vents in the frame, and countless other details. In short, you need to know how everything works together.

So why do we keep thinking this approach will work for web development? Why do we keep telling new Gophers, "All you need is the standard library to build web applications!"

Technically it isn't inaccurate, but it sure as hell isn't the ideal way to learn and it leads to developers slugging through countless tutorials, reading endless docs, and trying hundreds of bad approaches before they finally get it right. And even then they aren't confident what they did is right. They just know it hasn't failed yet.

But what if you didn't have to struggle through hundreds of tutorials?

What if you didn't have to read countless tutorials? What if you didn't have to guess at how to hash and store a user's password? What if you had confidence that your authentication was truly secure? You would finally be able to rest easy at night knowing you aren't letting your users down. Or you would be able to start actually building that app so you can meet your first customers. And most importantly, you could finally start enjoying the benefits of using Go for web development.

Web Development with Go can help you cut through all the complexity and finally become the developer you know you should be.

Web development with Go absolutely saved me from giving up on Go. Before finding this course I kept hitting roadblock after roadblock. I can't tell you how excited I was when I realized just how approachable and productive this course is. I went from struggling to get even the most basic tasks completed to actually building out my own app idea. I can't wait to release it!

Web Development with Go is the course I wish I had.

This course is the result of over a year of work and research. Time spent reading documentation, source code, blog posts, and anything else I could get my hands on. Writing thousands of lines of code, refactoring endlessly, and constantly seeking better design patterns.

Web Development with Go will save you months of research, trial and error, and nights scratching your head. After completing the course you will...

‣ Know exactly how to initialize your database connection and give the rest of your code access to it

‣ Have clear examples of how and when to email users.

‣ Be positive that you are salting and hashing your passwords correctly

‣ Feel confident saying, "Yes, my authentication system is safe and secure!"

‣ Know exactly how to organize your code using MVC so that it encourages a RESTful design.

‣ And so much more!

All of this is possible because this is not your run of the mill 30 minute tutorial. It is a comprehensive breakdown of every aspect of web development, teaching everything from how to create the most basic web application all the way to preparing your code and deploying it in a production environment. The course spans over 38 hours of screencasts and the included ebook is over 700 pages long. Even after completing the course, you will be referencing the material for years to come.

(Watch a sample screencast of the first web application we write. Be sure to check out the followup video where we explain what all of this code does afterwards.)

(Check out the followup to this video where we explain the code we just wrote in detail.)

Interested in a Preview?