Ghidul Golang: A List of Top Golang Frameworks, IDEs & Tools

De la introducerea sa, limbajul de programare Go al Google (Golang) s-a bucurat de o popularitate din ce în ce mai mare în rândul utilizatorilor obișnuiți. Într-un sondaj din decembrie 2016, 89% dintre cei 3.595 de respondenți au afirmat că programează în Go la locul de muncă sau în afara acestuia.

În plus, Go se situează pe primul loc în rândul limbajelor de programare în ceea ce privește expertiza și preferințele. În această lună iulie 2017, Go ocupă locul 10 în clasamentul Tiobe „Limbajul de programare al anului”, sărind de pe locul 55 pe care îl ocupa anul trecut.

Este clar că Go atrage mulți programatori din diverse discipline și profesioniști în externalizarea dezvoltării de software. Și se poate spune cu siguranță că acest lucru se datorează ușurinței de utilizare a Go.

Ca limbaj de programare compilat, open-source, Go facilitează dezvoltatorilor să construiască software simplu, fiabil și eficient. Este produsul inovației și evoluției limbajelor mai conservatoare, cum ar fi C și C++.

Cu Go, cantitatea de tipărire a codului este redusă, iar scrierea unor API-uri robuste, fără a sacrifica performanța sa, a devenit mai ușoară. Conceput pentru scalabilitate și simultaneitate, Go face posibile optimizările. Un compilator poate efectua toată munca de inspecție a codului înainte de timpul de execuție.

Am compilat o listă cu cele mai bune framework-uri, IDE-uri și instrumente pentru Golang pentru referință rapidă. Marcați-o în browserul dvs. pentru a vă putea întoarce ori de câte ori lucrați cu Go!

Frameworks pentru Golang

Cadrele web ajută dezvoltatorii să construiască aplicații cât mai ușor și mai rapid posibil. Go este încă relativ nou, așa că este important să folosiți cadre cu documentație suficientă.

Iată 9 cadre pe care le puteți folosi pentru a vă ajuta să construiți proiecte folosind limbajul Go.

Revel

Ca un cadru de înaltă productivitate pentru Go, Revel include un instrument Hot Code Reload care vă permite să reconstruiți proiectul la fiecare modificare de fișier. De asemenea, include o mare varietate de caracteristici cuprinzătoare și de înaltă performanță, astfel încât nu trebuie să găsiți biblioteci externe pentru a le integra în framework.

Beego

Beego este un framework MVC complet, cu propria bibliotecă de logare, ORM și framework-uri web. Nu este nevoie să găsiți și să instalați biblioteci terțe. Dispune de un instrument încorporat numit Bee Tool care urmărește modificările de cod și execută sarcini atunci când sunt detectate modificări.

Beego vă va economisi o mulțime de ore, în special la începutul unui proiect, când vă dați seama de cadrul de logare sau de structura aplicației.

Martini

Inspirat de Sinatra, Martini este un cadru extrem de ușor, dar puternic. A fost dezvoltat pentru scrierea de aplicații și servicii web modulare în Golang.

Se caracterizează printr-un design neintruziv, rapid și ușor de utilizat și include o gamă largă de gestionari și middleware. Este capabil să efectueze rutarea de bază, gestionarea excepțiilor și servirea documentelor implicite pentru aplicațiile AngularJS în modul HTML5.

Cea mai bună caracteristică a lui Martini este utilizarea reflecției, care permite dezvoltatorilor să introducă în mod dinamic date în funcțiile de manipulare și să adauge noi servicii. Martini este, de asemenea, complet compatibil cu interfața http.HandlerFunc. Dezavantajul, însă, este că cadrul Martini nu mai este întreținut.

Gin Gonic

Gin Gonic este un cadru web cu un API asemănător cu Martini, dar cu performanțe mult mai bune. Dacă ați folosit Martini înainte, atunci veți fi familiarizați cu Gin Gonic. În caz contrar, vă va lua doar 10 minute să învățați Gin. Este atât de ușor!

Gin Gonic este un framework minimalist care include doar cele mai esențiale biblioteci și caracteristici. Acest lucru îl face perfect pentru a dezvolta API-uri REST de înaltă performanță. În plus, este de 40 de ori mai rapid decât Martini.

Puteți adăuga middleware, grupuri imbricate, validare JSON și redare, dar își păstrează în continuare performanța optimă. Gin Gonic folosește httprouter, cel mai rapid router HTTP pentru Go.

Buffalo

Crearea de noi aplicații web cu Go este rapidă și simplă cu Buffalo. Atunci când începeți un nou proiect, Buffalo are deja totul pregătit pentru dumneavoastră – de la dezvoltarea front-end până la cea back-end.

