SlideShare uma empresa Scribd logo
1 de 35
Henri LEPIC
CTO @Pull_Media
@henripic
1
Attention !
Dans cette présentation il n’y aura pas :
- Des comparatifs features par features entre des frameworks
- Du code source affiché
- Du live coding
Mais :
- 35 slides de bon sens
2
Full list des web frameworks en Go
28 frameworks !
Beego, Bone, Echo, Gin, Go-json-rest, Go-relax,
Go-rest, Goat, gocraft/web, Goji, Gondola, Goose,
Gorilla, Httprouter, Macaron, Mango, Martini, Medeina,
Neo, Pat, Resoursea, Revel, sawsij, Tango, Tigertonic,
traffic, Web.go, Zeus
full list
3
Essorage (maison)
Contributeurs - +5
Maturité - documentation, couverture de tests
Activité - n.b. commits, last commit, stars
4
Après essorage
14 frameworks !
Beego, Revel, Martini, Gin, Echo, Mux, Go-tigertonic,
Goji, Go-json-rest, Httprouter, Web, Bone, Macaron, Zeus
5
Des critères
&
Des personnes
6
Documentation
Communauté
Couverture de tests
Maintenance à long terme
Type développeur
Versatilité
Sécurité
Performance
Critères de sélection : CTO
7
Critères de sélection : Client
Vitesse de développement
Respect des dead-lines
Coût des infrastructures
Pas de plantage en
production !
Développeurs nombreux
+ à un tarifs raisonnable
Maintenabilitée
ex : Facebook HHVM
8
Visibilité moteur de recherche
Vitesse d’affichage
Prix (voire gratuité du service)
Stabilité
Sécurité
Critères de sélection : Utilisateur final
9
Critères de sélection : Les autres
Auditeur levée de fonds
Consultant SEO, Sécurité
Développeur Front-end
10
Attention aux
critères de sélection !
11
critère n°1
Rechercher la perf
12
Golang framework
best performance ?
13
http://www.techempower.com
14
JSON serialisation
http://www.techempower.com
15
Single query
http://www.techempower.com
16
Multiples queries
http://www.techempower.com
17
Fortunes
http://www.techempower.com
18
Data updates
http://www.techempower.com
19
Plaintext
Tips critère n°1 : Rechercher la perf
- Validation business avant tout
- Installer des outils de cache
- Optimiser ses médias, ses algos, tuner sa
base de donnée
- Scaler l’infra si besoin
- Go est un socle suffisamment rapide
20
Critère n°2
Chercher à Classifier
21
Liste moi toutes
les espèces
22
Classification des espèces
- Fullstack ( like Django, SF2, RoR)
- Micro-framework (like Flask, Silex, Sinatra)
- Nano-framework ?
23
Résultat : Classification espèces
Fullstack
Beego, Revel, Martini, Gin, Macaron
Micro-framework
Bone, Mux (Gorilla), Echo, Goji, Go-tigertonic, Go-json-
rest, Httprouter, Web, Zeus
24
Fullstack : Initial commit Go
Macaron 10 Juillet 2014 141 commits
Gin 18 Janvier 2014 112 commits
Martini 30 octobre 2013 527 commits
Beego 05 Mars 2012 1 522 commits
Revel 09 Décembre 2011 1 168 commits
25
Laravel 09 Juin 2011 4 419 commits
Symfony 04 Janvier 2010 20 824 commits
Django 13 Juillet 2005 20 460 commits
Rails 24 Novembre 2004 50 846 commits
Fullstack : Initial commit others
26
Tout reste possible...
Docker 19 janvier 2013 14 947 commits
27
- Ne pas espérer autant de feature que des
frameworks qui ont plus de 5 ans
- Il n’y a pas pour le moment d’équivalent en
Go de SF2, ROR, Django
- Committez sur des frameworks Go
28
Tips critère n°2 : Chercher à Classifier
Critère n°3
Chercher le fullstack
29
donne moi du
fullstack !
30
Fullstack vs Micro
+ Ecosystème
+ Standard de développement
+ Communauté
+ Consultant spécialisé en...
+ Certifications
=
Structurant
+ Simplicité de prise en main
+ Idiomatique (moins de twists)
+ Testabilité
+ Performance
+ Philosophie unixienne
=
Versatile
31
- Le choix fullstack vs micro est spécifique
aux langages
- Lire les specs de Go
- Aller d’avantage vers des micro-frameworks
32
Tips critère n°3 : Chercher le fullstack
Avant que tout le monde
se mette d’accord...
moi, je construit
mes micro-services
avec des micro-frameworks 33
La communauté de Go
567 dans le Meetup à Paris
28 939 dans le monde
http://golang.meetup.com/
34
Microlist
Routeur
Bone
Mux (Gorilla)
Echo
Httprouter
Zeus
Json
Go-json-rest
Go-tigertonic
Nano
Goji
Web
35

