Iris - iT 邦幫忙

文章推薦指數: 80 %
投票人數:10人

今天我們要介紹的golang web framework是Iris,一個號稱地表上速度最快的框架。

如果速度跟效能是你的第一考量,那似乎也沒什麼好猶豫的。

不過github星星數排名第三,看 ... 2019iT邦幫忙鐵人賽 DAY 29 2 SoftwareDevelopment 啥物碗Golang?30天就Go系列第 29篇 Iris 2019鐵人賽 golang iris Bater 2018-11-0421:20:164287瀏覽 哇嗚,真不可思議,轉眼間時光飛逝已經倒數一天,明天就是完賽的日子。

更多的感言還是留待明天吧(畢竟是傳統之一)。

今天我們要介紹的golangwebframework是Iris,一個號稱地表上速度最快的框架。

如果速度跟效能是你的第一考量,那似乎也沒什麼好猶豫的。

不過github星星數排名第三,看來工程師除了速度外,也在意一些綜合原因。

這麼說也是再自然不過的,畢竟像是ruby能存活至今,正代表了「工具本身無分優劣,端看是應用在怎麼樣的場合」。

不同的情境條件下,最佳的框架與語言自然也會不同。

而吾輩的職責便是充分學習各種框架知識,才能應付不斷變化的戰場。

有道是好的戰士不會只精通一樣武器,而像是金字塔型分佈,除了有一項主力以外,其他也必須要略懂才行。

至少僅以rails工程師而言,近年來不自稱「全端」,對於前端jsframework諸如React.js或是Vue.js等有些涉獵,要找工作的難度是相當高的呢。

話說回頭,Iris的狀況蠻特別的,根據跑分結果他確實是速度最快,但也有文章指出,跑分的結果不完全等同於現實的情況。

這樣的說法我基本上可以理解,這邊並不是想要質疑數據造假的問題,而是跑分(Benchmark)充其量只能模擬壓力跟流量,與現實中真實的壓力當然會有落差,以及跑分的案例通常會有過於簡化的問題。

不然的話,根據資料顯示,Iris簡直是最「完美」的golang框架了,不只速度最快,支援功能最多,最多學習資源等等優點。

但有趣的是,Iris也是我唯一看到有「黑粉」的框架,有一批人反推Iris,認為它速度雖快但用起來不方便等等。

我想光是速度一項優點,就值得我們對他有點基礎的了解,所以我們就來看看Iris的魅力! 安裝 老樣子,使用goget安裝: goget-ugithub.com/kataras/iris 沒有什麼意外與驚喜。

HelloWorld Iris提供的範例相對之下還蠻完整的,一口氣提供了許多內容。

我們直接看範例: packagemain import"github.com/kataras/iris" funcmain(){ app:=iris.Default() //Method:GET //Resource:http://localhost:3000/ app.Handle("GET","/",func(ctxiris.Context){ ctx.HTML("

Helloworld!

") }) //sameasapp.Handle("GET","/ping",[...]) //Method:GET //Resource:http://localhost:3000/ping app.Get("/ping",func(ctxiris.Context){ ctx.WriteString("pong") }) //Method:GET //Resource:http://localhost:3000/hello app.Get("/hello",func(ctxiris.Context){ ctx.JSON(iris.Map{"message":"Helloiriswebframework."}) }) //http://localhost:3000 //http://localhost:3000/ping //http://localhost:3000/hello app.Run(iris.Addr(":3000")) } 範例一口氣提供三個路由,前兩個差異不大,只是寫為Html或是String的差別。

第三個是回傳json格式,作為API的示範。

如果想看更多範例,可以參考官方整理的irisexample,希望大家都能選擇順手的框架,開發順利囉! Reference https://iris-go.com/ 留言 追蹤 檢舉 上一篇 BeeGo 下一篇 KeepGoing三十天Golang挑戰回顧 系列文 啥物碗Golang?30天就Go 共30篇 目錄 RSS系列文 訂閱系列文 59人訂閱 26 GolangWebFrameworks 27 Gin 28 BeeGo 29 Iris 30 KeepGoing三十天Golang挑戰回顧 完整目錄 尚未有邦友留言 立即登入留言 iT邦幫忙鐵人賽 參賽組數 1087組 團體組數 52組 累計文章數 20470篇 完賽人數 572人 鐵人賽最新文章 gotodie?那個goto到底能不能用啊? 2021/12/12更新 予焦啦!一夢終須醒...... 盤點清查與檢測掃描-資通安全健診 [13th][Day23]httpresponseheader(下) [13th][Day22]httpresponseheader(上) [13th][Day21]golangcontext 股票怎麼選?掌握這原則,你也能找到強勢股 Gitpush 盤點清查與檢測掃描-安全性檢測 前往鐵人賽 技術推廣專區 [Day2]抓取每日收盤價 [Day1]基本工具安裝 利用python取得永豐銀行API的Nonce [Day03]tinyML開發板介紹 永豐金融API測試員 [Day01]在享受tinyML這道美食之前 [Day3]使用ta-lib製作指標 [Day4]函數打包與買進持有報酬率試算 計算API所需要的參數:HashID 計算API所需要的參數:IV 前往鐵人賽 熱門問題 公司想要客製化一套ERP系統該選擇軟體開發?套裝系統?還是自行設立部門? 軟體工程師會被監控嗎 我有一個客戶中了mljx病毒勒索950美金我免費轉讓有人要接嗎? 訂房網站DB架構 (以解決)請問GMAIL群組.假如公司之前有業務群[email protected].有新職員收不到這個.如何把新業務加入 加班提醒視窗 想找PDF編輯工具,Adobe太貴了,請問還有其他推薦的替代方案嗎? 家中的網路配置 切割vlan網段方式 【已解決】如何安裝舊版本的VS2019 IT邦幫忙 站方公告 【2021iThome鐵人賽】登登登!究竟獎落誰家,2021iThome鐵人賽得獎名單正式揭曉 熱門tag 看更多 13th鐵人賽 12th鐵人賽 11th鐵人賽 鐵人賽 2019鐵人賽 2018鐵人賽 javascript 2017鐵人賽 windows php python windowsserver linux c# 程式設計 資訊安全 css vue.js sql 分享 熱門回答 公司想要客製化一套ERP系統該選擇軟體開發?套裝系統?還是自行設立部門? 軟體工程師會被監控嗎 想找PDF編輯工具,Adobe太貴了,請問還有其他推薦的替代方案嗎? 防火牆如何設定DenyPolicy,以提高資安機制? 家中的網路配置 (以解決)請問GMAIL群組.假如公司之前有業務群[email protected].有新職員收不到這個.如何把新業務加入 RedhatEnterpriselinux5.5安裝Oracle問題 MYSQL如何將欄位中的json陣列資料拆分出來 請問目前php8版本的問題 切割vlan網段方式 熱門文章 予焦啦!一夢終須醒...... gotodie?那個goto到底能不能用啊? 盤點清查與檢測掃描-資通安全健診 再增加五隻狗勾 自己在家接收來自飛機的ADS-B訊號! 2021/12/12更新 第七隻狗勾 第九隻狗勾 第六隻狗勾 第八隻狗勾 一週點數排行 更多點數排行 海綿寶寶(antijava) ㊣浩瀚星空㊣(yoching) 居然解出來了(partyyaya) raytracy(raytracy) ccenjor(ccenjor) mathewkl(mathewkl) japhenchen(japhenchen) 純真的人(jer5173) 小山丘(a243318490) fillano(fillano) × At 輸入對方的帳號或暱稱 Loading 找不到結果。

標記 {{result.label}} {{result.account}} 關閉


請為這篇文章評分?