53 votes

exemple de grande application golang ?

Je suis un programmeur Python qui essaie de se familiariser avec Go. Plus précisément, pendant un certain temps, j'ai été un programmeur web, et j'ai été gâté par l'utilisation de flask et le débogage incroyable (ipdb, pudb, etc).

Je m'éloigne du sujet - ma question est de savoir s'il existe un exemple d'application web go plus grande que l'exemple habituel "gowiki" sur le wiki go. Je crée habituellement mes applications avec un répertoire de modèle contenant un modèle par fichier, et un répertoire de vue avec les gestionnaires de requête, un répertoire de modèle, un répertoire statique, et ainsi de suite. Les exemples que j'ai vus jusqu'à présent montrent à peu près tout dans un seul fichier. La documentation de flask a un exemple "tout est là dans un seul fichier", et ensuite une section pour quand vous voulez dépasser ce style. Je serais heureux de recevoir des indications sur des exemples de code à lire sur github/bitbucket. (Points bonus pour un exemple utilisant une base de données au lieu de fichiers plats...)

Je m'excuse d'avance si ce n'est pas le bon endroit pour poser cette question, et je serais heureux de recevoir des indications dans la bonne direction.

Merci beaucoup à l'avance !

36voto

tux21b Points 17336

Il n'y a pas beaucoup de grands projets opensource qui suivent le modèle CRUD typique. Je suppose que la plupart des gens adaptent actuellement Go pour des projets qui auraient été difficiles avec les frameworks web habituels comme Flask ou Django.

Quelques bons projets web opensource que vous pourriez aimer :

  • gddo le logiciel godoc.org de Gary Burd qui explore les dépôts Go disponibles publiquement et génère une documentation API pour ceux-ci en extrayant les commentaires.
  • godoc le logiciel qui fait fonctionner golang.org. C'était probablement le premier grand projet web, mais il a été récemment réécrit par Andrew et Brad (deux développeurs principaux).
  • gorille une très bonne boîte à outils présentant de nombreuses similitudes avec Flask / werkzeug qui étend le net/http avec quelques aides utiles. Il n'essaie pas de réimplémenter ou de cacher le paquetage http standard et ne se met pas en travers de votre chemin (contrairement à beaucoup d'autres frameworks web...).

Certaines conférences sur le Web sont également disponibles. Il suffit de chercher "go appengine" sur youtube. J'ai beaucoup apprécié les Des applications performantes avec Go for App Engine parler par exemple.

Il pourrait également être utile d'examiner d'autres projets non web. Par exemple, j'ai trouvé que lire les sources de vitess (partie du backend de youtube) et groupcache (qui fait partie de dl.google.com) assez intéressant. N'hésitez pas non plus à poser toutes les questions spécifiques sur la conception que vous pourriez rencontrer ici sur SO. Bonne chance !

12voto

firebitsbr Points 81

Une option serait peut-être Beego ? http://beego.me/

@ firebitsbr

10voto

mrw Points 71

Jetez un coup d'œil au framework Revel. Je pense qu'il a ce que vous recherchez. http://robfig.github.io/revel/

9voto

sat Points 515

J'ai ajouté le martini au mélange. Je m'y essaie moi-même et les premiers résultats sont plutôt prometteurs http://martini.codegangsta.io/

6voto

Ross Albertson Points 66

J'ai écrit un certain nombre de sites web non triviaux en utilisant Go. Le style de programmation est peut-être primitif, mais pour ce que ça vaut, jetez un coup d'œil à mon code à l'adresse suivante https://github.com/ozonesurfer . TiedotMartini2 est mon plus récent dépôt ; il utilise le système de base de données Tiedot (qui a lui-même été écrit en Go) et le progiciel Web Martini pour imiter le modèle MVC. TiedotMartini2 a été écrit pour fonctionner avec Tiedot 2.0 ; TiedotMartini1 a été écrit pour Tiedot 1.x. Une dernière chose... vous pourriez trouver LiteIDE un environnement orienté Go utile ; vous aurez besoin de gocode dans votre /go/bin pour obtenir un intellisense complet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X