Pertanyaan Binding Cocoa untuk bahasa Go


Apakah mungkin untuk menulis aplikasi Mac OS X / Cocoa di Google Go?

Apakah ada jembatan Go-Obj-C? (menurut saya dinamisasi Obj-C akan sangat cocok untuk antarmuka Golang)

Dapatkah saya setidaknya menghubungkan keduanya bersama dan membuat mereka berbicara satu sama lain melalui fungsi C biasa?


32
2018-06-12 13:25


asal


Jawaban:


Anda dapat melihat posting blog saya sebagai contoh. Saya khawatir saya tidak terus mengerjakannya, tetapi ini dia kode sumber yang dapat membantu Anda mengatur proyek Cocoa / ObjC / Go yang kosong.

Anda akan dapat melakukan sesuatu seperti ini, seperti yang disebutkan dalam README.

package main

import (
  "github.com/alediaferia/gogoa"
)

func main() {
    app := gogoa.SharedApplication()
    window := gogoa.NewWindow(0, 0, 200, 200)
    window.SetTitle("Gogoga!")
    window.MakeKeyAndOrderFront()

    app.Run()
}

1
2018-03-02 14:38



CGo adalah apa yang memungkinkan Anda untuk memanggil kode C.

Lihat Dokumen CGo dan informatif, posting blog resmi di atasnya.

Sepertinya tidak ada cocoa bindings / libraries, tetapi Anda mungkin ingin memeriksa Paket GTK sebagai referensi.


11
2018-06-12 13:58



Saat ini sepertinya tidak ada paket untuk mengikat Cocoa to Go. Kakao ditulis dalam Objective-C yang merupakan superset dari C. Objective-C pesan adalah (atau setidaknya digunakan untuk, tidak yakin tentang kompiler modern) diterjemahkan ke fungsi panggilan C oleh kompiler, untuk sesuatu seperti ini:

objc_msgSend(object, sel_getUid("foo:bar:err:"), var, var2, errVar);

Jadi pasti mungkin menggunakan Cocoa dari Go.

Jika Anda mengalami masalah di mana Anda menemukan Anda ingin menggunakan Cocoa di aplikasi Go, IMHO mundur selangkah dan berpikir tentang masalah yang Anda coba pecahkan. Kakao menggunakan banyak parameter bernama dan metode dapat memiliki tanda tangan yang cukup panjang. Ini bekerja dengan baik di Objective-C tapi saya ragu kode akan terlihat bagus di Go. Di sisi lain, Go memecahkan masalah lain. Mungkin menulis pustaka (logika aplikasi) di kode Go dan GUI di Objective-C / Cocoa akan melakukan trik?

TL; DR: Bagaimana dengan penulisan model di kode Go dan GUI di Objective-C?


9
2018-04-15 09:24