Go outside of the web

polaris · · 574 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>It seems like the majority of the posts on this sub are about using Go to build technologies related to the web.</p> <p>I was looking for examples of Go being used to solve problems that do not relate to the web. One big project that comes to mind is <a href="https://www.docker.com/">Docker</a>. Does anyone know of more examples of Go being used outside of web?</p> <hr/>**评论:**<br/><br/>kostix: <pre><p>To name a few in no particular order:</p> <ul> <li><a href="https://www.ubuntu.com/cloud/juju">https://www.ubuntu.com/cloud/juju</a></li> <li><a href="http://rancher.com">http://rancher.com</a></li> <li><a href="https://www.cockroachlabs.com/">https://www.cockroachlabs.com/</a></li> <li><a href="https://istio.io/">https://istio.io/</a></li> <li><a href="https://upspin.io/">https://upspin.io/</a></li> <li><a href="https://camlistore.org/">https://camlistore.org/</a></li> <li><a href="https://blogs.dropbox.com/tech/2014/07/open-sourcing-our-go-libraries/">https://blogs.dropbox.com/tech/2014/07/open-sourcing-our-go-libraries/</a></li> <li><a href="https://coreos.com">https://coreos.com</a> has <ul> <li><a href="https://coreos.com/etcd/">https://coreos.com/etcd/</a></li> <li><a href="https://coreos.com/rkt/">https://coreos.com/rkt/</a></li> <li>…and so on.</li> </ul></li> <li><a href="https://linuxcontainers.org/lxd/">https://linuxcontainers.org/lxd/</a></li> <li><a href="https://kubernetes.io/">https://kubernetes.io/</a></li> <li><a href="https://security.googleblog.com/2017/01/security-through-transparency.html">https://security.googleblog.com/2017/01/security-through-transparency.html</a></li> <li>…and so on.</li> </ul> <p>There&#39;s even a virus written in Go :-) <a href="https://news.drweb.com/show/?i=10140&amp;c=5&amp;lng=en&amp;p=0">https://news.drweb.com/show/?i=10140&amp;c=5&amp;lng=en&amp;p=0</a></p> <p>So yes, I&#39;m with @natefinch on this: Go unfortunately lacks a robust universal desktop GUI solution (like Tk) and this severely limits its adoption for writing desktop stuff (even though extensive bindings for GTK3 and Qt/QML do exist) but on the server side Go pretty much kicks asses.</p> <hr/> <p>Also note that when you analyze actitity happening on public forums devoted to software development, there always will be a natural bias towards the so-called &#34;vocal part of the community&#34; which will get over-represented in the results: sure, those hardcore folks which are busy developing high-profile solutions are seldom seen asking on such forums about which web framework to pick for the next bedroom project ;-) And since much education (and self-education) in programming these days comes through web programming in particular (and often gets stuck at that phase), that&#39;s what you often see being discussed.</p></pre>dericofilho: <pre><p>Building on an item of this list: upspin.io</p> <p>Upspin.io is in my opinion one of the most conceptually important projects using Go. I suspect that they do have a hidden goal of testing Go&#39;s limits in the process of developing Upspin. Take a look at its error package and how their error package uses empty interfaces to handle a mixed set of parameters.</p> <p>Also, it is also one of the few, if not the only one, project in Go&#39;s ecosystem that&#39;s tackling the problem of a fully distributed file system. Take some time to read its cacheserver and its client implementation.</p> <p>Go also has a solid story on visibility tools. Rakyll&#39;s work on gops and the whole pprof and tracing. One of the best I&#39;ve seen in my somewhat not so extensive experience. </p></pre>natefinch: <pre><p>I think people talk about web dev because a lot of programming in general is making web servers. However, Go&#39;s sweet spot is writing servers in general, that might not web servers.</p> <p>Kubernetes is the biggest and most popular Go project I can think of. It&#39;s a cloud orchestration system that manages docker containers.</p> <p>Juju is a similar project, a bit older, much less popular, still very large.</p> <p>There&#39;s also a ton of CLI tools, like Github&#39;s hub cli tool, which are written in go.</p></pre>DeedleFake: <pre><p>Here&#39;s <a href="https://www.github.com/DeedleFake/wdte" rel="nofollow">one of my more recent non-web projects</a>. I also threw together a &#39;script&#39; to sort something yesterday.</p></pre>stefanfransen: <pre><p>The CNC server of Mirai is build with Go. <a href="https://github.com/jgamblin/Mirai-Source-Code/tree/master/mirai/cnc" rel="nofollow">https://github.com/jgamblin/Mirai-Source-Code/tree/master/mirai/cnc</a></p></pre>Thaxll: <pre><p>All the hashicorp stuff : <a href="https://github.com/hashicorp" rel="nofollow">https://github.com/hashicorp</a></p></pre>

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

574 次点击  
加入收藏 微博
0 回复
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传