golang framework

From: Code rural network, Translator: Komine

Links: www.codeceo.com/article/golang-framework-ide-tools.html

Since its launch, Google's Go programming language (Golang) more and more mainstream users. In a survey in December 2016, the 3,595 respondents showed that 89% of them outside of work or at work with the Go programming language.

In addition, in a programming language, Go Language ranked highest in terms of expertise and preferences. July 2017, the annual programming language in Tiobe rankings, Go language from 55 last year jumped to jump to the first 10.

Obviously, Go language attracted many programmers and software development outsourcing professionals from different disciplines. It can be said that this is all because of the ease of use of the Go language.

As an open source compiler-based programming language, Go language enables developers to easily build simple, reliable and efficient software. It is more conservative language, such as product innovation and evolution of C and C ++.

Go language use can reduce the amount of code input, and a robust API to write without sacrificing performance easier. Go language designed to achieve scalability and concurrency to achieve optimization. The compiler can perform all the code before checking work at runtime.

We collect the top of the frame Golang, IDE and tools list, for your quick reference. Proposed to add bookmarks to the browser in order to keep track of!

Golang framework

Web framework can help developers build applications quickly and easily as possible. Go language is still relatively new, so it is important to use the frame with adequate documentation.

There are nine framework helps you use the Go language to build the project.

1、Revel

As a framework for efficient productivity in Go, Hot Code Reload Revel tools included allow you to reconstruction projects in each time a file changes. It also includes a variety of comprehensive and high-performance features, so you do not need to find an external library integrated into the framework.

2, TPU

Beego is a full MVC framework, with its own logging library, ORM and Web framework. You do not need to go to install third-party libraries. It has a built-in tool called Bee Tool, used to monitor code changes, and run the task when it detects changes.

Beego can save you a lot of time, especially in the beginning of the project, you have to figure out a logging framework or structure of the application time.

3、Martini

Inspired by Sinatra, Martini is an extremely lightweight yet powerful framework. It was developed for writing modular Web applications and services with Golang.

It is characterized by non-invasive design, quick and easy, and includes various processing programs and middleware. It is able to HTML5 AngularJS application mode to perform basic routing, exception handling, and the default document services.

Martini best features may be used it is reflective, which allows developers to dynamically inserted into the data processing functions and add new services. Martini is also fully compatible http.HandlerFunc interface. However, the disadvantage is that Martini framework is no longer maintained.

4、Gin Gonic

Gin Gonic is a Web framework, similar to Martini's API, but better performance. If you've used before Martini, then you must be familiar with Gin Gonic. Martini never used it does not matter, you only need 10 minutes to learn to master Gin. It is so easy!

Gin Gonic is a very simplified framework, containing only the most important libraries and functions. This makes it ideal for developing high-performance REST API. In addition, it forty times faster than the Martini.

You can add middleware, nested groups, JSON validation and rendering, and still maintain its optimum performance. Gin Gonic use httprouter, Go language fastest HTTP router.

5、Buffalo

To build a new Web application Go language, use Buffalo is a fast and easy way. When you start a new project, Buffalo can provide everything for you - from front to back development.

It has a thermal overload, which means dev command will automatically see .go and .html files. Then, it will rebuild and restart the binaries for you. Run dev command, you can see the change right before your eyes!

Buffalo is not just a framework - it is a whole ecosystem of Web development, allows you to build applications directly.

6、Goji

Goji is a fast lightweight Web framework, and will be a combination of simplicity as its main priority. Like net / http.ServeMux, Goji minimalist HTTP request is a multiplexer. It includes Einhorn support, allowing Websocket provide support in Goji.

Other features include URL patterns, reconfigurable middleware stack, normal shutdown. Goji be used to produce, and provides hundreds of millions of requests in several tissues.

7、Tiger Tonic

Inspired by Dropwizard, Tiger Tonic is developed JSON Web services and REST API to build high-performance framework of Go. To be loyal to the principles of Golang, Tiger Tonic trying to keep orthogonal properties.

Tiger Tonic drawback is that the place still inadequate to build large-scale back-end application.

8、Gocraft

