Beego: A Go Web Application Framework

Creating enterprise-grade apps that are also efficient and easily maintained can be challenging, but it doesn't have to be. In this course, you'll see how to use the Beego web application framework including a survey of its major components.
Course info
Level
Intermediate
Updated
Apr 29, 2016
Duration
3h 31m
Table of contents
Description
Course info
Level
Intermediate
Updated
Apr 29, 2016
Duration
3h 31m
Description

Beego is a full-featured framework for Go, offering many capabilities that enable the construction of large, enterprise-grade applications in an efficient and maintainable way. This course, Beego: A Go Web Application Framework, will introduce you to Beego and help you understand if it is the right choice for you and your team. First, you'll learn about how to route URLs to controller methods and about namespaces. Next, you'll learn how to work with requests and generate responses. Finally, you'll learn how to create and configure filters, and you'll also cover Beego's object relational mapper (or ORM) and how to use it. By the end of this course, you'll be able to use Beego to create large but maintainable applications on par with any professional enterprise.

About the author
About the author

Michael Van Sickle is an application architect in Akron, Ohio. He is a mechanical engineer by training and a software engineer by choice. He is passionate about learning new programming languages and user experience design.

More from the author
The Go CLI Playbook
Intermediate
2h 8m
28 Feb 2018
Intern 4: Getting Started
Beginner
2h 41m
9 Jan 2018
Object-oriented Programming with Go
Intermediate
1h 42m
11 Aug 2017
More courses by Mike Van Sickle
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi, everyone. My name is Michael Van Sickle and welcome to my course, Beego: A Go Web Application Framework. I'm a software engineer at SitePen. The Go language is one of the fastest growing programming languages today and its focus on simplicity makes it one of the most maintainable languages available. In this course, we're going to learn about the Beego web framework and its associated object relational mapper. Some of the major topics that we'll cover include routing, request and response processing, how to work with Beego's layout tooling for views and Beego's pre-packaged ORM. By the end of this course, you'll know how to get a Beego application up and running and if it's the right fit for your next project. Before beginning this course, you should be familiar with the Go language and the basics of MVC-Style web application frameworks. I hope you'll join me on this journey to learn Beego with this course at Pluralsight.

Introduction to Beego
Hello, and welcome to this course on Beego: A Go Web Application Framework. My name is Mike. Over the last several years, many web application frameworks have started to sprout up throughout the Go community and I understand that it can be difficult to decide which framework is going to be best for your application. In this course, it's going to be my goal to help you understand if Beego is the right answer for you. In this module, we're going to start things out and make sure that we understand where we're coming from and where we're going. The first thing that I want to talk about is my target audience. Now I'm sure by now you've probably seen quite a few Pluralsight courses and you're probably used to this and I just want to make sure that you're ready for the content that I'm going to be talking about. We'll then move into an overview of the Beego framework and talk about the components and features that it contains and offers to us. And then I'm going to present a tl;dr section. Now this stands for too long--didn't read and this is going to be kind of an executive level overview of the Beego framework so that you can very quickly get in there and understand if Beego is a candidate that's worth learning more about. And finally, I'll wrap up this module with a discussion of the demo scenario. Now if you've watched any of my courses before, you're used to the fact that I like to bring in some sort of a realistic demonstration scenario in order to exercise the framework or library that we're investigating and this course isn't going to be any different, so we'll introduce the demo scenario and get ourselves started. So now, let's move in and start talking about the audience that I'm targeting for this course.

Working with Requests
Hello, and welcome back to this course where we're learning about the Beego web application framework for Go. My name is Mike. In this last module we went through the various ways that Beego offers to allow us to map urls to the controllers and actions in our application. Well, now that we have the requests where we want them to go, it's time to figure out what to do with them and that's what we're going to be talking about in this module. We're going to be starting our discussion by learning about how we're going to be able to receive data from the request in order to allow the controllers to work with it. Now that's going to break down into several different categories. We'll learn about how to work with primitives, that's integers and strings and things like that; we'll learn how to work with files that get uploaded to the server, and then we'll move into learning how to process more complicated data structures such as structs that are coming in the requests stream, and we'll wrap up this section by discussing how Beego enables us to work with incoming data that's in the form of JSON or XML. Very often though, just getting access to our data isn't going to be good enough; we need to make sure that that incoming data is good and to support that, we're going to learn about Beego's data validation framework and how we can use that in order to guarantee that the data that's coming in matches our expectations. Okay, let's get started by learning how we can work with primitives that are coming in with the request.

Filters
Hello, and welcome back to this course on the Beego web application framework for Go. My name is Mike. In the last module, we finished up our discussion about how to implement the primary code path through your application. We started that in module 2 by learning how to map urls to controller actions, then we talked about how to handle the requests once we got the routing set up, and finally in the last module, we learned how, after we're done processing that request, we can send a response back down to the requester. In this module, we're going to cover filters which are going to allow us to handle the additional concerns that every web application has to manage that aren't directly in the primary business cases that your application is trying to address and the common examples of uses of a filters are things like logging and security and things like that. Well with Beego this is going to be pretty simple and this should be a pretty short discussion. We've really only got two things to cover. In order to really understand how filters work, the first thing we need to understand is the lifecycle that an http request goes through in the Beego framework so we'll go through that lifecycle and then we'll talk about the injection sites that Beego offers us to add our filters into and then we'll talk about custom filters themselves and how to create our own and register them with the Beego framework. So let's get started by talking about the Beego http request lifecycle.