Vala , GNOME geliştiricilerine yeni programlama özellikleri getirmek için ofset'ten tasarlanmış açık kaynaklı, özgür ve modern bir programlama dili ve yazılım projesidir. GObject tipi sistem için derleyici, GNOME geliştiricilerinin şaşırtıcı uygulamalar yaratmasına izin veriyor.
Bir bakışta özellikler
Temel özellikler arasında arayüzler, özellikler, sinyaller, foreach, lambda ifadeleri, yerel değişkenler için tür çıkarımı, jenerikler, null olmayan türler, destekli bellek yönetimi, istisna işleme ve a.k.a.yaçları tür modülleri bulunur.
Karmaşık nesne yönelimli kodu zahmetsizce yazın
Vala derleyicisi ile bir geliştirici olarak, bellek gereksinimlerini düşük tutarken karmaşık nesne yönelimli kodlar yazabilir ve standart bir AB AB ve API'sini koruyabilirsiniz.
Mevcut C kütüphanelerine erişime izin verir
Proje, çalışma zamanı bağlamaları gerekmeden mevcut C kütüphanelerine, özellikle GObject tabanlı kitaplıklara erişim sağlayacak şekilde tasarlanmıştır.
GTK + ve GNOME için mükemmel
Vala bir komut satırı derleyici ve programlama dilleridir. GTK + ve GNOME ile çalışan geliştiriciler, kodu yazmak ve derlemek için Vala'yı kullanabilecekler.
C ++, C, C #, Python, D ve Java’dan etkilenmiştir.
Vala programlama dili, iyi bilinen ve yaygın olarak kullanılan C, C ++, D, Python, C # ve Java programlama dillerinden etkilenmiştir. Diğer işletim sistemlerinde kolayca taşınabilen bir çapraz platform yazılımıdır.
Çok çeşitli IDE programları tarafından desteklenmektedir
Bir başka ilginç özellik, Anjuta, Valencia, Geany, Emacs, MonoDevelop, NetBeans, Val (a) IDE, Sublime Text, Vim, Gedit, Euclide için Vala Oyuncakları dahil olmak üzere çeşitli IDE (Integrated Development Environment) programları ile uyumluluktur. RedCar, TextMate ve Valama.
Kullanılabilirlik ve desteklenen mimariler
Vala sadece bir kaynak arşivi olarak dağıtılır. Bu, kullanıcının kurulumdan önce kodu yapılandırması ve derlemesi gerektiği anlamına gelir. Elbette, varsayılan yazılım depolarından herhangi bir GNU / Linux dağıtımına da kolayca kurulabilir. Şu anda hem 32 bit hem de 64 bit mimariler desteklenmektedir.
Bu sürümde yeni olan :
- Çeşitli hata düzeltmeleri:
- codegen: Genel türüne geçirilen nesnelerde ref_sink çağrısı [# 655]
- codegen: GDBusMethodInvocation [# 657] 'de onları döndürdükten sonra ücretsiz hatalar
- girparser: Gerekirse bunları kutulayabilmek için tip-argümanlarını çözme
- vala: Kütüphane sürümünü almak ve kontrol etmek için kullanılacakları / yöntemleri ekle [# 304]
- Veri Bağlantıları:
- glib-2.0: Genel öğeleri sızdırmamak için Array.remove * () sarmalayıcı ekle
- glib-2.0: (u) long.parse / try_parse () [# 649] ekle
- gstreamer: 1.15+ git master'dan güncelleme
- gtk + -3.0: 3.23.2 + 6b6e53fd'ye Güncelleme
- gtk + -4.0: 3.94.0 + 4e868584 sürümüne güncelle
Yeni olan nedir? , 0.40.7 sürümünde:
- Çeşitli iyileştirmeler ve hata düzeltmeleri:
- Bugtracker bağlantılarını https://gitlab.gnome.org/GNOME/vala/issues ile güncelleyin
- codegen:
- Alanların delegate_target özelliğini kullan [# 520]
- Glib koleksiyonlarının ücretsiz genel öğeleri [# 694765]
- source_funcs g_source_new () parametresi için uyarı düzeltmesi
- GLib.Source'u kompakt sınıf olarak kabul edin
- GLib.Source'un özel soyut yöntemleri farklı şekilde işlenir [# 641]
- Temsili hedefler için sürekli olarak gpointer kullan
- Bazı delege tipi kontrol desenlerini birleştirin
- Arabirimleri kaydederken base_init yerine default_init kullan [# 699550]
- girparser: bool delegate_target [# 520] için destek ekle
- girwriter:
- Çıktı reddedildi = & quot; 1 & quot;
- yalnızca oluşturma özellikleri ayarlayıcı bir yönteme sahip değil
- Herhangi bir özel özellik yazmayın [# 608]
- valadoc: Yığın Diziler için TreeBuilder.create_array () öğesini onar
- Veri Bağlantıları:
- glib-2.0:
- Basit tip çıkış parametrelerini null olarak işaretlemeyin [# 634]
- Source.attach () 'ı varsayılan MainContext'i varsayılan olarak kullan
- Bytes.slice () işlevini, bellek etkin Bytes.from_bytes () [# 638] kullanın.
- Bytes.with_free_func () dosyasını onarın
- Gio-2.0:
- ActionEntry.parameter_type / state alanlarını null olarak işaretleyin [# 632]
- DBus * VTable alanlarının delege alanı örtülü hedef alanlara sahip değil
- Delegate_target = false öğesini ActionEntry geri çağrılarına uygula ve zayıf yap [# 630]
- Tüm io_öncelilik parametrelerine varsayılan ekle
- gstreamer: Kiraz - 0.42'den bazı düzeltmeleri al, gst-edit-services-1.0'ı ekle
- gtk + -3.0: 3.22.30 + 9ac7f906'ya güncelleyin
- gtk + -4.0: 3.93.0 + 29fee2e8’ye Güncelleme
- webkit2gtk-4.0: 2.21.4’e Güncelle
- GIR tabanlı bağlamaları güncelle
Sürümde yeni: :
- Çeşitli hata düzeltmeleri:
- Zincirleme gerilemesini gerçek sıfır olmayan yapılandırma parametreleriyle düzelt [# 791785]
- Bunu kullandıktan sonra CodeContext'e yapılan atıfları serbest bırakın [# 712694] ve parse_file () özel davetlerini mümkün tutun [# 791936]
- ayrıştırıcı: Anahtarların durum ifadelerinde virgülle ayrılmış listeyi kabul et [# 614015]
- Veri Bağlantıları:
- Bir kaç yıl akışa kadar taşınan bağlantıları kaldırın
- gedit 3 [# 776021], libgnome anahtarlık [# 776022],
- gtksourceview-3.0 [# 776023], libgdata [# 776024], librsvg-2.0 [# 776025]
- glib-2.0: GLib.OPTION_REMAINING ve GLib.OptionFlags.NONE ekleyin
- gstreamer-1.0: 1.13+ git master'dan güncelleme
- gtk + -2.0: MessageDialog yapıcı parametresini işaretle, message_format, nullable olarak [# 791570]
- gtk + -4.0: 3.93.0 + 6aeae2c8’ye Güncelleme
- webkit2gtk-4.0: 2.19.3’e Güncelleme
0.39.1 sürümündeki yeni :
- Önemli
- Özellik türü GLib.Object ile uyumlu değilse bildirme uyarısı [# 693932]
- Uyumlu delegeleri signal.connect () [# 787521] 'e aktarmaya izin ver
- Mümkünse kodlanmamış enum değerlerine izin ver
- ValueType döndüren ve / ref parametrelerine erişmek için bazı geçici kodlar için temp-var kullanmaktan kaçının [# 789071]
- Reformat tarafından daha iyi okunabilirlik için kaynak bildirimleri ve tanımları oluşturuldu [# 688447]
- Çeşitli hata düzeltmeleri:
- Dönüş değerleri için sabit dizileri desteklemek üzere array_length_cexpr komutunu kullanın [# 784691]
- Vala interpery-mode için argümanları doğru şekilde ayrıştır [# 663070]
- GType kullanan yapılarda isim uzunluğu & gt; = 3'ü zorunlu kılın [# 764041]
- Kapatma türünde eksik tip parametresi için hata bildir [# 587905]
- Yöntemler için boolean "use_inplace" kod özniteliği ekle [# 750840]
- Sahipsiz / sahip olunan anahtar kelime oluşumlarının ele alınmasını iyileştirme
- Hedef temsilci bir tane atarsa yöntemlerin uyumlu hata oluşturması gerekir
- Örnek alanına geçersiz üye erişimini keşfedin [# 790903]
- Eşleşmeyen geçersiz kılma yöntemlerinin hata çıktısını iyileştirme
- Valadoc
- Yapılarda olası özellikleri kabul et [# 784705]
- Önemli yazım hatalarını GtkdocRenderer.visit_symbol_link () [# 790266] 'da düzeltin
- Veri Bağlantıları:
- glib-2.0: (u) int32 [# 693932] 'den kısa (u) int16 / (u) için type-id / marshaller türünü kullan
- glib-2.0: İsteğe bağlı 'düzenlenmemiş' parametresini * .try_parse () [# 774124] 'e ekleyin
- gobject-2.0: Bazı eksik sembolleri ekle
- gstreamer-1.0: GST_TIME_ARGS, GST_STIME_ARGS makrodan [# 750840] ciltleme yap
- gstreamer-1.0: Bind GST_DEBUG_BIN_TO_DOT_FILE / * _ WITH_TS [# 785215]
- gstreamer-1.0: 1.13+ git master'dan güncelleme
- gtk + -3.0: 3.22.26 + 9ce824d3'e güncelleyin
- gtk + -4.0: Gsk.RenderNode'u birkaç sınıfa ayırma
- gtk + -4.0: 3.93.0 + 2d797dd8’ye Güncelle
- webkit2gtk-4.0: 2.19.2’ye Güncelleme
0.38.3 sürümündeki yeni :
- Çeşitli hata düzeltmeleri:
- codegen: "array_null_terminated = true" üzerinden "array_length = true" öğesini önceliklendirin [# 788775]
- codegen: Dahili özellik / sinyal tanımları ile olası uyuşmazlıklardan kaçının [# 788964]
- Veri Bağlantıları:
- gio-2.0: g_task_get_source_object öğesini Task.get_unowned_source_object olarak aç
- gstreamer-1.0: 1.13+ git master'dan güncelleme
- gtk + -4.0: 3.92.1 sürümüne güncelle
- libxml-2.0: DTD yöntemleri ekle [# 789442]
0.38.2 sürümündeki yeni :
- Çeşitli bağlama güncellemeleri:
- gstreamer-1.0, gtk + -3.0, gtk + -4.0: Git ana sayfasından güncelleme
- gnutls: Sertifikanın free_function c kod özniteliğini düzelt [# 788181]
0.38.1 sürümündeki yeni :
- Çeşitli hata düzeltmeleri:
- valadoc: 'stderr' değişken adı olarak kullanmayın [# 787305]
- codegen: Özellikler için daha özgün bir dahili tanım kullanmaya çalışın [# 787436]
- vala: Kullanılan özniteliklerin listesini güncelle
- yöntem: İade türü uyumsuzluklarının hata raporları için prototip dizesini kullan
- Veri Bağlantıları:
- glib-2.0: Düzeltme MainContext.check (), OptionEntry [] paramları null sonlandırıldı, Bind g_convert_with_fallback () ve g_convert_with_iconv ()
0.37.1 sürümündeki yeni :
- Önemli:
- Eğer install_version eskiyse kullanımdan kaldırılmış semboller hakkında uyarı verme
- --gresourcesdir seçeneği ekle [# 783133]
- Çeşitli hata düzeltmeleri:
- gdbus: Serileştirme konusunda iç içe geçmiş HashTable sızıntısı yok [# 782719]
- Sonunda duraksız eşzamanlı blokları düzelt [# 741929]
- Birleştirmedeki ifade dışı null tanıtıcı [# 611223]
- & lt; 2.44 => 2.44 [# 783543] ile benzer:
- NULL Mümkün ValueType, marshaller imzası olarak POINTER gerektirir [# 783897]
- Yalnızca gobject özelliklerine ilişkin NoAccessorMethod özniteliğine izin verilir
- girparser: Hedef olmayan delege takma adının ayrıştırılması
- derleyici: PACKAGE_SUFFIX sıyırma yerine API_VERSION kullanın
- girwriter: rank & gt; 1 [# 758019]
- Veri Bağlantıları:
- gio-2.0: DataInputStream.read_line_utf8 için varsayılan 'length = null' değerini kullanın * [# 783351]
- gobject-2.0: GLib.ParamSpecPointer ekleyin
- poppler-glib: 0,54,0'a güncelle
- gstreamer-1.0: Çeşitli bağlama düzeltmeleri
0.36.3 sürümündeki yeni :
- Çeşitli hata düzeltmeleri:
- tarayıcı: Çok satırlı yorumdan sonra tokenler için sütun değerinin hesaplanmasını düzeltme [# 652899]
- codegen: Unref GLib.AsyncProtrolarda yakalanmayan hatalarla ilgili sonuçlar [# 641171]
- Yapı yapıcıları için sonuç değişkenini başlatmaya devam et [# 782056]
Yeni olan nedir , 0.36.1 sürümünde:
- Çeşitli hata düzeltmeleri:
- Her zaman kendisiyle uyumlu bir yöntem düşünün [# 773135]
- Bağımsız değişkenler gerçekleştirme - gerçek .end () yöntem imzaya karşı kontrol etme [# 684208]
- Hedef türü uyuşmazlığında lamdba ifadesi hatasını biraz geliştirin
- Temsilci başlatıcısını örnek alanlar için düzeltme [# 683925]
- Sahip olunan delegeleri yayınlarken / atarken hedef referansı sızdırmayın [# 780426]
- GIR ayrıştırıcısı ve yazarı:
- girparser: Meta veri için yok etme argümanı ekle [# 750838]
- vapigen: Valac gibi --nostdpkg seçeneği ekle
- Veri Bağlantıları:
- gstreamer-1.0: Düzeltme Pad.set _ * _ function () ciltlemeler [# 750838]
- glib-2.0: Eksik sürüm makrosu ve sabitlerini ekleyin, unichar.to_string null döndürmez
- gtk + -2.0, gtk + -3.0: Widget.intersect () öğesinin "kesişme" paramını işaretleyin
- gtk + -4.0: 3.90.0’a Güncelle
Yorum Bulunamadı