En ce moment, j’apprends le golang sur mon temps libre.
Il est encore un peu tôt pour déterminer réellement ce que je pense de ce langage, mais jusqu’à présent je suis plutôt fan.
Il faut dire se mettre au go avec un background c/cpp est assez simple
(Encore qu’il m’arrive de bruler des cierges pour qu’ils implémentent les classes, l’operateur ternaire … et j’en passe)
L’une de mes features préférées est l’importation de packet.
C’est un outil à double tranchant dans la mesure où je deteste ça avec nodeJS.
Un jour, un mec a retiré un package totalement inutile du npm qui contenait une seule fonction que n’importe qui peut faire en quelques secondes.
Et ça a cassé babel, react et d’autres gros packets qui dépendaient dessus.
Du coup, il faut faire attention pour pas se retrouver rapidement avec des milliers de dépendance qui ne sont rien d’autre que des contraintes.
Bref, voici une liste non exhaustive de package go que je trouve intéressant.
Triés par domaine avec mes commentaires
DB :
j’ai pas eu l’occasion de tester le package natif de go pour les db sql
https://github.com/jinzhu/gorm
Me semble être ce qu’il y a de mieux pour les db sql
https://github.com/tidwall/buntdb
Permet d’écrire très facilement des données retrouvable avec une clé, un must d’apres moi
WEB :
Faites ça avec PHP !
On vit à l’époque de php7, les reproches qu’on entend encore à propos de php sont soit
- corrigés depuis plus de 10 ans
- corrigés avec PHP7
- des idées reçues
- corrigeables avec un ide
mais si jamais vous avez besoin de faire ça avec go
https://github.com/deuill/go-php
bah faites ça avec php quand même !
https://github.com/gin-gonic/gin
Ou bien en go si vous y tenez, je suis pas la police du web
UI :
j’ai rien trouvé de très fou niveau ui, affichage, si quelqu’un trouve quelque chose de sympa, je prends direct
https://github.com/andlabs/ui
qui permet de faire une ui en go, sympa mais limité
https://github.com/alexflint/gallium
permet de faire des ui en html … uniquement sur osx, espéreront qu’elle devienne vite cross-plateforme car elle me semble vraiment tres intéressante !
https://github.com/veandco/go-sdl2
https://github.com/therecipe/qt
http://mattn.github.io/go-gtk/
https://github.com/sciter-sdk/go-sciter
Bind divers de libs graphiques
personnellement si je trouve une lib go native qui permet de render directement du html à l’ecran en cross plateforme, je lui tombe dessus comme une grosse mygale
Et j’y pense, pour faire disparaitre la console, il y a un flag à rajouter à la compilation
-ldflags « -H windowsgui »
net :
le package net de go est vraiment pas mal mais assez low level, alors pour accélérer vos développement reseau on y va :
html :
https://github.com/parnurzeal/gorequest
Voici une surcouche pour tout ce qui est html
snmp :
https://github.com/soniah/gosnmp
Si jamais vous avez besoin de faire du snmp
dns :
https://github.com/miekg/dns
pas testé mais il semble assez convainquant
Et pour vos légions de robots
https://gobot.io/
j’espère vous avoir été utile !
Sinon vous pouvez en trouvez d’autre ici :
https://github.com/avelino/awesome-go