Acesta dispune de Hot Reloading, ceea ce înseamnă că dev command vă va urmări automat fișierele .go și .html. Apoi va reconstrui și va reporni binarul dumneavoastră pentru dumneavoastră. Rulați pur și simplu comanda dev și veți vedea cum schimbările vor fi live chiar în fața ochilor dumneavoastră!

Buffalo este mai mult decât un simplu framework – este un ecosistem holistic de dezvoltare web care vă permite să treceți direct la construirea aplicației dumneavoastră.

Goji

Goji este un framework web ușor și rapid care are ca prioritate principală compozabilitatea și simplitatea. La fel ca și net/http.ServeMux, Goji este un multiplexor de cereri HTTP minimalist. Acesta include suport Einhorn, ceea ce face posibil să aveți suport pentru websocket în Goji.

Caracteristicile suplimentare includ modele URL, stivă de middleware reconfigurabilă, închidere grațioasă și multe altele. Goji poate fi utilizat în producție și a servit miliarde de cereri în mai multe organizații.

Tiger Tonic

Inspirat de Dropwizard, Tiger Tonic este un framework Go pentru dezvoltarea de servicii web JSON și construirea de API-uri REST de înaltă performanță. Pentru a rămâne fidel principiilor Golang, Tiger Tonic se străduiește să mențină caracteristicile ortogonale.

Inconvenientul lui Tiger Tonic este inadecvarea sa atunci când vine vorba de construirea de aplicații mari, de tip back-end.

Gocraft

Un alt framework puternic, dar minimalist, Gocraft oferă performanțe rapide și scalabile de rutare. Acesta adaugă rutarea la pachetul net/http din biblioteca standard.

Gocraft este un pachet de mux și middleware Go care dispune de capabilități de turnare și reflectare, astfel încât să puteți tasta codul static. Puteți, de asemenea, să adăugați o funcționalitate opțională cu middleware-ul încorporat sau să vă scrieți propria funcționalitate.

Din moment ce performanța este întotdeauna una dintre principalele preocupări pentru dezvoltatori, Gocraft este o alegere excelentă pentru dezvoltatori. Este foarte ușor să scrieți aplicații web backend folosind cadrul Gocraft.

Mango

Deși Mango nu este întreținut în mod activ de către creatorul său, Paul Bellamy, o mulțime de utilizatori Go încă îl folosesc. Ceea ce este extraordinar la Mango este modularitatea sa. Puteți alege dintr-o varietate de biblioteci pe care să le includeți în proiectul dumneavoastră.

Mango vă permite să construiți module reutilizabile de funcționalitate HTTP cât mai rapid și mai ușor posibil. Acesta compilează o listă de middleware și aplicații într-un singur obiect de server http pentru a vă păstra codul autonom.

Mediu de dezvoltare integrat (IDE) pentru Golang

IDE-urile pentru Golang sunt din ce în ce mai populare, împreună cu limbajul Go. Deși mulți dezvoltatori preferă în continuare să folosească editori de text, mulți preferă să folosească și IDE-uri.

Dacă lucrați la un proiect la scară largă cu o bază de cod extinsă, un IDE vă poate ajuta să vă organizați codul și să navigați cu ușurință în el. Mai mult, IDE-urile vă pot ajuta să vă testați codul și să le editați în consecință.

Iată care sunt cele mai bune IDE-uri care funcționează foarte bine cu Golang.

Gogland

Compania de dezvoltare software JetBrains a lansat un alt IDE de încredere, dar de data aceasta, pentru Golang. Gogland este un IDE comercial care oferă un mediu ergonomic robust pentru dezvoltatorii Go. De asemenea, dispune de asistență la codare, debugger și un terminal integrat.

Pentru că Gogland a fost creat de o companie consacrată, are un ecosistem extins de plugin-uri IntelliJ de unde puteți obține instrumente suplimentare în cazul în care aveți nevoie de mai multe.

Visual Studio Code

Creat de Microsoft, Visual Studio Code este un IDE și un editor de cod cu funcții complete, open-source, care suportă o mare varietate de limbaje de programare. Dispune de completare inteligentă cu IntelliSense; depanare folosind puncte de întrerupere, stive de apeluri și o consolă interactivă; integrare Git încorporată; și explorator ierarhic de dosare și fișiere.

Ca un alt IDE popular, Visual Studio Code are o comunitate de susținere a dezvoltatorilor Go care contribuie în mod regulat. Cu Visual Studio Code, puteți extinde funcționalitățile cu ajutorul gamei de plugin-uri disponibile.

LiteIDE

LiteIDE este printre primele IDE-uri open-source, centrate pe Golang, care a fost creat cu mai mult de 5 ani în urmă. Fiind o aplicație C++ Qt cu un aspect unic, LiteIDE oferă management de cod, comenzi de construcție configurabile, depanator gdb și Delve, autocompletare și tematizare cu WordApi, sistem bazat pe tipuri MIME și multe altele. De asemenea, oferă suport JSON și Golang.