Mais conteúdo relacionado

Destaque

Congreso Aedipe Port Aventura
Congreso Aedipe Port AventuraCongreso Aedipe Port Aventura
Congreso Aedipe Port AventuraRicardo Alfaro
 
Logotipos de ies
Logotipos de iesLogotipos de ies
Logotipos de iesavutarda00
 
Teoria Del Aprendizaje Beatriz Milagros 1193709577446987 5
Teoria Del Aprendizaje Beatriz Milagros 1193709577446987 5Teoria Del Aprendizaje Beatriz Milagros 1193709577446987 5
Teoria Del Aprendizaje Beatriz Milagros 1193709577446987 5Adalberto
 
Simplemente Venus 6ta parte by Rubido 9
Simplemente Venus 6ta parte by Rubido 9Simplemente Venus 6ta parte by Rubido 9
Simplemente Venus 6ta parte by Rubido 9MoonShadow13
 
Bloguia | Bloguia de Empleo
Bloguia | Bloguia de EmpleoBloguia | Bloguia de Empleo
Bloguia | Bloguia de Empleosearch congress
 
Pat. Laubertie Une Saison Exceptionnelle
Pat. Laubertie Une Saison ExceptionnellePat. Laubertie Une Saison Exceptionnelle
Pat. Laubertie Une Saison ExceptionnelleELANUSSEL
 
Atelier Réseaux sociaux et Jeunes entreprises (6 novembre 2013)
Atelier Réseaux sociaux et Jeunes entreprises (6 novembre 2013)Atelier Réseaux sociaux et Jeunes entreprises (6 novembre 2013)
Atelier Réseaux sociaux et Jeunes entreprises (6 novembre 2013)Akova
 
2010 Monaco IMAGINA presentation for IGN Maps API
2010 Monaco IMAGINA presentation for IGN Maps API2010 Monaco IMAGINA presentation for IGN Maps API
2010 Monaco IMAGINA presentation for IGN Maps APIFormatweb
 
00 Informe Mensual Enero 2009
00  Informe Mensual  Enero 200900  Informe Mensual  Enero 2009
00 Informe Mensual Enero 2009Adalberto
 
Eune Tchotte Carte Ed Nl
Eune Tchotte Carte Ed NlEune Tchotte Carte Ed Nl
Eune Tchotte Carte Ed Nlguest3d27360
 
Simples matematicas
Simples matematicasSimples matematicas
Simples matematicasAdalberto
 
Perspectives n°22 septembre - octobre 2014 - athénéa conseils
Perspectives n°22   septembre - octobre 2014 - athénéa conseilsPerspectives n°22   septembre - octobre 2014 - athénéa conseils
Perspectives n°22 septembre - octobre 2014 - athénéa conseilsYoann DUCUING
 
Recette Annee
Recette AnneeRecette Annee
Recette Anneechilles
 
