Rumah > Artikel > pembangunan bahagian belakang > Cara Membuat Apl Mac Pertama Anda Menggunakan Go
Pengenalan
Pembangunan Apl Mac secara tradisinya bergantung pada bahasa pengaturcaraan seperti Swift dan Objective-C. Walau bagaimanapun, kecekapan dan fleksibiliti Go menjadikannya pilihan yang sangat baik untuk mencipta aplikasi Mac yang mantap lagi mudah. Dalam tutorial ini, kami akan membimbing anda langkah demi langkah melalui proses membina, menguji dan menggunakan apl Mac pertama anda menggunakan Go, bermula dengan menyediakan persekitaran pembangunan anda.
Mengapa Gunakan Go for Mac App Development?
Go, juga dikenali sebagai Golang, ialah bahasa yang ditaip secara statik dan disusun oleh Google. Ia telah mendapat populariti kerana kesederhanaan, prestasi dan pengendalian serentak yang cekap. Inilah sebabnya anda boleh mempertimbangkan untuk menggunakan pembangunan apl Go for Mac:
Kesederhanaan: Sintaks Go adalah mudah dan mudah dipelajari, menjadikannya pilihan yang bagus untuk pembangun dari semua peringkat.
Prestasi: Sebagai bahasa yang disusun, Go adalah pantas dan cekap, yang penting untuk mencipta aplikasi desktop responsif.
Keupayaan Merentas Platform: Walaupun panduan ini memfokuskan pada macOS, sifat merentas platform Go bermakna anda boleh menyesuaikan apl anda dengan mudah untuk sistem pengendalian lain.
Concurrency: Go mempunyai sokongan terbina dalam untuk pengaturcaraan serentak, membolehkan anda mencipta apl yang boleh mengendalikan berbilang tugas secara serentak tanpa melambatkan.
Prasyarat
Sebelum menyelami kod, pastikan anda telah memasang alatan berikut:
Go: Pasang versi terkini daripada tapak web rasmi Go.
Alat Baris Perintah Xcode: Pasang ini dengan menjalankan xcode-select --install dalam terminal.
Gio: Gio ialah perpustakaan untuk menulis antara muka pengguna grafik mudah alih dalam Go. Ia memudahkan proses membina GUI dan sesuai untuk pembangunan aplikasi Mac. Anda boleh memasang Gio menggunakan go get -u gioui.org/cmd/gogio.
Langkah 1: Sediakan Persekitaran Pergi Anda
Pertama, anda perlu mengkonfigurasi persekitaran Go anda dengan betul:
Pasang Go: Muat turun dan pasang Go dari tapak rasmi. Ikut arahan pemasangan untuk sistem pengendalian anda.
Sediakan Ruang Kerja Anda: Pergi menggunakan ruang kerja untuk mengatur projek anda. Secara lalai, ruang kerja terletak di ~/go, tetapi anda boleh menukarnya dengan menetapkan pembolehubah persekitaran GOPATH.
mkdir -p ~/go/src/github.com/yourusername export GOPATH=~/go
Pasang Gio: Gio ialah kit alat untuk membina aplikasi asli untuk Android, Linux dan macOS. Pasang Gio dengan menjalankan:
go get -u gioui.org/cmd/gogio
Langkah 2: Mencipta Apl Mac Asas
Mari buat apl Mac "Hello World" yang ringkas menggunakan Gio.
Mulakan Projek Anda: Buat direktori baharu untuk projek anda dan navigasi ke sana.
mkdir HelloWorldMacApp cd HelloWorldMacApp
Buat Fail Main Go: Buat fail bernama main.go dan bukanya dalam editor teks kegemaran anda.
touch main.go
Tulis Kod: Mulakan dengan menulis program Go asas yang memulakan tetingkap dan memaparkan "Hello World".
package main import ( "gioui.org/app" "gioui.org/io/system" "gioui.org/layout" "gioui.org/op" "gioui.org/widget/material" "gioui.org/font/gofont" ) func main() { go func() { // Create a new window. w := app.NewWindow() th := material.NewTheme(gofont.Collection()) for e := range w.Events() { switch e := e.(type) { case system.FrameEvent: gtx := layout.NewContext(&op.Ops{}, e) layout.Center.Layout(gtx, func(gtx layout.Context) layout.Dimensions { return material.H1(th, "Hello, World!").Layout(gtx) }) e.Frame(gtx.Ops) case system.DestroyEvent: return } } }() app.Main() }
Bina dan Jalankan Apl Anda: Untuk membina dan menjalankan apl anda, gunakan arahan berikut:
go run main.go
Ini sepatutnya membuka tetingkap baharu yang memaparkan "Hello, World!".
Langkah 3: Meningkatkan Apl Anda dengan Butang
Sekarang kita mempunyai apl asas yang sedang berjalan, mari tingkatkan apl itu dengan menambahkan butang yang memaparkan mesej apabila diklik.
Ubah suai main.go: Kemas kini fail main.go anda untuk memasukkan butang.
package main import ( "gioui.org/app" "gioui.org/io/system" "gioui.org/layout" "gioui.org/op" "gioui.org/widget" "gioui.org/widget/material" "gioui.org/font/gofont" ) func main() { go func() { // Create a new window. w := app.NewWindow() th := material.NewTheme(gofont.Collection()) var button widget.Clickable for e := range w.Events() { switch e := e.(type) { case system.FrameEvent: gtx := layout.NewContext(&op.Ops{}, e) layout.Center.Layout(gtx, func(gtx layout.Context) layout.Dimensions { return layout.Flex{Axis: layout.Vertical}.Layout(gtx, layout.Rigid(material.H1(th, "Hello, World!").Layout), layout.Rigid(material.Button(th, &button, "Click Me").Layout), ) }) if button.Clicked() { println("Button clicked!") } e.Frame(gtx.Ops) case system.DestroyEvent: return } } }() app.Main() }
Bina dan Jalankan Apl Dipertingkat Anda: Jalankan apl sekali lagi dengan go run main.go. Kali ini, anda sepatutnya melihat butang "Klik Saya" di bawah "Hello, World!" teks. Mengklik butang akan mencetak "Butang diklik!" ke konsol.
Langkah 4: Menambah Lebih Banyak Ciri
Mari tambahkan lebih banyak ciri pada apl kami, seperti input teks dan menu lungsur.
Menambah Input Teks: Ubah suai main.go anda untuk memasukkan medan input teks.
package main import ( "gioui.org/app" "gioui.org/io/system" "gioui.org/layout" "gioui.org/op" "gioui.org/widget" "gioui.org/widget/material" "gioui.org/font/gofont" ) func main() { go func() { // Create a new window. w := app.NewWindow() th := material.NewTheme(gofont.Collection()) var button widget.Clickable var textField widget.Editor for e := range w.Events() { switch e := e.(type) { case system.FrameEvent: gtx := layout.NewContext(&op.Ops{}, e) layout.Center.Layout(gtx, func(gtx layout.Context) layout.Dimensions { return layout.Flex{Axis: layout.Vertical}.Layout(gtx, layout.Rigid(material.H1(th, "Hello, World!").Layout), layout.Rigid(material.Editor(th, &textField, "Enter text...").Layout), layout.Rigid(material.Button(th, &button, "Click Me").Layout), ) }) if button.Clicked() { println("Button clicked with text:", textField.Text()) } e.Frame(gtx.Ops) case system.DestroyEvent: return } } }() app.Main() }
Menambah Menu lungsur: Tambahkan menu lungsur pada apl anda.
package main import ( "gioui.org/app" "gioui.org/io/system" "gioui.org/layout" "gioui.org/op" "gioui.org/widget" "gioui.org/widget/material" "gioui.org/font/gofont" ) func main() { go func() { // Create a new window. w := app.NewWindow() th := material.NewTheme(gofont.Collection()) var button widget.Clickable var textField widget.Editor var list widget.List list.Axis = layout.Vertical items := []string{"Item 1", "Item 2", "Item 3"} for e := range w.Events() { switch e := e.(type) { case system.FrameEvent: gtx := layout.NewContext(&op.Ops{}, e) layout.Center.Layout(gtx, func(gtx layout.Context) layout.Dimensions { return layout.Flex{Axis: layout.Vertical}.Layout(gtx, layout.Rigid(material.H1(th, "Hello, World!").Layout), layout.Rigid(material.Editor(th, &textField, "Enter text...").Layout), layout.Rigid(material.Button(th, &button, "Click Me").Layout), layout.Rigid(material.List(th, &list).Layout(gtx, len(items), func(gtx layout.Context, index int) layout.Dimensions { return material.Button(th, new(widget.Clickable), items[index]).Layout(gtx) })), ) }) if button.Clicked() { println("Button clicked with text:", textField.Text()) } e.Frame(gtx.Ops) case system.DestroyEvent: return } } }() app.Main() }
Jalankan Apl Anda: Jalankan apl anda sekali lagi dengan go run main.go dan lihat ciri baharu dalam tindakan.
Langkah 5: Membina Apl Mac Kendiri
Setelah apl anda sedia, anda perlu membinanya sebagai aplikasi kendiri. Ikuti langkah ini:
Bina Apl Anda: Gunakan gogio untuk membina apl anda untuk macOS.
gogio -target darwin .
Arahan ini akan menjana .app bundle yang boleh anda jalankan terus pada macOS.
Uji Apl Anda: Buka .app bundle yang dijana untuk menguji aplikasi anda. Pastikan semua ciri berfungsi seperti yang diharapkan.
Langkah 6: Pembungkusan dan Pengedaran
Untuk mengedarkan apl anda, anda mungkin mahu menandatangani dan mengesahkannya untuk macOS.
Tandatangan Apl Anda: Tandatangan kod diperlukan untuk mengedarkan apl anda di luar Mac App Store. Gunakan alat tanda kod untuk menandatangani apl anda.
reka bentuk bersama --deep --force --verify --verbose --tanda "Aplikasi ID Pembangun: Nama Anda" HelloWorldMacApp.app
Notari Apl Anda: Untuk memastikan macOS membenarkan apl anda berjalan tanpa amaran, notarikannya menggunakan xcrun altool.
xcrun altool --notarize-app --primary-bundle-id "com.yourname.helloworldmacapp" --username "yourappleid@example.com" --password "app-specific-password" --file HelloWorldMacApp.zip
Edarkan Apl Anda: Setelah disahkan, anda boleh mengedarkan apl anda melalui tapak web, e-mel atau cara lain.
Kesimpulan
Tahniah! Anda telah berjaya mencipta apl Mac pertama anda menggunakan Go. Panduan ini merangkumi asas menyediakan persekitaran pembangunan anda, membina aplikasi mudah, menambah ciri dan mengedarkan aplikasi anda. Dengan kesederhanaan dan prestasi Go, anda serba lengkap untuk membangunkan apl Mac yang berkuasa dan cekap. Teruskan menerokai Gio dan Go untuk meningkatkan kemahiran anda dan mencipta aplikasi yang lebih kompleks.
Rujukan
Pergi Bahasa Pengaturcaraan
Kit Alat Gio untuk Go
Alat Baris Perintah Xcode
Dokumentasi Pembangun Apple
Catatan blog ini menyediakan panduan komprehensif untuk membina apl Mac pertama anda menggunakan Go, dengan banyak contoh kod untuk membantu anda memahami setiap langkah. Dengan mengikuti panduan ini, anda boleh mula dengan pantas dengan pembangunan apl Mac dan menerokai keupayaan hebat Go dan Gio.
Atas ialah kandungan terperinci Cara Membuat Apl Mac Pertama Anda Menggunakan Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!