Go for Web Development
2.9 (25 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
162 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Go for Web Development to your Wishlist.

Add to Wishlist

Go for Web Development

Find out how Go makes web development fast and enjoyable by developing a full stack web project
2.9 (25 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
162 students enrolled
Created by Packt Publishing
Last updated 1/2016
Current price: $10 Original price: $75 Discount: 87% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 2 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Get a web server up and running quickly with Go’s standard library
  • Design a UI with multiple template engines for improved flexibility
  • Call on the services of an external API
  • Get to grips with and incorporate web middleware
  • Use AJAX requests to build a single page web application
  • Integrate Gorilla/MUX for cleaner route handling
  • Create users securely by using bcrypt to hash user passwords
  • Access SQLite and Postgres databases and deploy your application on Heroku
View Curriculum
  • We expect you to have a background in general programming principles and the ability to write in any programming language, but no direct experience with Go is necessary.

Go is on the rise and showing itself as a powerful option in many software development domains. For web developers seriously considering adopting the language on the server side, Go comes with a very strong and accessible standard library. It makes setting up the architecture for web applications a comfortable experience, and provides a growing ecosystem of tools, libraries, and frameworks that can help you build web applications for delivery on the web.

Go for Web Development gets you started with web development in the language, opening with the classic "Hello world" through building an application with a strongly designed database backend, useful middleware, UI with an intelligent search function, multi-user authentication, and more.

We'll start off by building a web server with Go’s extensive standard library. You’ll learn the concepts of a single page web application and create a dynamic user interface using templates, manipulate a database, and use powerful encryption algorithms to implement an authentication system. We'll also start to incorporate more functionalities by calling out to external libraries from our database. When we've put everything together, we'll show you how package it all up and deploy it into the wild using Heroku.

About The Author

Larry Price is a software engineer with a passion for exploring the world of programming. He has a wide experience in building softwares with programming languages like go, ruby, javascript, and C++. He fell in love with go a couple of years ago and has taken every opportunity to utilize it at home and work.

Who is the target audience?
  • If you've heard a lot about Go and are interested in understanding how to use it for web development, this video course delivers the knowledge you need to start developing full web applications.
Compare to Other Go Programming Language Courses
Curriculum For This Course
20 Lectures
Hello, Go Web Development
4 Lectures 19:12

This video will offer an overview of the course.

The Course Overview

We'll get started by building a Go web application, which can be overwhelming. Let's focus on using a standard library to create our first route. We'll have a working web application by the end of this video.

Our First Route

We want to display a rich, data-driven interface to the users of a web application. We'll write some markup files and use the built-in templating engine to generate HTML to display dynamic data to the user.

Using Templates

We want to store data and access it from our server in the future. We'll connect to a sqlite database and show the connection status in our template.

Database Connections
Collecting Books
4 Lectures 23:20

The UI will be incomplete until the server delivers meaningful data. We'll put together a very basic search UI and fetch fake data from the server to present to the user.

Preview 06:27

We need to collect data from an external source to have any value in this app. We'll query the classify2 API to fetch real reference information based on the user's search criteria.

Surfing the Net

Users need to choose books to add to their collection. We'll save book selections from the server in our sqlite database for future use.

Using the Database

We don't want to duplicate the code to create the sqlite connection in every route. We'll use web middleware to inject the connection.

Introduction to Web Middleware
Become the Librarian
4 Lectures 20:31

Raw HTML is very verbose and, at times, repetitive. We will utilize a third-party template engine, called Ace, which will let us write cleaner, more succinct markup.

Preview 04:47

We need to display the user's book collection from previous selections. We'll pull all the books from the database and display them in the UI.

Showing Off Our Books

A user may want to remove old books from a collection. We'll add a feature to our application and delete unwanted selections.

Throwing Away Old Literature

We need our web application to be fast and easy to modify. We'll integrate one of the most popular and most powerful HTTP routers in golang to make our server more robust.

Using gorilla/mux
A Place for Everything
3 Lectures 23:24

Manually building Go objects from SQL results can be difficult to write and dangerous to modify. We'll use go-gorp to clean up our database calls.

Preview 07:02

Users need to sort books based on standard classification numbers in order to build a library. We'll add functionality for the user to sort books and store sort preferences.

Sorting Our Books

Users may only want to see fiction and nonfiction collections displayed separately. We'll add the filtering functionality so that the user can see a single category of books.

Fiction and Nonfiction
Different Folks, Different Libraries
4 Lectures 20:13

A library should support multiple users using the system. We need a method to identify each user. We'll build a basic login UI to allow authentication with the library application.

Preview 05:52

We do not want to store user passwords as plain text in our database. We'll use an encryption library to build secure password hashes for users.

Creating Users Securely

As users perform actions within the application, we need to verify the user's identity. We'll store the user's identity in the browser session and use the session to validate requests.

I Know Who You Are

Each user should have an independent collection of books. We'll associate books with a user and filter books being pulled from the database to match the corresponding user.

Update the Database
Wrapping Up
1 Lecture 07:55

Building a web application with standard library components can take a long time and result in redundant code. We could explore a number of potential frameworks to make writing web applications easier.

Preview 07:55
About the Instructor
Packt Publishing
3.9 Average rating
8,229 Reviews
58,974 Students
687 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.