在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Beego框架是 台@@湾 程序员astaxie的Goweb开发的开源框架。Beego框架最大的特点是由八个大的基础模块组成,如下图所示:
Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,已经发布了1.0版本。具有快速灵活,容错方便等特点。其实对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错。框架更像是一些常用函数或者工具的集合。借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。
Iris框架在其官方网站上被描述为Go开发中最快的Web框架,并给出了多框架和多语言之前的性能对比。目前在github上,Iris框架已经收获了14433个star和1493个fork,可见该框架也非常受欢迎。在实际的开发中,Iris与Gin的学习曲线几乎相同,因此,掌握了Gin就可以轻松掌握Iris框架。Iris框架的相关资料如下,供大家学习:
Echo是个快速的HTTP路由器(零动态内存分配),也是Go的微型Web框架。其具备快速HTTP路由器、支持扩展中间件,同时还支持静态文件服务、WebSocket以及支持制定绑定函数、制定相应渲染函数,并允许使用任意的HTML模版引擎。可以通过如下一张图表明Echo框架的路由性能:
上面列举的,都是我自己用的过的和熟悉的,如果作为一个goWeb开发者程序员来说,大部分业务绝对足够用了,上面的这些框架在github上的star数都超过了1万,有的接近2万。说明这些框架是最受开发者喜欢和接受的,因此可以从上面这些框架学起。 如果还想了解其他的框架,可以关注的有:Buffalo框架、Revel框架、Martini框架、Traffic框架、Goji框架等等。 最后,框架只是能更快速的帮我们构建业务,提升开发效率。掌握Golang语言的特点和编程核心,才能写出自己的娴熟代码。 4、为什么 Go 语言的性能还不如 Java https://www.zhihu.com/question/59481694/answer/293789587 每种语言都有自己擅长和不擅长的一面,语言本身特性再好也能被烂代码毁掉。世上99%的程序都轮不到比拼原生语言性能的地步。不同场景下,原生机器码未必比虚拟机runtime强(如题目中的Go和C#),甚至编译型写得不好还不如解释型(如IO密集场合)。 与其争论语言本身极端情况下的性能到底如何,倒不如把各个实际应用中的逻辑老老实实地写好吧。有的地方少加几个低效的循环,必要的地方用上缓存,数据库结构优化一下。提升的效率比Go和C#以及任何两门流行语言的性能差距大多了。另外如果以稍微牺牲一点性能的代价大大提升可读性和可维护性,也是十分值得的。 程序员要讲究格局和大势,不必拘于小节,主流编程语言的性能跟语言的地位基本是一致的,就是底层语言(汇编、C、C++..)> 中间层高级语言(Go,Java,C#...)> 上层脚本语言( Python,Lua,Ruby...)。知道这个大势就可以了,因为胎里素的原因,不会有错,当然这是在同一水平程序员编程的情况下,如果程序员水平不一样,可能会出现底层语言性能不如高一层语言的情况,毕竟任何优化也拿烂代码没办法。明确这个大势,那么评估性能就变成,写出同样性能程序你要付出的代价要更值得权衡考虑。 一个程序设计语言的性能表现主要取决于编译器和运行时,以及代码质量。 |
请发表评论