Golang Framework bench

612 vues

Publié le

Les Framework en Go sont nés sont ils les mêmes que ceux dans d'autres languages

Publié dans : Internet
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
612
Sur SlideShare
0
Issues des intégrations
0
Intégrations
11
Actions
Partages
0
Téléchargements
9
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Golang Framework bench

  1. 1. Henri LEPIC CTO @Pull_Media @henripic 1
  2. 2. 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
  3. 3. 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
  4. 4. Essorage (maison) Contributeurs - +5 Maturité - documentation, couverture de tests Activité - n.b. commits, last commit, stars 4
  5. 5. Après essorage 14 frameworks ! Beego, Revel, Martini, Gin, Echo, Mux, Go-tigertonic, Goji, Go-json-rest, Httprouter, Web, Bone, Macaron, Zeus 5
  6. 6. Des critères & Des personnes 6
  7. 7. Documentation Communauté Couverture de tests Maintenance à long terme Type développeur Versatilité Sécurité Performance Critères de sélection : CTO 7
  8. 8. 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
  9. 9. Visibilité moteur de recherche Vitesse d’affichage Prix (voire gratuité du service) Stabilité Sécurité Critères de sélection : Utilisateur final 9
  10. 10. Critères de sélection : Les autres Auditeur levée de fonds Consultant SEO, Sécurité Développeur Front-end 10
  11. 11. Attention aux critères de sélection ! 11
  12. 12. critère n°1 Rechercher la perf 12
  13. 13. Golang framework best performance ? 13
  14. 14. http://www.techempower.com 14 JSON serialisation
  15. 15. http://www.techempower.com 15 Single query
  16. 16. http://www.techempower.com 16 Multiples queries
  17. 17. http://www.techempower.com 17 Fortunes
  18. 18. http://www.techempower.com 18 Data updates
  19. 19. http://www.techempower.com 19 Plaintext
  20. 20. 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
  21. 21. Critère n°2 Chercher à Classifier 21
  22. 22. Liste moi toutes les espèces 22
  23. 23. Classification des espèces - Fullstack ( like Django, SF2, RoR) - Micro-framework (like Flask, Silex, Sinatra) - Nano-framework ? 23
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. Tout reste possible... Docker 19 janvier 2013 14 947 commits 27
  28. 28. - 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
  29. 29. Critère n°3 Chercher le fullstack 29
  30. 30. donne moi du fullstack ! 30
  31. 31. 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
  32. 32. - 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
  33. 33. Avant que tout le monde se mette d’accord... moi, je construit mes micro-services avec des micro-frameworks 33
  34. 34. La communauté de Go 567 dans le Meetup à Paris 28 939 dans le monde http://golang.meetup.com/ 34
  35. 35. Microlist Routeur Bone Mux (Gorilla) Echo Httprouter Zeus Json Go-json-rest Go-tigertonic Nano Goji Web 35

×