Rumah >pembangunan bahagian belakang >Golang >Pembelajaran Golang pembangunan aplikasi Web berdasarkan Flutter

Pembelajaran Golang pembangunan aplikasi Web berdasarkan Flutter

WBOY
WBOYasal
2023-06-24 10:02:311695semak imbas

Dalam beberapa tahun kebelakangan ini, industri pembangunan aplikasi mudah alih telah berkembang pesat, dan kemunculan rangka kerja Flutter dan bahasa pengaturcaraan Golang telah menyediakan pembangun dengan lebih banyak pilihan. Flutter ialah rangka kerja UI sumber terbuka yang dibangunkan oleh Google yang boleh membina aplikasi mudah alih yang cantik dan berprestasi tinggi dengan pantas, manakala Golang ialah bahasa pengaturcaraan yang cekap dibangunkan oleh Google dan juga terkenal dengan prestasi serentaknya. Artikel ini akan memperkenalkan cara membangunkan aplikasi web berdasarkan Flutter dan Golang.

1 Pengenalan kepada Flutter dan Golang

Flutter ialah rangka kerja UI aplikasi mudah alih sumber terbuka Google dan dibangunkan menggunakan bahasa Dart. Ciri utama Flutter ialah ia menyokong pembangunan pesat aplikasi Android dan iOS yang cantik dan berprestasi tinggi, dan keupayaan untuk membangunkan aplikasi desktop dan web melalui satu pangkalan kod. Rangka kerja Flutter juga termasuk banyak komponen yang kaya untuk membina UI, seperti teks, butang, imej, kotak input, dsb.

Golang ialah bahasa pengaturcaraan moden, konkurensi tinggi, kompilasi pantas yang bebas daripada mana-mana platform. Ciri utama Golang ialah sokongan untuk konkurensi dan prestasi tinggi Ciri ini menjadikan Golang sebagai bahasa pilihan untuk membina perkhidmatan mikro, aplikasi web dan sistem teragih.

2. Model Kerjasama antara Flutter dan Golang

Kolaborasi antara Flutter dan Golang biasanya terdiri daripada pelayan web, API dan pangkalan data. Aplikasi Flutter mengakses sumber API dan pangkalan data dengan menghantar permintaan ke pelayan web dan menerima respons. Pelayan web memajukan permintaan ini ke bahagian belakang Golang, yang menanyakan pangkalan data untuk data yang diperlukan untuk membalas permintaan tersebut.

3. Membina Pelayan Web

Cara biasa untuk membina pelayan Web di Golang ialah menggunakan net/http dalam perpustakaan standard. Untuk membina pelayan web dengan lebih mudah, rangka kerja web yang popular seperti Gin dan Echo juga boleh digunakan. Rangka kerja ini menyediakan banyak ciri berguna dan boleh mempercepatkan pembangunan kod.

Berikut ialah contoh kod untuk membina pelayan web ringkas menggunakan rangka kerja Gin:

package main

import (
    "github.com/gin-gonic/gin"
)

func main() {
    router := gin.Default()
    router.GET("/", func(c *gin.Context) {
        c.String(200, "Hello, World!")
    })
    router.Run(":8080")
}

Dalam contoh ini, kami menggunakan rangka kerja Gin untuk mencipta penghala yang mengendalikan permintaan HTTP GET. Apabila kami menghantar permintaan ke laluan akar, pelayan akan mengembalikan rentetan "Hello, World!" dalam bentuk kod status 200.

4. Integrasi dengan Flutter

Untuk menyepadukan aplikasi Flutter dengan pelayan web Golang, kita perlu menggunakan http.Client yang disediakan oleh pakej http. Pelanggan ini akan berkomunikasi dengan API pelayan web dan menerima respons daripada API. Komunikasi ini biasanya dicapai dengan menghantar dan menerima data JSON.

Berikut ialah contoh kod untuk permintaan GET berasaskan Flutter:

import 'package:http/http.dart' as http;

Future<String> fetchData(String route) async {
  final response = await http.get('http://localhost:8080/api/$route');

  if (response.statusCode == 200) {
    return response.body;
  } else {
    throw Exception('Failed to load data');
  }
}

Dalam contoh ini, aplikasi Flutter menghantar permintaan GET melalui HttpClient. Kami menggunakan kaedah get() yang disediakan oleh pakej http untuk menghantar permintaan, yang menerima URI dan mengembalikan respons jenis Http.Response. Jika kod status respons ialah 200, badan respons dikembalikan jika tidak, pengecualian akan dilemparkan.

5. Berinteraksi dengan pangkalan data

Setelah kami membina pelayan web dan berjaya menyepadukannya dengan Flutter, kami perlu memasukkan, memadam atau mengemas kini data ke dalam pangkalan data. Pangkalan data yang biasa digunakan di Golang termasuk MySQL dan PostgreSQL Anda boleh menggunakan pangkalan data/sql dalam perpustakaan standard Golang untuk menyambung ke pangkalan data ini.

Contoh berikut menunjukkan cara menyambung ke pangkalan data MySQL dan melaksanakan operasi pertanyaan:

import (
    "database/sql"
    "fmt"
    "log"

    _ "github.com/go-sql-driver/mysql"
)

func main() {
    db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/mydb")

    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    rows, err := db.Query("SELECT * FROM users")

    if err != nil {
        log.Fatal(err)
    }
    defer rows.Close()

    for rows.Next() {
        var name string
        var age int
        err = rows.Scan(&name, &age)
        if err != nil {
            log.Fatal(err)
        }
        fmt.Printf("Name: %s    Age: %d
", name, age)
    }
    err = rows.Err()
    if err != nil {
        log.Fatal(err)
    }
}

Dalam contoh ini, kami menggunakan kaedah sql.Open untuk menyambung ke pangkalan data MySQL. Kami kemudian melaksanakan pertanyaan dan mengulangi set hasil mencetak nama dan umur semua pengguna.

6. Kesimpulan

Artikel ini memperkenalkan cara menggunakan Flutter dan Golang untuk membina aplikasi web. Kami mempelajari tentang ciri Flutter dan Golang, cara membina pelayan web Golang dan cara mengintegrasikan Flutter dengan pelayan web Golang. Kami juga meneroka cara menggunakan Golang untuk menyambung ke pangkalan data MySQL dan melaksanakan operasi pertanyaan. Saya harap artikel ini dapat membantu pembangun yang ingin mempelajari Flutter dan Golang dalam bidang pembangunan web.

Atas ialah kandungan terperinci Pembelajaran Golang pembangunan aplikasi Web berdasarkan Flutter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn