62 lines
6.7 KiB
HTML
62 lines
6.7 KiB
HTML
|
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Web Application Development with Beego - exported from Medium</title><style>
|
|||
|
* {
|
|||
|
font-family: Georgia, Cambria, "Times New Roman", Times, serif;
|
|||
|
}
|
|||
|
html, body {
|
|||
|
margin: 0;
|
|||
|
padding: 0;
|
|||
|
}
|
|||
|
h1 {
|
|||
|
font-size: 50px;
|
|||
|
margin-bottom: 17px;
|
|||
|
color: #333;
|
|||
|
}
|
|||
|
h2 {
|
|||
|
font-size: 24px;
|
|||
|
line-height: 1.6;
|
|||
|
margin: 30px 0 0 0;
|
|||
|
margin-bottom: 18px;
|
|||
|
margin-top: 33px;
|
|||
|
color: #333;
|
|||
|
}
|
|||
|
h3 {
|
|||
|
font-size: 20px;
|
|||
|
margin: 10px 0 20px 0;
|
|||
|
color: #333;
|
|||
|
}
|
|||
|
header {
|
|||
|
width: 640px;
|
|||
|
margin: auto;
|
|||
|
}
|
|||
|
section {
|
|||
|
width: 640px;
|
|||
|
margin: auto;
|
|||
|
}
|
|||
|
section p {
|
|||
|
margin-bottom: 27px;
|
|||
|
font-size: 20px;
|
|||
|
line-height: 1.6;
|
|||
|
color: #333;
|
|||
|
}
|
|||
|
section img {
|
|||
|
max-width: 640px;
|
|||
|
}
|
|||
|
footer {
|
|||
|
padding: 0 20px;
|
|||
|
margin: 50px 0;
|
|||
|
text-align: center;
|
|||
|
font-size: 18px;
|
|||
|
}
|
|||
|
</style></head><body><article>
|
|||
|
<header>
|
|||
|
<h1>Web Application Development with Beego</h1>
|
|||
|
</header>
|
|||
|
<section data-field="subtitle">
|
|||
|
Beego is a fantastic web application framework from the Go China community. It currently powers some of the biggest websites in China, and…
|
|||
|
</section>
|
|||
|
<section data-field="body">
|
|||
|
<section name="49e0" class=" section--first section--last"><div class="section-divider layoutSingleColumn"><hr class="section-divider"></div><div class="section-content"><div class="section-inner layoutSingleColumn"><h2 name="f4cf" id="f4cf" class="graf--h2 graf--first">Web Application Development with Beego</h2><p name="8768" id="8768" class="graf--p">Beego is a fantastic web application framework from the Go China community. It currently powers some of the biggest websites in China, and thus the world.</p><p name="b4f1" id="b4f1" class="graf--p">Let’s get started. For now I am going to assume you are running OSX or Linux. Getting Beego set up on Windows with the sqlite driver is nontrivial at best due to Windows being terrible.</p><h3 name="589c" id="589c" class="graf--h3">Installing Beego</h3><p name="115e" id="115e" class="graf--p">The Beego developers have made a tool called bee for easier managing of Beego projects. To install it, run:</p><p name="4400" id="4400" class="graf--p">go get github.com/beego/bee<br>go get github.com/astaxie/beego</p><p name="0980" id="0980" class="graf--p">The `bee` tool will be present in $GOPATH/bin. Please make sure this folder is in your $PATH or things will not work.</p><h3 name="e6d2" id="e6d2" class="graf--h3">Creating a Project</h3><p name="b637" id="b637" class="graf--p">Navigate to a directory in your $GOPATH and run the command `bee new quickstart`:</p><figure name="bdc7" id="bdc7" class="graf--figure"><div class="aspectRatioPlaceholder is-locked" style="max-width: 602px; max-height: 488px;"><div class="aspect-ratio-fill" style="padding-bottom: 81.10000000000001%;"></div><img class="graf-image" data-image-id="1*ATTbb_23WVmxgoFweXSXQg.png" data-width="602" data-height="488" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*ATTbb_23WVmxgoFweXSXQg.png"></div></figure><p name="3cc4" id="3cc4" class="graf--p">The `bee` tool created all the scaffolding we needed for our example program. Change into that directory and run `bee run`. Your application will be served on port 8080.</p><figure name="fdf0" id="fdf0" class="graf--figure"><div class="aspectRatioPlaceholder is-locked" style="max-width: 700px; max-height: 559px;"><div class="aspect-ratio-fill" style="padding-bottom: 79.9%;"></div><img class="graf-image" data-image-id="1*DG8Tl71KXYdiddV1x6m0GQ.png" data-width="1107" data-height="884" data-action="zoom" data-action-value="1*DG8Tl71KXYdiddV1x6m0GQ.png" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*DG8Tl71KXYdiddV1x6m0GQ.png"></div></figure><p name="d938" id="d938" class="graf--p">Now let’s take a look at the parts of Beego that are in use. Beego is a typical MVC style framework so there are 3 basic places you may need to edit code:</p><p name="9e76" id="9e76" class="graf--p">The Models are Beego’s powerful database-backed models (we’ll get into those in a little bit), the Views are normal Go <a href="/r/?url=http%3A%2F%2Fgodoc.org%2Fhtml%2Ftemplate" data-href="/r/?url=http%3A%2F%2Fgodoc.org%2Fhtml%2Ftemplate" class="markup--anchor markup--p-anchor">html/template</a>s, and the Controllers are the Go code that controls the Views based on the Models.</p><figure name="e163" id="e163" class="graf--figure postField--insetLeftImage"><div class="aspectRatioPlaceholder is-locked" style="max-width: 350px; max-height: 173px;"><div class="aspect-ratio-fill" style="padding-bottom: 49.4%;"></div><img class="graf-image" data-image-id="1*EZ1qIqeXNW_NfKuLbudogA.png" data-width="417" data-height="206" data-action="zoom" data-action-value="1*EZ1qIqeXNW_NfKuLbudogA.png" src="https://d262ilb51hltx0.cloudfront.net/max/600/1*EZ1qIqeXNW_NfKuLbudogA.png"></div></figure><p name="4d04" id="4d04" class="graf--p">New Beego projects use Beego’s default HTTP router, which is similar to Sinatra or Tornado. The default router is very simple. It will only route `/` to the MainController that was generated for you:</p><figure name="b213" id="b213" class="graf--figure"><div class="aspectRatioPlaceholder is-locked" style="max-width: 385px; max-height: 278px;"><div class="aspect-ratio-fill" style
|
|||
|
</section>
|
|||
|
<footer><p>Exported from <a href="https://medium.com">Medium</a> on February 1, 2015.</p><p><a href="https://medium.com/p/56ea5ffd40f9">View the original</a></p></footer></article>
|
|||
|
|
|||
|
</body></html>
|