Rumah >pembangunan bahagian belakang >Golang >Pembelajaran Golang pembangunan aplikasi web berdasarkan Ruby on Rails
Dalam beberapa tahun kebelakangan ini, bahasa Go (Golang) telah menjadi sangat popular dalam bidang pembangunan aplikasi web. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk membangunkan aplikasi web dalam persekitaran Ruby on Rails.
Pengenalan kepada Ruby on Rails
Ruby on Rails, atau ringkasnya Rails, ialah rangka kerja pembangunan aplikasi web berdasarkan bahasa Ruby. Ia mengguna pakai konsep Konvensyen atas Konfigurasi supaya pembangun boleh lebih menumpukan pada logik perniagaan aplikasi dan bukannya isu konfigurasi yang berlebihan. Rails menyokong seni bina MVC (Model-View-Controller), di mana Model mewakili model data, View mewakili antara muka pengguna dan Pengawal bertanggungjawab untuk menjadualkan interaksi antara logik perniagaan dan antara muka pengguna.
Kelebihan Golang dalam pembangunan aplikasi Web
Bahasa Go ialah bahasa pengaturcaraan yang dihimpun, serentak, dikumpul sampah. Ia mempunyai sintaks yang ringkas, kebolehbacaan tinggi, pengurusan memori yang cekap dan sokongan coroutine Ia juga merupakan bahasa pembangunan yang dilancarkan oleh Google. Dalam pembangunan aplikasi web, bahasa Go mempunyai kelebihan berikut:
Golang digabungkan dengan Ruby on Rails
Terdapat banyak rangka kerja yang tersedia untuk membangunkan aplikasi web menggunakan bahasa Go, seperti Gin, Echo dan Beego. Di sini kami telah memilih untuk menggunakan rangka kerja Gin untuk pembangunan aplikasi dan menggabungkannya dengan Ruby on Rails.
Sebelum bermula, anda perlu memasang persekitaran pembangunan bahasa Go pada mesin tempatan anda dan memasang rangka kerja Gin. Perintahnya adalah seperti berikut:
$ go get -u github.com/gin-gonic/gin
Selepas pemasangan selesai, kita boleh membenamkan kod bahasa Go dalam aplikasi Ruby on Rails .
Benamkan kod Golang dalam aplikasi Ruby on Rails
Mari kita lihat contoh mudah untuk menunjukkan cara membenamkan kod bahasa Go dalam kod aplikasi Ruby on Rails.
Pertama, kita perlu mencipta folder go dalam direktori lib aplikasi Ruby on Rails dan Cipta Go kami modul bahasa dalam folder ini. Contohnya, contoh aplikasi berikut:
package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { fmt.Println("Hello, world!") router := gin.Default() router.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, world!", }) }) router.Run(":8080") }
Aplikasi sampel ini menggunakan rangka kerja Gin dan mencipta pelayan HTTP lalai. Apabila pelayan menerima permintaan URL akar, ia mengembalikan respons JSON yang mudah.
Dalam aplikasi Ruby on Rails kami, kami perlu menggunakan Ruby untuk memanggil modul bahasa Go supaya kod bahasa Go digunakan bersama dengan kod Rails kami.
Berikut ialah contoh pengawal Ruby on Rails ringkas yang memanggil modul bahasa Go yang ditakrifkan di atas:
class GolangController < ApplicationController def index # 运行Go语言模块 output = `go run #{Rails.root.join('lib/go/main.go')}` render plain: output end end
Pengawal akan dijalankan dalam Ruby menggunakan perintah luaran operator ``, melepasi laluan ke modul bahasa Go kami sebagai hujah.
Kini kami boleh mengakses kawalan kami dengan menaip http://localhost:3000/golang/index dalam penyemak imbas pengkompil dan lihat output modul bahasa Go.
Apabila kami membuka URL dalam penyemak imbas, pengawal akan menjalankan modul bahasa Go dan menghantar output kepada penyemak imbas. Dalam aplikasi contoh ini, kita akan melihat rentetan JSON dikembalikan oleh modul bahasa Go.
Kesimpulan
Artikel ini memperkenalkan cara membangunkan aplikasi web menggunakan bahasa Go dalam persekitaran Ruby on Rails. Walaupun Golang mempunyai banyak kelebihan dalam bidang aplikasi web, ia bukanlah penyelesaian mujarab. Untuk senario aplikasi yang berbeza, kita perlu menimbang kelebihan dan kekurangan Golang dan bahasa lain mengikut situasi tertentu, untuk memilih bahasa pembangunan yang paling sesuai.
Atas ialah kandungan terperinci Pembelajaran Golang pembangunan aplikasi web berdasarkan Ruby on Rails. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!