Web framework for Go language

Source: Internet
Author: User
This is a creation in Article, where the information may have evolved or changed.

I started studying the go language last year and it was almost a year ago. I used to study PHP and Nodejs, which are weak types of explanatory language. Looking for a compiler-type strong-typed language to continue learning, the new Go language is selected. I'm only interested in Web applications, and I've seen a lot of interesting open-source go web frameworks, just throwing up slots.

Revel

Revel is the earliest Go language web framework, drawing on many ideas from the Java and Scala language of the play framework. The first time I watched play 1.x seemed to bring a whole new ethos to the Java community, and it felt like a fun thing to do. Later play 2.x turned to the Scala camp, bringing Java developers into the abyss and being ruthlessly spit out by many people. Today, the play community is still tepid, and domestic applications are small.

revelThis thing with the same problems as play, abandoned the original standard completely own. revelcompletely ignore Go standard library of one set, all is own concept; similar play discards the servlet 3 standard. As a result, I watched for a long time, still do not know how to use. The concept of self-bringing too many, is an obstacle Ah!

Of course, revel there are cases, such as hillside nets. His author's blog also has a lot of tutorial articles on revel.

Beego

Beego is the hottest frame in the country. Originally by giving him some code comments, read through the entire source. To my mind, this is a more medium-sized framework. In addition to the underlying MVC structure, there is support for multiple libraries, such as cache,orm,session. It's a good thing for developers to look at everything like this.

But the question is, can you use someone else's session or the cache? There have been cases of using the Xorm ORM Library instead beego of its own ORM. But there will always be an illusion: "It provides the use of its own bar, the other if the problem is not to engage in," the amount of hehe ah.

beegoWith a lot of people, documentation is also very complete (update not very timely), community and Q Group is also very active. Therefore, the choice of Beego is good.

Martini

Martini is a new and sharp frame, the concept is very good. However, martini just a mini-frame, with a simple core, a routing function and a dependency injection container inject. So many things need to write their own, such as view,session and so on. And there is no better example of using the database. It's a little difficult to learn.

In other words, it martini is not a chatty frame, but a component ecological martini-contrib. This is what Expressjs in Nodejs is doing. And his DI implementation makes it easy for third-party libraries to be transformed into martini canonical middleware. If there are more components, I believe there will be great future.

However, because the dependency injection implementation relies on reflect reflection, the go language's reflection library is inefficient. Too much middleware is sure to slow down the overall speed. This can only see the development of the go language later.

Summarize

The main framework is now the three. In fact, there are a lot of interesting implementations, such as Java struct -like xweb, Python flask -like entropy and ASP.NET MVC Goku. It's certainly good to see more.

But, more importantly, familiarity with the standard library !!!!!!

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.