Wide

Wide este un IDE bazat pe web pentru programatorii Golang. Este conceput pentru dezvoltare colaborativă și funcționează cel mai bine pentru echipe și agenții de dezvoltare web. Printre caracteristicile Wide se numără evidențierea codului, depanarea, integrarea Git și multe altele.

Pentru că Wide este creat și întreținut de un dezvoltator chinez, cea mai mare parte a documentației și a suportului său sunt în limba chineză.

Atom cu plugin go-plus

Dacă folosiți deja Atom, experiența de editare a codului în Golang poate fi îmbunătățită cu un pachet open-source numit go-plus. Cu go-plus, primiți feedback instantaneu, în timp real, cu privire la sintaxa și erorile de construcție.

Pachetul go-plus oferă aproape tot suportul Golang în Atom. De asemenea, poate fi utilizat pentru instrumente, fluxuri de construcție, linters, instrumente de verificare și acoperire.

Go-plus include, de asemenea, diverse fragmente de cod și caracteristici, cum ar fi autocompletarea cu gocode, formatarea codului cu gofmt, goreturns sau goimports și multe altele.

Eclipse cu GoClipse

Pentru că Eclipse este un IDE foarte popular, au fost create numeroase plugin-uri pentru acesta. GoClipse este un plugin Eclipse pentru Golang care oferă editarea codului sursă Go cu evidențiere configurabilă a sintaxei și completare automată a indentației și a brațelor.

GoClipse servește, de asemenea, ca un asistent și constructor de proiecte care raportează instantaneu erorile de sintaxă și de construcție. Caracteristicile suplimentare ale GoClipse includ funcționalitatea de depanare și asistență pentru cod.

Sublime Text with GoSublime

Sublime Text este un alt editor de text sofisticat cu o comunitate mare de colaboratori și dezvoltatori. Ca atare, a fost creată o mare varietate de plugin-uri pentru acest IDE.

GoSublime este un plugin Golang pentru Sublime Text 3 care oferă completare de cod din Gocode, verificare lint/sintaxa în timp ce cablați codul, adăugarea și eliminarea automată a importurilor de pachete și multe altele.

Vim cu pluginul vim-go

Vim este un IDE gratuit, open-source, care poate fi personalizat și configurat cu diverse pluginuri. Dacă sunteți programator Golang, puteți utiliza Vim cu pluginul vim-go creat de Fatih Arslan. Vim-go instalează automat toate binarele necesare pentru a oferi o integrare fără probleme a Vim pentru Golang.

Vim-go este o suită de plugin-uri puternice pentru scrierea și dezvoltarea Go. Caracteristicile sale includ analiza avansată a codului sursă, adăugarea și eliminarea căilor de import, suport pentru mai multe 3rd liner, definirea goto, execuții rapide de fișiere și multe altele.

Vim-go este foarte personalizabil, cu caracteristici individuale care pot fi activate sau dezactivate în funcție de nevoile dumneavoastră.

Komodo

Komodo este un IDE complet pentru limbajul Go, care suportă și alte limbaje de programare, cum ar fi Node.js, Python, Ruby, Perl și altele. Cu acest IDE Go, puteți scrie cod curat cu ușurință. Caracteristicile sale includ un editor de cod avansat, completarea inteligentă a codului, verificarea sintaxei, controlul versiunii și testarea unitară, precum și un Go Code Intelligence care permite navigarea codului și indicii de cod.

Ceea ce este grozav la Komodo este că funcționează foarte bine pentru colaborarea în echipă, deoarece mai mulți dezvoltatori pot edita un document simultan. Komodo poate fi instalat pe Mac, Windows sau Linux cu o singură licență.

IntelliJ IDEA with Go Language (golang.org) Support Plugin

IntelliJ IDEA (aceeași companie cu JetBrains) este un IDE care poate fi folosit cu Golang prin intermediul plugin-ului de suport pentru limbajul Go. Dacă doriți să utilizați IntelliJ IDEA cu Golang, trebuie să instalați acest plugin, deși cu caracteristici limitate, spre deosebire de Gogland.

Unelte pentru Golang

Uneltele Golang pot fi utilizate pentru o mare varietate de proiecte și aplicații web. Dezvoltatorii pot scrie cod și construi aplicații cât mai rapid și mai ușor cu ajutorul acestor instrumente utile.

Iată o listă cu cele mai importante instrumente Golang pentru referință.

Apicompat

Apicompat este un nou instrument al limbajului Go care ajută dezvoltatorii să detecteze modificările retroactive, incompatibile și declarațiile exportate.

