我是Vala的新手。我不熟悉GObject。據我瞭解,GObject脫離了GNOME的GLib項目。如我錯了請糾正我。Vala可以在沒有GObject的情況下使用嗎?
我喜歡瓦拉的語法和實施非常多,但它不是我的意圖寫的GNOME桌面應用程序。
我也知道(我想我知道)Vala除了GObject本身沒有標準庫。
所以我的問題是:Vala可以在沒有GObject的情況下使用,如果可以的話,它是否可用(是否有最佳和維護的基本庫,用於類型轉換,數學,字符串操作,緩衝區等常見事情...可用)?
我是Vala的新手。我不熟悉GObject。據我瞭解,GObject脫離了GNOME的GLib項目。如我錯了請糾正我。Vala可以在沒有GObject的情況下使用嗎?
我喜歡瓦拉的語法和實施非常多,但它不是我的意圖寫的GNOME桌面應用程序。
我也知道(我想我知道)Vala除了GObject本身沒有標準庫。
所以我的問題是:Vala可以在沒有GObject的情況下使用,如果可以的話,它是否可用(是否有最佳和維護的基本庫,用於類型轉換,數學,字符串操作,緩衝區等常見事情...可用)?
這是另一個配置文件,您可以使用Aroop。 (注意它仍處於重大的發展階段)。我希望如果你需要高性能,這是好事。請檢查features here。
TLDR:我建議使用瓦拉用的GLib/GObject的,因爲它被設計在它們上面。
雖然可以存在用於華劣克替代型材它們或者是未完成或棄用。
瓦拉整點是減少樣板的寫GLib的和GTK +應用中C.所需的量
它也增加了對C一些很好的其它改進,如串和陣列是簡單的數據類型,而不是容易出錯的指針。
它主要包裝中存在的所有的GObject的概念,如:
所有這些概念可以在不使用的GObject/GLib的/吉奧實現,但是這將意味着從根本上改寫的GObject/GLib庫/吉奧,這沒有多大意義。
如果你不想寫GUI應用程序的GLib可以用來編寫控制檯應用程序以及使用GIO或GTK +是瓦拉可選,應用無頭服務器上正常工作。
我認爲,即使是在Qt的一些努力,最終切換到GLib的主循環,這將使Qt和GLib中的互操作性更容易。
使用GLib的一個框架的一個很好的例子是其中的GStreamer跨不同桌面環境使用。
總結:
GTK +最初來自GIMP,後來被分成了今天GNOME基礎的不同「G」庫。
Vala還具有非常強大的綁定機制,可以輕鬆爲任何類型的C庫編寫所謂的「VAPI」文件。
使用正確的VAPI綁定,您不必擔心手動內存管理,指針,字符串和數組的零終止以及其他一些繁瑣的操作,這些操作使編寫正確的C代碼變得非常困難。
GObject框架未綁定到gnome桌面環境。您幾乎可以在任何形式的Linux上甚至在Windows上使用GObject庫。 – Mindbane 2012-03-13 20:07:20