6 must-have web frameworks for the Google Go language

06-Jun-18

คัมภีร์เทพ IT

See the original english version Click here!
 

สำหรับ Golang ดูจะเป็นตัวเลือกที่ดีสำหรับใช้เขียน Web Services และ APIs มีการเปรียบภาษา GO เป็น Asynchronous Programming และมี Feature อื่นที่เป็นประโยชน์สำหรับ Web Services อีกทั้งมีการใช้งานเพิ่มมากขึ้นด้วย หากใครใช้งาน Golang อยู่ ลองมาดู 6 สุดยอด Web Frameworks ที่ถูก recommend ว่าควรใช้กันดีกว่า

1. Beego

พอพูดถึง Beego ทำให้นึกถึงบางเรื่องของ Django web framework สำหรับ Python เพราะมันมี Feature ต่างๆ ที่มักใช้งานใน Web Application โดยถูกจัดออกเป็น Module ต่างๆ 8 Modules ที่เราสามารถเปิดใช้หรือปิดมันได้ตามต้องการ นอกเหนือจาก model-view-controller (MVC) components ที่พบใน Web Frameworks ส่วนใหญ่แล้ว ยังมี object-relationship map (ORM)  สำหรับการเข้าถึงข้อมูล, built-in cache handler, session handling tools, logging mechanisms และ libraries สำหรับ operations ทั่วไปกับ HTTP objects นอกจากนี้ยังมี command-line tools อีกด้วย

2. Gin

หนึ่งใน Web Frameworks สำหรับ GO คือ Martini ที่แม้จะเลิกพัฒนาต่อแล้ว แต่มันก็เป็นตัวจุดประกายให้มีการพัฒนา Web Frameworks ตัวอื่นๆ ขึ้นมาโดยมี Martini เป็นพื้นฐาน และ Gin ก็เป็นหนึ่งในนั้น มันใช้ customized version ของ httprouter package ในเรื่องของความเร็ว และมีตัวจัดการสำหรับ use cases ทั่วไป อย่าง middleware, file uploading, logging, การรวม front-end HTML components เข้ากับ back-end data structures และอื่นๆ อีกมากมาย

3. Gorilla

Gorilla ถูกมองว่าเป็น “Web Toolkit” ไม่ใช่ MVC-style framework มันประกอบด้วย Libraries ที่ใช้ในการจัดการในลักษณะ Low-Level ของการเขียน Web Services: context (สำหรับ stashing state ในระหว่างช่วงที่มี request), mux (route/dispatch) และ Libraries อื่นๆ สำหรับ Implement secure cookies, sessions, websockets และ RPC over HTTP ส่วน Templates, Forms และส่วนของ Front-end อื่นๆ ไม่ได้เป็นส่วนหนึ่งใน package แต่คุณก็สามารถหาสิ่งเหล่านี้ได้ ไม่ว่าจะผ่าน Frameworks ตัวอื่นๆ ที่ใช้งานร่วมกับ Gorilla หรือจะผ่าน Standalone components ที่คุณ integrate เข้ากับสิ่งที่สร้างขึ้นด้วย Gorilla ก็ตาม

4. Echo

Echo เป็นอีกหนึ่ง Frameworks ที่มีขนาดเล็กและมีความสำคัญต่อ APIs ซึ่งไม่รวมถึงตัวอื่นๆ อย่างเช่น Templating System ซึ่งคุณสามารถใช้ html/template ของ GO เองและสามารถเพิ่มมันเข้าไปได้(ถ้าต้องการ) อย่างไรก็ตาม Echo ก็มี middleware modules ที่มักใช้กับ APIs อยู่หลายตัว เช่น basic และ key-based authentication, compression, proxying และ logging นอกจากนี้ Echo ยังมี Recipes อื่นๆ ที่มีประโยชน์ ซึ่งส่วนใหญ่ไม่เกี่ยวข้องกับงานสำหรับการ Implement ตัวอย่างเช่น ถ้าคุณกำลังจัดการกับ HTTPS certificates ด้วย Let’s Encrypt คุณสามารถ set up ตัว Recipes เพื่อ install certificates เหล่านั้นโดยอัตโนมัติ

5. Iris

Iris มาพร้อมกับรายละเอียดจากผู้ที่สร้างว่า "มีความเทียบเท่ากับ Express.js อย่างแท้จริง" นั่นคือ version ของ JavaScript/Node.js Web Framework ที่ใช้การออกแบบที่เรียบง่าย และ Function ส่วนใหญ่ที่มาจาก plugins โดย Iris มี Function พื้นฐานของ MVC รวมถึงมี built-in support สำหรับ middleware, sessions, routing และ caching ส่วน Documentation ก็มีตัวอย่างมากมาย รวมถึง Project ที่ interact กับ React front end หรือ run ใน Docker / Kubernetes environment

6. Revel

Ruby on Rails ได้รวบรวมเอา pattern การใช้งานของ MVC-style Web Framework เข้าไปด้วย สำหรับ Revel เองได้รับสมญานามจากผู้ที่สร้างมันขึ้นมาว่า อยู่ใน Spirit of Rails นอกเหนือจากมีพื้นฐาน MVC แล้ว Revel ยังให้คุณสามารถเพิ่ม components อื่นๆ ได้อย่างอิสระเพื่อตอบสนองความต้องการของคุณ ส่วน Templating ก็มาจาก html/template package ของ GO เอง ขณะที่ HTTP engine สามารถใช้ของ Go หรือ 3rd party ก็ได้ ส่วน Caching ก็สามารถทำงานได้ใน memory หรือผ่าน Memcached หรือ Redis back end แต่อย่างไรก็ตาม มันไม่มี native ORM สำหรับ Databases, ตัวอย่างหนึ่งใน Documentation ของ Revel มีการใช้ Gorp library แต่ในทางทฤษฎีก็สามารถนำ ORM ไปใช้งานได้

ที่มา:  https://www.infoworld.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความที่เกี่ยวข้อง