Go version of the Spring Framework?

xuanbao · · 226 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>Hello,</p> <p>I&#39;m a junior software developer with experience many different languages in font-end, back-end, mobile development and embedded development.</p> <p>My current employer mainly works with the Spring Framework because it has a huge user base and easy development environment setup.</p> <p>As of March 2016 I&#39;m trying to convince my boss to implement Go in our projects or even start new project entirely in Go because many of our developers like it.</p> <p>But my boss and projectleader both say that by using the Spring Framework we have a fast development cycle, which I understand.</p> <p>So I was wondering if there is some kind of open-source Go &#39;version&#39; of the Spring Framework because if there is, I could convince my boss.</p> <p>Thanks in advance.</p> <hr/>**评论:**<br/><br/>shovelpost: <pre><p>As someone that has been working with Spring for many years, I can say with confidence that there is currently nothing that even remotely approaches the features of Spring, at least not in the way bosses and managers think about it. You might be able to cover some features by bringing together many good Go libraries which is usually the recommended approach.</p> <p>On the flipside, you need to understand (and your boss) that Go is about ease of maintenance and as less magic as possible. Go has a powerful standard library and by hand picking some good libraries you should be quite productive and cover at least the basics.</p> <p>The productivity and velocity of Spring is achieved after many, many hours (and sometimes expensive training) on the Spring framework at the cost of more difficult maintenance in the long run as it is common for such large, complex and &#34;magic&#34; monolithic frameworks (Rails shares some of those characteristics). It&#39;s also much more difficult to get new developers to get started. Knowing Java is not enough to get the job; you need to know Spring.</p> <p>In Go you can become productive much faster and if you vet your dependencies carefully, the project becomes easier to maintain in the long run. It&#39;s also much easier for new developers to jump in. You might never approach the aforementioned velocity of Spring but remember that maintenance is usually the most expensive part of a project.</p> <p>If you want to convince your boss, you need to emphasize where Go excels at instead of trying to find something equivalent with the Java Enterprise world. Because even if you did find something that resembles Spring, then you would get all the disadvantages with hardly any of the advantages. You could also implement something on your free time in Go to impress your boss. If all fails, you could just wait till you are able to call some shots. Then you could write a small service in Go to introduce it in your codebase and see how that works out.</p></pre>theo_035: <pre><p>This a a very good statement! Thanks.</p></pre>UltraNemesis: <pre><p>One of the advantages of Go is that for the most part, you won&#39;t require large and messy third party frameworks like spring that has a substantial learning curve of its own, has its own issues and quirks to deal with and tend to unnecessarily bloat up the application.</p></pre>fleshmn: <pre><p>Oh God, please no! If you want spring in go then you didn&#39;t understand go. Experience says me that there no way to change java developers mind that there&#39;s smth other than spring.</p></pre>peterbourgon: <pre><p>I personally consider Go kit (<a href="https://gokit.io" rel="nofollow">https://gokit.io</a>, <a href="https://github.com/go-kit/kit" rel="nofollow">https://github.com/go-kit/kit</a>) to be a rough Go-idiomatic analog to Spring. Rapid application development is definitely not a goal, however. It&#39;s much more focused on long-term project maintainability.</p></pre>metacasts: <pre><p>Try <a href="https://gobuffalo.io" rel="nofollow">https://gobuffalo.io</a> it&#39;s probably the closest your going to get. It&#39;s similar in nature to Rails for Ruby, but written in Go.</p></pre>

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

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