Cu Apicompat, puteți evita falsurile pozitive. Cu toate acestea, nu orice modificare incompatibilă în sens invers poate fi detectată de Apicompat. Schimbarea parametrilor de argument și alte modificări trebuie totuși să fie luate în considerare de către autorul bibliotecii.

Checkstyle

Inspirat de Java Checkstyle, Checkstyle pentru Golang tipărește sugestii de stil de codare. De asemenea, le permite dezvoltatorilor să verifice numărul de linii/funcții și numărul de linii/parame ale fișierelor, care pot fi apoi configurate de către utilizator.

Depth

Depth este un alt instrument Golang util care ajută dezvoltatorii web să recupereze și să vizualizeze arborii de dependență a codului sursă Go. Acesta poate fi utilizat ca o aplicație de sine stătătoare în linie de comandă sau ca un pachet special în cadrul propriului proiect. Puteți adăuga personalizări prin simpla setare a stegulețelor corespunzătoare pe Tree înainte de rezolvare.

Go-Swagger

Acest set de instrumente include o mare varietate de caracteristici și funcții. Go-Swagger este o implementare a Swagger 2.0 și poate serializa și deserializa specificațiile swagger. Este o reprezentare minimalistă, dar puternică a API-ului dvs. RESTful.

Cu Go-Swagger, puteți să specificați documentul swagger, să validați față de jsonschema și alte reguli suplimentare. Alte caracteristici includ generarea de cod, generarea de API-uri pe baza specificațiilor swagger, generarea de documente de specificații pe baza codului, formate de șiruri extinse și multe altele.

Go Meta Linter

Dacă aveți nevoie să rulați instrumente Go lint și să le normalizați ieșirea concomitent, exact asta poate face Go Meta Linter pentru dumneavoastră. Go Meta Linter este destinat să fie utilizat cu un editor de text sau cu o integrare IDE, cum ar fi pluginul Sublime Linter, pachetul Atom go-plus, Emacs Flycheck checker, Vim/Neovim și Go pentru Visual Studio Code. De asemenea, acceptă o mare varietate de linteri și fișiere de configurare precum JSON.

Go-callvis

Go-callvis este un instrument de dezvoltare web care vă permite să vizualizați graficul de apeluri al programului Go cu formatul de puncte al Graphviz. Acest instrument este deosebit de util atunci când se construiesc proiecte mari cu baze de cod complexe. De asemenea, este util atunci când doriți să înțelegeți structura de cod a unui alt dezvoltator sau să reconstruiți proiectul altcuiva.

Cu go-callvis, dezvoltatorii se pot concentra pe pachete specifice în cadrul unui program; pot grupa funcții în funcție de pachet și metode în funcție de tip; și pot limita pachetele la prefixe de cale personalizate și le pot ignora pe cele care le conțin.

Gonative

Gonative este un instrument Golang simplu care vă permite să construiți lanțuri de instrumente Go cu librării native, care pot fi compilați încrucișat, utilizând în același timp versiuni ale pachetelor stdlib activate de Cgo.

Gonative descarcă distribuțiile binare pentru fiecare platformă și copiază bibliotecile acestora în locurile corespunzătoare. În același timp, Gonative setează timpul de mod corect pentru a evita reconstrucțiile inutile.

Din păcate, Gonative rămâne netestat pe Windows. În plus, nu se oferă suport pentru Linux/arm.

Grapes

Grapes este un instrument Golang ușor, conceput pentru a distribui cu ușurință comenzi prin ssh. Este scris și întreținut în mod activ de Yaron Sumel.

Grapes va suporta în curând validarea completă a cheilor gazdă, așa că acesta este un lucru la care dezvoltatorii ar trebui să fie atenți.

Gosimple

Ceea ce este grozav la acest linter Golang este că se concentrează pe simplificarea codului sursă Go. Gosimple vizează întotdeauna cea mai recentă versiune Go, deci necesită versiunea Go 1.6 sau o versiune ulterioară.

Dacă există o nouă versiune Go, gosimple va sugera cele mai ușoare și mai simple metode pentru a evita construcțiile complicate.

Go Vendor

Go Vendor este instrumentul Golang care lucrează cu folderul standard Vendor. Acesta permite dezvoltatorilor să copieze dependențele existente din $GOPATH cu govendor add/update. Puteți, de asemenea, să extrageți direct noi dependențe sau să actualizați dependențele existente cu govendor fetch și să mutați sistemele moștenite cu govendor migrate.

Wrapping It Up

Dacă veniți dintr-un background JS/Node, trebuie să învățați câteva concepte noi de programare, cum ar fi corutinele, canalele, tastarea strictă cu compilare, interfețele, structurile, indicatorii și alte câteva diferențe. Dar, odată ce ați intrat în ritm, veți găsi Golang mai ușor și mai rapid de utilizat.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.