Golang est un langage de programmation procédural open source développer par google dans le but de facilité la création de logiciel simple, fiable et efficace.  Inspiré du langage C.

Les Avantages du langage Go

  • Gestion automatique de la mémoire ( Garbage Collector)
  • Profite de la puissance des processeurs multi-coeurs. C’est à dire de possibilité de lancer plusieurs tâches en même temps.
  • Possibilité de faire du typage dynamique (comme Python pas la peine de spécifier le type des variables) 
  • Possède une riche bibliothèque standard (Possible de concevoir des programme sans aucune dépendance externe). 
  • Temps de compilation rapide et simple d’utilisation. 
  • Portable (Windows, Linux, MAX OD , Android, IOS).

Installation de l’environnement (sous Windows)

Télécharger et installer  le fichier package d’installation => (https://golang.org/dl/). 

Tester l’installation, dans l’invite de commande exécuter la commande suivante : 

  • go
Lors de l’installation, Go a crée plusieurs variables d’environnement. Vous pouvez les visualiser en exécutant la commande : 
  • go env
Il y a 2 variables d’environnement qui sont important: 
  • GOROOT : Est le dossier destiné au compilateur.
  • GOPATH : Destiner a l’espace de travail, que vous devait créer . Cet espace est composé de 3 dossiers : 
    • src : Contiendra les sources de notre application.
    • pkg : contiendra tout les dépendances.
    • bin : contiendra les exécutable de notre programme.
 
Installation Go

BUFFALO 

Buffalo est considérer comme un Framework Web Go.

Bibliothèques backend
  • buffalo

Buffalo est le « liant » entre les différents composants fournis. Il s’assure que les biliothèques interagissent bien ensemble et gère leur ordre d’utilisation.

  • gorilla/mux

gorilla/mux est l’un des routeurs les plus utilisés en Go. Bien que d’autres routeurs soient plus rapides (comme httprouter), gorilla/mux est le routeur qui propose le plus de fonctionnalités, tout en étant suffisement rapide.

  • pop

pop est l’ORM par défaut de Buffalo. Il fournit la boîte à outils soda pour vous aider à gérer votre base de données, et supporte tant PostgreSQL et MySQL que SQLite.

  • plush

plush est le moteur de templates par défaut de Buffalo. Sa syntaxe est proche de celle des templates ERB (en Ruby).

  • packr

packr est un empaqueteur en Go pour vos assets statiques (templates, images, etc.). Packr a pour but de produire un binaire final avec tout ce qu’il faut à l’intérieur.

Bibilothèques frontend
  • Bootstrap

Bootstrap est l’une des bibliothèques frontend les plus connues en matière de design Web. Elle aide à construire des interfaces adaptables à tous les écrans en utilisant des composants standards tels que des tableaux, des carousels ou des grilles de mise en page.

  • jQuery

jQuery est une bibliothèque très fournie qui a pour but de manipuler l’arbre DOM et de rendre les requêtes AJAX plus simples. Bien que moins utilisée maintenant, de nombreux projets continuent de l’employer comme compagnon pour les aider à supporter tous les navigateurs.

  • Webpack

Webpack est un empaqueteur Javascript renommé pour vos assets. Il s’occupera de vos fichiers Javascript, CSS, images et tout autres assets statiques.

Par défaut, Webpack est configuré pour minifier et hasher vos assets.