框架介绍
Go Web Iris 中文网介绍
Go Web Iris中文网
致力于,在中国国内推广Go语言,让更多国内程序员了解其优越性能,在语言方面多一个选择。Go Web
是本网站的核心主题,而IRIS
框架是我们主要侧重点。Go Web Iris中文网
为Go
而生,为Go Web
而生,为Go IRIS
而生,也为程序员而生。- 有更好的想法或者对我们意见或建议都可以通过官方邮箱或者QQ群联系我们,期待您的到来。
- 享用她吧
gopher
。
官方群一: 群名称:Go语言Web Iris官方群① 群号:718678742
官方邮箱: studyiris@vip.qq.com
官方网站: https://studyiris.com/
Golang介绍
1.背景介绍
Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)
说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。
谷歌资深软件工程师罗布·派克(Rob Pike)表示,“Go让我体验到了从未有过的开发效率。”派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,“使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。”
2.功能
- Google对Go寄予厚望。其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助程序设计师处理琐碎和重要的内存管理等问题。Go的速度也非常快,几乎和C或C++程序一样快,且能够快速制作程序。
- Go的网站就是用Go所建立,但Google有更大的野心。该软件是专为构建服务器软件所设计(如Google的Gmail)。Google认为Go还可应用到其他领域,包括在浏览器内执行软件,取代JavaScript的角色。
- Pike说:它至少在强度上比JavaScript高一级。Google自建Chrome浏览器,部分原因就是加速JavaScript和网页表现,而Google已经融合了本身的技术,如Native Client和Gears。
- Pike表示,Go另一项与网络相关的特色,是服务器和用户端设备,如PC或手机,可以分担工作。因此,使用Go的服务便可轻松适应不同的用户端处理性能。
- Go也可解决现今的一大挑战:多核心处理器。一般电脑程序通常依序执行,一次进行一项工作,但多核心处理器更适合并行处理许多工作。Pike说:我们自认有足够的支持,可改善这方面的问题。
- Go团队正在寻求帮助。其中一个重要领域是改善Go能够使用的runtime library。这类library可提供许多工具和功能,加快程序设计的过程。而Go的library还包括许多重要的设计元素,并供应处理同作、垃圾收集和其他低层杂务的资源。
- Go团队也需要编译器方面的协助。Thompson曾为32位元和64位元x86处理器,及ARM处理器写过一些编译器,Taylor也为GCC编译器写过一个Go前端。
- 尽管Google对Go有很大的野心,该公司也明白,这项计划无法完全取代现有的技术。Pike说:我不认为我们能取代任何东西。我们只是创造出这个领域的另一个角色。
3.特色
- 简洁 快速 安全
- 并行 有趣 开源,
- 内存管理,数组安全,编译迅速
4.团队成员
- Thompson:1983年图灵奖(Turing Award)和1998年美国国家技术奖(National Medal of Technology)得主。他与Dennis Ritchie是Unix的原创者。Thompson也发明了后来衍生出C语言的B程序语言。
- Pike:曾是贝尔实验室(Bell Labs)的Unix团队,和Plan 9操作系统计划的成员。他与Thompson共事多年,并共创出广泛使用的UTF-8 字元编码。
- Robert Griesemer:曾协助制作Java的HotSpot编译器,和Chrome浏览器的JavaScript引擎V8。
- 此外还有Plan 9开发者Russ Cox、和曾改善已广泛使用之开源码编译器GCC的Ian Taylor。
Iris介绍
- 编写一次并在任何地方以最小的机器功率运行,如
Android
、ios
、Linux
和Windows
等。它支持Google Go
,只需一个可执行的服务即可在所有平台。 Iris
以简单而强大的api
而闻名。 除了Iris
为您提供的低级访问权限。Iris
同样擅长MVC
。 它是唯一一个拥有MVC
架构模式丰富支持的Go Web
框架,性能成本接近于零。Iris
为您提供构建面向服务的应用程序的结构。 用Iris
构建微服务很容易。
Iris 作者如是说
Go
是一个很棒的技术堆栈,用于为Web
应用程序构建可扩展的,基于Web
的后端系统。
当您考虑构建Web
应用程序和Web API
,或者只是在Go
中构建HTTP
服务器时,您是否会想到标准的net/http
包? 然后,您必须处理一些常见情况,如动态路由(a.k.a参数化),安全性和身份验证,实时通信以及net/http
无法解决的许多其他问题。
net/http
包不够完整,无法快速构建设计良好的后端Web
系统。 当你意识到这一点时,你可能会想到这些方面:
好的,net/http
软件包不适合我,但有很多框架,哪一个对我有用?!
他们每个人都告诉我这是最好的。 我不知道该怎么办!
我用wrk
和ab
做了一些深入的研究和基准测试,以便选择适合我和我的新项目的框架。遗憾的是,结果对我来说真的很失望。
我开始想知道golang
在网上是不是像我读过的那样快……但是,在我让Golang
继续使用nodejs
开发之前,我告诉自己:
'Makis,不要失去希望,至少给
Golang
一个机会。尝试构建一些全新的东西,而不是基于你之前看到的“慢”代码; 了解这种语言的秘密,并让其他人按照你的步骤!'。
这些是我当天告诉自己的话[2016年3月13日]。
同一天晚上,我正在读一本关于希腊神话的书。 我看到了一个古老的女神的名字,并立即受到启发,为这个新的网络框架(我已经开始写作)命名 - Iris
。
两个月后,我正在写这篇介绍。
我还在这里,因为Iris
已成功成为最快的网络框架