Tossapon Nuanchuay
ntossapo
Published in
1 min readJul 21, 2016

--

Iris, The fastest web framework for Golang

มีประเด็นเกิดขึ้น หลังจากการเปิดตัวของ dotnet core เกี่ยวกับการเปรียบเทียบด้าน performance
เป็นการเปรียบเทียบกันระหว่าง golang vs dotnet vs nodejs ว่าใครเร็วกว่ากัน รองรับการทำงานได้เยอะมากกว่ากัน
หรือเปรียบเทียบแม้กระทั้งความสบายใจการเขียน code (ความสวยงามของ code)
มีการเปรียบเทียบแสดงไว้หลายที่ครับ ผมขอแนะนำที่นี่

ประเด็นคือ ผมแอบเห็นว่ามีการ benchmark เล็กๆ น้อยๆ เกิดขึ้นใน facebook ของผู้ใหญ่ท่านหนึ่ง
.net นั้นนำ http-go ไปเล็กน้อย
แต่ต้องสดุดเมื่อเจอ iris-go ที่เร็วกว่ามากๆ เกือบเท่าตัว
ทำให้ผมสงสัยและต้องไปหา ว่า iris-go นั้นคืออะไร

Iris Github
จากที่ผมได้อ่านคร้าวๆ คือ web-framework ที่น่าสนใจอีกตัวหนึ่ง ที่ทำงานได้เร็วมาก
สามารถเป็นได้ทั้ง web และ restful-api
มีเว็บ template ให้เลือกใช้มากกว่า 6 แบบ
สามารถทำ OAuth, Json web token, SetHeader แบบ custom ได้
ในความคิดแรกของผม มันคงคล้าย express แต่ไม่มี callback

ลองเขียน code กันครับ
code ที่ผมเขียนจะเป็นแค่ api สำหรับติดต่อกับ mobile application

สร้าง project file sturcture ก่อน ประมาณนี้ครับ

* root(iris-go)
| — src
| — | — main
| — | — | — main.go

การติดตั้ง iris ทำได้โดยการใช้ go get ครับ
go get -u github.com/kataras/iris/iris
เขียน code ตาม example ครับ

ให้ผลลัพธ์ดังนี้ครับ

ลงรับ parameter ดูครับ

ให้ผลลัพธ์ดังนี้

พอหอมปากหอมคอครับกับเจ้า iris ซึ่งให้ความรู้สึกเหมือนเราเขียน nodejs ที่ไม่ต้องมี callback ให้มากความ
ทั้งนี้ผม implement iris-go กับโปรเจคเชิงวิจัยไว้ตัวหนึ่ง ก็ให้ผลลัพธ์ที่ค่อนข้างดีทีเดียว
แสดงผมจุด ประมาณ 1k — 5k จุด ได้ด้วยเวลาที่ยอมรับได้
Traffic-Prediction

ถือว่าเป็นเฟรมเวิร์คที่น่าใช้ น่าลองมากครับ ผมอาจจะใช้ในระยะยาวเลย

Originally published at www.ntossapo.me on July 21, 2016.

--

--