This is yet another powerful and simple framework, Gocraft provide fast and scalable routing performance. It will add a net route from the standard library / http package.

Gocraft is a Go mux and middleware software packages, with a strong projection and reflection capability, you can still enter the code. You can also use the built-in middleware to add optional features or write your own.

Since the performance is always one of the problems developers are most concerned about, so Gocraft is a great choice for developers. And the use of Gocraft framework for writing the back-end Web applications easily.

9、Mango

Although Mango has not been actively maintained creator Paul Bellamy, but many users still use the Go language of it. Mango's advantage lies in its modularity. You can choose from a variety of library to include in your project.

Mango lets you build reusable HTTP module functions quickly and easily as possible. It series middleware and applications compiled into a single HTTP server object, in order to keep the code independent.

Golang integrated development environment (IDE)

Golang IDE With the popularity of the Go language is more and more welcomed by everyone. Although there are still many developers still prefer to use a text editor, but there are a lot of developers prefer to use IDE.

If you are working on large projects with extensive code library, then IDE can help you easily organize code and navigation. In addition, IDE can help you test code and edit accordingly.

The following is Golang good work leading IDE.

1、Gogland

Software development company JetBrains released another reliable IDE, this one aimed at Golang released. Gogland is a commercial IDE, provides a powerful environment for ergonomic Go developers. It also has the function of coding assistance, debugging, and integrated terminal.

Since Gogland was created by an already established company, so it has a wide range of IntelliJ plug-in ecosystem, so you can get more when you need more tools.

2、Visual Studio Code

Visual Studio Code created by Microsoft is a full-featured open source IDE and code editor that supports a variety of programming languages. It is characterized by intelligent completion; breakpoints call, the call stack debugging and interactive console; built Git integration; and hierarchical folders and file browser.

As another popular IDE, Visual Studio Code Go have a contribution regularly developer support community. Use Visual Studio Code, you can use an array of available plug-ins to extend the functionality.

3, LiteIDE

LiteIDE is more than five years before the creation of the first to Golang centric open source IDE. As the C ++ Qt application has a unique appearance, LiteIDE providing code management, the command can be configured to build, and Delve GDB debugger, using MIME types WordApi-- based system - automatically created and the like. It also provides support for JSON and Golang.

4、Wide

Wide Web-based IDE Golang programmers. It is designed for collaborative development and design for the team and Web development agency. Wide features include syntax highlighting, debugging, Git integration.

Because Wide is created and maintained by a Chinese developer, so most of its documentation and support is in Chinese.

5, Atom with Go-Plus plug-in

If you're already using Atom, then you can improve the code editing experience Golang language through an open source software package called the go-plus. Use go-plus, you can get real-time feedback on grammar and build errors immediately.

Go-plus package provides support for Atom almost all of Golang. It can also be used for tools, build process, linters, vet and coverage tools.

Go-plus further including various code fragments and functions, such as auto-complete gocode, etc. gofmt, goreturns or goimports code format.

6, Eclipse with the GoClipse

Because Eclipse is a popular IDE, so we create a lot of plug-ins. GoClipse against Golang Eclipse plug-in, provided Go source code editor with syntax highlighting and automatic indentation configurable and braces completion.

GoClipse can also serve as Project Wizard and immediately report builder to construct and syntax errors. Other features include GoClipse debugging, and code assist.

7, with GoSublime of Sublime Text

Sublime Text is a sophisticated text editor, with a large number of contributors and developer community. Therefore, the developer for this purpose IDE to create a variety of plug-ins.

GoSublime is Sublime Text 3 plug-in for Golang, and when you write code, the code provided from Gocode completed, lint / grammar checking, automatically add and remove packages to import, and so on.

8, Vim plugin with Vim-Go

Vim is a free open source IDE, you can customize and configure a variety of plug-ins. If you are Golang programmer, then you can use vim-go Vim plugin created by Fatih Arslan. Vim-go to automatically install all the necessary binaries, to provide a smooth Golang Vim integration.

Vim-go is a powerful plug-in kit for writing and development of Go. Features include high-level source code analysis, add and delete introducing path, many third-party support, goto definition, fast file execution, and so on.

