Vala on avoin lähdekoodi, ilmainen ja nykyaikainen ohjelmointikieli ja ohjelmistoprojekti, joka on suunniteltu offsetista uusien ohjelmointitoimintojen tuomiseksi GNOME-kehittäjille. Se on kääntäjä GObject-tyyppiselle järjestelmälle, jonka ansiosta GNOME-kehittäjät voivat luoda hämmästyttäviä sovelluksia.
Ominaisuudet yhdellä silmäyksellä
Tärkeimpiä ominaisuuksia ovat rajapinnat, ominaisuudet, signaalit, foreach, lambda-ilmentymät, paikallisten muuttujien tyypin päätelmät, geneeriset, ei-nollatyypit, tuki muistinhallinnasta, poikkeusten käsittely sekä tyypin moduulit a.k.a. plugins.
Työnnä helposti monimutkaista objektiivista koodia
Vala-kääntäjän avulla voit kehittäjänä kirjoittaa vaivattomasti monimutkaista objektiohutettua koodia säilyttäen muistivaatimukset alhaisina ja säilyttämään standardin C ABI: n ja API: n.
Mahdollistaa pääsyn olemassa oleviin C-kirjastoihin
Projekti on suunniteltu siten, että se sallii pääsyn olemassa oleviin C-kirjastoihin, erityisesti GObject-pohjaisiin kirjastoihin, ilman runtime-sidoksia.
Se on täydellinen GTK +: lle ja GNOME: lle
Vala on komentorivi-kääntäjä ja ohjelmointikielet. Kehittäjät, jotka työskentelevät GTK +: n ja GNOME: n kanssa, voivat käyttää Valaa kirjoittamaan koodin ja kääntämään sen.
Se vaikuttaa C ++, C, C #, Python, D ja Java
Vala-ohjelmointikieltä ovat vaikuttaneet hyvin tunnetut ja laajalti käytetyt C-, C ++-, D-, Python-, C #- ja Java-ohjelmointikielet. Se on monipuolinen ohjelmisto, joka voidaan helposti siirtää muille käyttöjärjestelmille.
Se tukee lukuisia IDE-ohjelmia
Toinen mielenkiintoinen ominaisuus on yhteensopivuus erilaisten IDE (Integrated Development Environment) -ohjelmien kanssa, mukaan lukien Anjuta, Valencia, Geany, Emacs, MonoDevelop, NetBeans, Val (a) IDE, Sublime Text, Vim, RedCar, TextMate ja Valama.
Saatavuus ja tuetut arkkitehtuurit
Vala on jaettu vain lähdetiedostoksi. Tämä tarkoittaa, että käyttäjän on konfiguroitava ja koottava koodi ennen asennusta. Tietenkin se voidaan helposti asentaa mihin tahansa GNU / Linux-jakeluun oletusohjelmistojen arkistoista. Tällä hetkellä tuetaan sekä 32-bittisiä että 64-bittisiä arkkitehtuureja.
Uutta strong> tässä julkaisussa:
- Eri virheiden korjaukset:
- codegen: Soita ref_sink kohteille, jotka on siirretty yleiseen tyyppiin [# 655]
- codegen: Vapaa virhe palauttaa ne GDBusMethodInvocation [# 657]
- girparser: Todennäköisesti ratkaista tyyppikysymyksiä, jotta ne voidaan tarvittaessa ruutuun
- vala: Lisää vektorit / menetelmät hakemistoon ja tarkista kirjastoversio [# 304]
- Siteet:
- glib-2.0: Lisää Array.remove * () -kääre, jotta vältetään yleisten elementtien vuotaminen
- glib-2.0: Lisää (u) long.parse / try_parse () [# 649]
- gstreamer: Päivitä 1.15+ git masterista li>
- gtk + -3.0: Päivitä 3.23.2 + 6b6e53fd
- gtk + -4.0: Päivitä 3.94.0 + 4e868584
Uutta strong> versiossa 0.40.7:
- Erilaisia parannuksia ja virheenkorjauksia:
- Päivitä bugtracker-linkit osoitteeseen https://gitlab.gnome.org/GNOME/vala/issues
- Codegen:
- Kenttien delegate_target-attribuutin käsitteleminen [# 520]
- Ilmaiset yleiselementit glib-kokoelmista [# 694765]
- Korjaa varoitus g_source_new () -asetukselle source_funcs-parametrille
- Voi todella käsitellä GLib.Sourcea kompakti luokassa
- GLib.Source-muokattuja abstrakteja menetelmiä käsitellään eri tavalla [# 641]
- Käytä jatkuvasti gpointeriä valtuutettujen tavoitteiden kanssa
- Yhdistä valtuutetun tyyppiset tarkistusmallit
- Käytä oletusnimiä base_init sijaan, kun rekisteröidyt käyttöliittymät [# 699550]
- girparser: Lisää tuki bool delegate_targetille [# 520]
- girwriter:
- Lähtö vanhentunut = & quot; 1 & quot;
- Vain rakentavien ominaisuuksien ei tarvitse määrittää määritysmenetelmää
- Älä kirjoita mitään muokattuja määritteitä [# 608]
- valadoc: Korjaa TreeBuilder.create_array () pinattujen mallien kohdalle
- Siteet:
- liukas-2.0:
- Älä merkitse yksinkertaisia parametrejä tyhjästä [# 634]
- Tee Source.attach () käytä oletuksena MainContext oletuksena
- Tee Bytes.slice () käyttää muistitehokasta Bytes.from_bytes () [# 638]
- Korjaa Bytes.with_free_func ()
- gio-2.0:
- Merkitse ActionEntry.parameter_type / state kentät nollaksi [# 632]
- DBus * VTable -toimitiedostoilla ei ole implisiittisiä kohdekenttiä
- Käytä delegate_target = false ActionEntry-soittopyyntöjä ja heikosta [# 630]
- Lisää oletus kaikille io_priority-parametreille
- gstreamer: Cherry-poimia korjauksia 0.42: sta, lisää gst-editing-services-1.0
- gtk + -3.0: Päivitä 3.22.30 + 9ac7f906
- gtk + -4.0: Päivitä 3.93.0 + 29fee2e8
- webkit2gtk-4.0: Päivitä 2.21.4
- Päivitä GIR-pohjaiset sidokset
Uutta strong> versiona:
- Eri virheiden korjaukset:
- Kiinnitä ketjutettu regressio todellisilla ei-nollarametreilla [# 791785]
- Vapauta viittaukset CodeContextiin sen jälkeen, kun se on [# 712694] ja säilytä omia kutsumuksia parse_file (): sta [# 791936]
- Parser: Hyväksy pilkulla eroteltu luettelo vaihtoehdoista [# 614015]
- Siteet:
- Poista sidokset, jotka toimitetaan ylävirtaan jo vuosia
- gedit 3 [# 776021], libgnome-avaimenperä [# 776022],
- gtksourceview-3.0 [# 776023], libgdata [# 776024], librsvg-2.0 [# 776025]
- glib-2.0: Lisää GLib.OPTION_REMAINING ja GLib.OptionFlags.NONE
- gstreamer-1.0: päivitys 1.13+ git masterista li>
- gtk + -2.0: Merkitse MessageDialog-konstruktoriparametri, message_format, tyhjäksi [# 791570]
- gtk + -4.0: päivitys 3.93.0 + 6aeae2c8
- webkit2gtk-4.0: Päivitä 2.19.3
Uutta strong> versiossa 0.39.1:
- kohokohdat
- Ilmoita varoitus, jos ominaisuustyyppi ei ole yhteensopiva GLib.Object [# 693932] kanssa
- Salli siirtää yhteensopivat edustajat signaaliin.connect () [# 787521]
- Anna sallittujen arvojen arvot mahdollisuuksien mukaan
- Vältä temp-var: n käyttöä joillekin arvoille, jotka palauttavat ValueType: n ja pääsevät / ref parametreihin [# 789071]
- Uudistetaan luotuja lähdeluetteloita ja määritelmiä parempaa luettavuutta varten [# 688447]
- Eri virheiden korjaukset:
- Käytä array_length_cexpr tukevien rivien tuottamiseen palautusarvoja varten [# 784691]
- Parantaa argumentteja vala interpeter-tilassa [# 663070]
- Nimen pituuden vahvistaminen & gt; = 3 työkaluille GType [# 764041]
- Ilmoita virheestä puuttuvasta tyypin parametrista sulkemistyypissä [# 587905]
- Lisää boolean "use_inplace" ccode-attribuutti menetelmiin [# 750840]
- Vähättelemättömien / omistettujen avainsanojen esiintymien käsittely
- Menetelmien täytyy heittää yhteensopiva virhe, jos kohdeedustaja heittää yhden
- Löydä kelpaamattoman jäsenen pääsy esimerkkikenttään [# 790903]
- Paranna epäkohtaisten pakottavien menetelmien virheilmoitusta li>
- Valadoc
- Kuvaa mahdolliset ominaisuudet rakennuksissa [# 784705]
- Korjaa kuolemaan johtava typo GtkdocRenderer.visit_symbol_link () [# 790266]
- Siteet:
- glib-2.0: Käytä tyypin id / marshaller -tyyppistä (u) int16 / (u) lyhyttä (u) int32: sta [# 693932]
- glib-2.0: Lisää valinnainen "unparsed" -parametri kohteeseen * .try_parse () [# 774124]
- gobject-2.0: Lisää puuttuvat symbolit
- gstreamer-1.0: Sidonta GST_TIME_ARGS, GST_STIME_ARGS makrot [# 750840]
- gstreamer-1.0: Sidonta GST_DEBUG_BIN_TO_DOT_FILE / * _ WITH_TS [# 785215]
- gstreamer-1.0: päivitys 1.13+ git masterista li>
- gtk + -3.0: Päivitä 3.22.26 + 9ce824d3
- gtk + -4.0: Jaa Gsk.RenderNode useisiin luokkiin
- gtk + -4.0: Päivitä 3.93.0 + 2d797dd8
- webkit2gtk-4.0: Päivitä 2.19.2
Uutta strong> versiossa 0.38.3:
- Eri virheiden korjaukset:
- codegen: Priorisoida "array_length = true" yli "array_null_terminated = true" [# 788775]
- codegen: Vältä mahdollisia ristiriitoja sisäisen omaisuuden / signaalin kanssa määritellään [# 788964]
- Siteet:
- gio-2.0: Näytä g_task_get_source_object Task.get_unowned_source_object
- gstreamer-1.0: päivitys 1.13+ git masterista li>
- gtk + -4.0: Päivitä 3.92.1
- libxml-2.0: Lisää DTD-menetelmät [# 789442]
Uutta strong> versiossa 0.38.2:
- Useita sidontapäivityksiä:
- gstreamer-1.0, gtk + -3.0, gtk + -4.0: päivitys git masterista li>
- gnutls: vahvista sertifikaatin ccode-attribuutti free_function [# 788181]
Uutta strong> versiossa 0.38.1:
- Eri virheiden korjaukset:
- valadoc: Älä käytä 'stderr' muuttujana [# 787305]
- codegen: Yritä käyttää yksilöllistä sisäistä määritelmää ominaisuuksille [# 787436]
- vala: Päivitä käytetyt attribuutit
- -menetelmä: käytä prototyyppi-merkkijonoa paluu-tyyppisten yhteensopimattomien virheilmoitusten kanssa
- Siteet:
- glib-2.0: Fix MainContext.check (), OptionEntry [] parametrit ovat nollaterminaaleja, Bind g_convert_with_fallback () ja g_convert_with_iconv ()
Uutta strong> versiossa 0.37.1:
- Tapahtumat:
- Älä varoitta vanhentuneista symboleista, jos asennettu versio on vanhempi
- Lisää --gresourcesdir vaihtoehto [# 783133]
- Eri virheiden korjaukset:
- gdbus: Älä vuotaa sisäkkäistä HashTableä deserialisoimalla [# 782719]
- Korjaa lopuksi lohkot, joissa on async-tuotto [# 741929]
- Käsittele ei-nollia yhteenlaskettuun lausekkeeseen [# 611223]
- Tee task_complete-lippu & lt; 2,44 samanlainen kuin & gt; = 2,44 [# 783543]
- Nullable ValueType vaatii POINTERin välittäjänä allekirjoitus [# 783897]
- NoAccessorMethod-attribuutti sallitaan vain gobject-ominaisuuksille
- girparser: Delegat-aliaksen määrittäminen ilman kohdetta li>
- kääntäjä: Käytä API_VERSION sijaan poistamalla PACKAGE_SUFFIX
- girwriter: Kirjoita taulukon pituusparametreja, joissa on rank & gt; 1 [# 758019]
- Siteet:
- gio-2.0: Käytä DataInputStream.read_line_utf8 * [# 783351] oletusarvoa 'pituus = null'
- gobject-2.0: Lisää GLib.ParamSpecPointer
- poppler-glib: Päivitä 0.54.0
- gstreamer-1.0: Erilaiset sitoutumiskorjaukset
Uutta strong> versiossa 0.36.3:
- Eri virheiden korjaukset:
- skanneri: korjata kolonnin arvo laskentataulukon jälkeen [# 652899]
- codegen: Unref GLib.AsyncResult on virheettömät virheet coroutines [# 641171]
- Muokkaa rakenneorganisaattoreiden [# 782056] alustuksen tulos-muuttujaa
Uutta strong> versiossa 0.36.1:
- Eri virheiden korjaukset:
- Aina harkita itsestään yhteensopivaa menetelmää [# 773135]
- Suorita argumentit - tarkista todellinen .end () -menetelmä-allekirjoitus [# 684208]
- Parantavat hieman lamdba-ilmaisusirua kohdetyyppisessä yhteensopimattomuudessa
- Räätälöidä edustajan alustusohjelma esimerkiksi kenttiin [# 683925]
- Älä vuotaa kohdehakemista, kun omistajasi valitsee / luovuttaa [# 780426]
- GIR-jäsennin ja kirjoittaja:
- girparser: Lisää tuhota argumentti metatietoihin [# 750838]
- vapigen: Lisää --nostdpkg vaihtoehto kuten valac
- Siteet:
- gstreamer-1.0: Fix Pad.set _ * _ funktio () siteet [# 750838]
- glib-2.0: Lisää puuttuva versio makro ja vakioita, unichar.to_string ei palauta null
- gtk + -2.0, gtk + -3.0: Merkitse Widget.intersect (): n "leikkauskohta" parametri ulos
- gtk + -4.0: Päivitä 3.90.0
Kommentteja ei löytynyt