Agosto DireccióN Nacional De EducacióN Gerencia De Seguimiento A La Calidad
Agosto DireccióN Nacional De EducacióN Gerencia De Seguimiento A La CalidadAgosto DireccióN Nacional De EducacióN Gerencia De Seguimiento A La Calidad
Agosto DireccióN Nacional De EducacióN Gerencia De Seguimiento A La CalidadAdalberto
 
Rapport d'actvité 2013
Rapport d'actvité 2013Rapport d'actvité 2013
Rapport d'actvité 2013laurasaintmarc
 

Destaque (20)

Congreso Aedipe Port Aventura
Congreso Aedipe Port AventuraCongreso Aedipe Port Aventura
Congreso Aedipe Port Aventura
 
Luto a la escasez
Luto a la escasezLuto a la escasez
Luto a la escasez
 
Le sourire
Le sourireLe sourire
Le sourire
 
Logotipos de ies
Logotipos de iesLogotipos de ies
Logotipos de ies
 
Examen Practico 2do 1
Examen Practico 2do 1Examen Practico 2do 1
Examen Practico 2do 1
 
Teoria Del Aprendizaje Beatriz Milagros 1193709577446987 5
Teoria Del Aprendizaje Beatriz Milagros 1193709577446987 5Teoria Del Aprendizaje Beatriz Milagros 1193709577446987 5
Teoria Del Aprendizaje Beatriz Milagros 1193709577446987 5
 
Simplemente Venus 6ta parte by Rubido 9
Simplemente Venus 6ta parte by Rubido 9Simplemente Venus 6ta parte by Rubido 9
Simplemente Venus 6ta parte by Rubido 9
 
Bloguia | Bloguia de Empleo
Bloguia | Bloguia de EmpleoBloguia | Bloguia de Empleo
Bloguia | Bloguia de Empleo
 
Pat. Laubertie Une Saison Exceptionnelle
Pat. Laubertie Une Saison ExceptionnellePat. Laubertie Une Saison Exceptionnelle
Pat. Laubertie Une Saison Exceptionnelle
 
Grece
GreceGrece
Grece
 
Annexe 1
Annexe 1Annexe 1
Annexe 1
 
Atelier Réseaux sociaux et Jeunes entreprises (6 novembre 2013)
Atelier Réseaux sociaux et Jeunes entreprises (6 novembre 2013)Atelier Réseaux sociaux et Jeunes entreprises (6 novembre 2013)
Atelier Réseaux sociaux et Jeunes entreprises (6 novembre 2013)
 
2010 Monaco IMAGINA presentation for IGN Maps API
2010 Monaco IMAGINA presentation for IGN Maps API2010 Monaco IMAGINA presentation for IGN Maps API
2010 Monaco IMAGINA presentation for IGN Maps API
 
00 Informe Mensual Enero 2009
00  Informe Mensual  Enero 200900  Informe Mensual  Enero 2009
00 Informe Mensual Enero 2009
 
Eune Tchotte Carte Ed Nl
Eune Tchotte Carte Ed NlEune Tchotte Carte Ed Nl
Eune Tchotte Carte Ed Nl
 
Simples matematicas
Simples matematicasSimples matematicas
Simples matematicas
 
Perspectives n°22 septembre - octobre 2014 - athénéa conseils
Perspectives n°22   septembre - octobre 2014 - athénéa conseilsPerspectives n°22   septembre - octobre 2014 - athénéa conseils
Perspectives n°22 septembre - octobre 2014 - athénéa conseils
 
Recette Annee
Recette AnneeRecette Annee
Recette Annee
 
Agosto DireccióN Nacional De EducacióN Gerencia De Seguimiento A La Calidad
Agosto DireccióN Nacional De EducacióN Gerencia De Seguimiento A La CalidadAgosto DireccióN Nacional De EducacióN Gerencia De Seguimiento A La Calidad
Agosto DireccióN Nacional De EducacióN Gerencia De Seguimiento A La Calidad
 
Rapport d'actvité 2013
Rapport d'actvité 2013Rapport d'actvité 2013
Rapport d'actvité 2013
 

Semelhante a Golang Framework bench