Vim-go is highly customizable, you can enable or disable various features according to your needs.

9、Komodo

Komodo is a full-featured Go language IDE, and supports such as Node.js, Python, Ruby, Perl and other programming languages. Use the Go IDE, you can easily write clean code. Features include advanced code editor, intelligent code completion, syntax checking, version control and unit testing, and allows code browsing and code hints Go Code Intelligence.

Komodo advantage is that it can be a great way for teamwork, because that allows multiple developers to simultaneously edit the document. As long as a license, Komodo can be installed on a Mac, Windows or Linux.

10, IntelliJ IDEA with Go Language (golang.org) supported plug-ins

IntelliJ IDEA (JetBrains developed by the company) is an IDE can thus use Golang through the Go language support plug-ins. If you want to use Golang in IntelliJ IDEA, then you need to install this plug-in, although different from Gogland, its limited functionality.

Golang Tools

Golang tool can be used for various projects and Web applications. Use these useful tools can help developers write code quickly and easily as possible and build the application.

Here is a list of top Golang tool for reference.

1、Apicompat

Apicompat Go is a new language tool that helps developers detect backward incompatible changes and export declarations.

You can avoid false alarms by Apicompat. However, Apicompat and can not be detected each backward incompatible changes. In addition, the library author does not take into account the need to exchange parameters and other changes.

2、Checkstyle

Inspired by the Java Checkstyle recommended for Checkstyle output of the coding style Golang. It also allows developers to check the file line / row functions and / parameter number, and configured by the user.

3、Depth

Another useful tool Golang, Depth helps Web developers to retrieve and visualize Go source dependency tree. It can be used as a standalone application or as a command line program specific package. You can set the corresponding flag on Tree before resolving to add custom.

4、Go-Swagger

The kit includes a variety of features and functions. Go-Swagger Swagger is to achieve a 2.0 serializing and deserializing swagger specification. It is a simple but powerful representatives RESTful API.

By Go-Swagger, you can standardize documentation, verification JSON mode and other additional rules swagger. Other features include code generation, generated based on the API specification swagger, the code is generated based on specification document, the extended string format, and the like.

5、Go Meta Linter

If you need to run Go lint tool and at the same time its output normalization, then Go Meta Linter can do for you. Go Meta Linter designed to work with a text editor or IDE integration, such as Sublime Linter plug, Atom go-plus package, Emacs Flycheck checker, used with Vim / Neovim, and Go for Visual Studio Code. It also supports a wide variety of linter and configuration files, such as JSON.

6、Go-callvis

Go-callvis is a Web development tool that allows you to use Graphviz dot format of Go program call graph visualization. This tool is especially useful when building large projects with complex code base. It if you want to understand the structure of the code to another developer or someone else's reconstruction projects, is also useful.

By go-callvis, developers can focus on specific packets in a program; The grouping function according to the type of package and method; and the package is limited to the custom path prefix, and ignores those that contain custom prefix thereof.

7, Gonative

Gonative Golang is a simple tool that allows you to use native libraries to build Go tool chain, which can cross-compile when using Cgo-enabled version stdlib package.

Gonative download binary distributions for each platform, libraries and copy them to the correct location. Meanwhile, Gonative mod set the correct time to avoid unnecessary reconstruction.

Unfortunately, Gonative on Windows is still untested. In addition, it does not provide Linux / arm support.

8、Grapes

Grapes Golang is a lightweight tool designed to easily distribute commands via SSH. It is written and maintained by active Yaron Sumel.

Grapes will soon support a full host key verification, which is the developer should be noted.

9、Gosimple

Golang linter greatness that it is focused on simplifying Go source. Gosimple always the latest version of Go as a target, so it needs Go version 1.6 or later.

If a new version of Go, gosimple would recommend the easiest and most simple way to avoid complex structure.

10、Go Vendor

Go Vendor Vendor is compatible with standard file folder of Golang tool. It allows developers to govendor add / update copy existing dependence from the $ GOPATH. You can also extract directly by govendor fetch new or update existing dependencies of dependencies, and the use of govendor migration to move the old system.

Guess you like

Origin www.cnblogs.com/jackey2015/p/11576242.html