Scratch orgs...vous pensiez en avoir terminé avec les sandboxes ?
Scratch orgs...vous pensiez en avoir terminé avec les sandboxes ?Scratch orgs...vous pensiez en avoir terminé avec les sandboxes ?
Scratch orgs...vous pensiez en avoir terminé avec les sandboxes ?Paris Salesforce Developer Group
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08Loïc Descotte
 
Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009JUG Lausanne
 
Sonar devant le Java User Group de Lausanne
Sonar devant le Java User Group de LausanneSonar devant le Java User Group de Lausanne
Sonar devant le Java User Group de LausanneFreddy Mallet
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovyguest6e3bed
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation GroovyJS Bournival
 
2013 01-08-php-maturite
2013 01-08-php-maturite2013 01-08-php-maturite
2013 01-08-php-maturiteRémi Alvado
 
Sonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy MalletSonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy MalletGenevaJUG
 
Sonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveSonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveFreddy Mallet
 
[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013
[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013
[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013Sylvain Zimmer
 
Extrait du Benchmark Cloud IaaS par Gekko
Extrait du Benchmark Cloud IaaS par Gekko Extrait du Benchmark Cloud IaaS par Gekko
Extrait du Benchmark Cloud IaaS par Gekko GekkoSAS
 
Presentation langage go_19022015
Presentation langage go_19022015Presentation langage go_19022015
Presentation langage go_19022015Stéphane Legrand
 
Scala.io 2013 - M’enfin Scalac, où glandes-tu encore ?
Scala.io 2013 - M’enfin Scalac, où glandes-tu encore ?Scala.io 2013 - M’enfin Scalac, où glandes-tu encore ?
Scala.io 2013 - M’enfin Scalac, où glandes-tu encore ?RUDDER
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?Publicis Sapient Engineering
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Benoît de CHATEAUVIEUX
 

Semelhante a Golang Framework bench (20)

Scratch orgs...vous pensiez en avoir terminé avec les sandboxes ?
Scratch orgs...vous pensiez en avoir terminé avec les sandboxes ?Scratch orgs...vous pensiez en avoir terminé avec les sandboxes ?
Scratch orgs...vous pensiez en avoir terminé avec les sandboxes ?
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08
 
Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009
 
Sonar devant le Java User Group de Lausanne
Sonar devant le Java User Group de LausanneSonar devant le Java User Group de Lausanne
Sonar devant le Java User Group de Lausanne
 
Browser
BrowserBrowser
Browser
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Javavs net
Javavs netJavavs net
Javavs net
 
2013 01-08-php-maturite
2013 01-08-php-maturite2013 01-08-php-maturite
2013 01-08-php-maturite
 
LyonJUG-2023-v1.0.pdf
LyonJUG-2023-v1.0.pdfLyonJUG-2023-v1.0.pdf
LyonJUG-2023-v1.0.pdf
 
Sonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy MalletSonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy Mallet
 
Sonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveSonar 2.0 au JUG Genève
Sonar 2.0 au JUG Genève
 
GWT no-dto
GWT no-dtoGWT no-dto
GWT no-dto
 
[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013
[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013
[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013
 
Hackerspace jan-2013
Hackerspace jan-2013Hackerspace jan-2013
Hackerspace jan-2013
 
Extrait du Benchmark Cloud IaaS par Gekko
Extrait du Benchmark Cloud IaaS par Gekko Extrait du Benchmark Cloud IaaS par Gekko
Extrait du Benchmark Cloud IaaS par Gekko
 
Presentation langage go_19022015
Presentation langage go_19022015Presentation langage go_19022015
Presentation langage go_19022015
 
Scala.io 2013 - M’enfin Scalac, où glandes-tu encore ?
Scala.io 2013 - M’enfin Scalac, où glandes-tu encore ?Scala.io 2013 - M’enfin Scalac, où glandes-tu encore ?
Scala.io 2013 - M’enfin Scalac, où glandes-tu encore ?
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
 

Golang Framework bench