Vala е отворен код, свободен и съвременен език за програмиране и софтуер, проектиран от офсетовия софтуер, за да донесе нови програми за разработчиците на GNOME. Това е компилатор за системата тип GObject, което позволява на разработчиците на GNOME да създават удивителни приложения.
Характеристики с един поглед
Основните характеристики включват интерфейси, свойства, сигнали, foreach, ламбда, изрази за типа за локални променливи, генерични, ненужни типове, управление на асистирана памет, обработка на изключения, както и модули тип a.k.a.
Без усилие пишете комплексен обектно ориентиран код
С компилатора Вала Вие, като разработчик, ще можете без усилие да пишете комплексен обектно-ориентиран код, като същевременно запазите изискванията за паметта ниски и поддържате стандартен C ABI и API.
Позволява достъп до съществуващи библиотеки C
Проектът е разработен по такъв начин, че да позволява достъп до съществуващи библиотеки C, особено библиотеки, базирани на GObject, без да е необходимо свързване по време на изпълнение.
Той е идеален за GTK + и GNOME
Vala е компилатор на команден ред и езици за програмиране. Разработчиците, които работят с GTK + и GNOME, ще могат да използват Vala, за да напишат кода и да го компилират.
Той е повлиян от C ++, C, C #, Python, D и Java
Програмният език на Вала е повлиян от добре познатите и широко използваните езици за програмиране C, C ++, D, Python, C # и Java. Това е междуплатформен софтуер, който може лесно да бъде пренесен на други операционни системи.
Поддържа се от широка гама програми IDE
Друга интересна особеност е съвместимостта с различни програми IDE, включително Anjuta, Valencia, Geany, Emacs, MonoDevelop, NetBeans, Val (IDE), Sublime Text, Vim, Vala Toys за Gedit, RedCar, TextMate и Valama.
Наличност и поддържани архитектури
Вала се разпространява само като източник на архив. Това означава, че потребителят трябва да конфигурира и компилира кода преди инсталирането. Разбира се, той може лесно да бъде инсталиран на всяка дистрибуция на GNU / Linux от софтуерните хранилища по подразбиране. И в двата случая се поддържат 32-битови и 64-битови архитектури.
Какво ново в това издание:
- Различни корекции на програмни грешки:
- codegen: Обадете се ref_sink на обекти, преминали на общ тип [# 655]
- codegen: Безплатни грешки след връщането им на GDBusMethodInvocation [# 657]
- girparser: Всъщност решете аргументите тип, за да можете да ги поставите, ако е необходимо
- vala: Добавяне на consts / методи за извличане и проверка на версия на библиотеката [# 304]
- автомати:
- glib-2.0: Добавете обвивка Array.remove * (), за да избегнете изтичане на генерични елементи
- glib-2.0: Добавете (u) long.parse / try_parse () [# 649]
- gstreamer: Актуализиране от 1.15+ git главен
- gtk + -3.0: Актуализиране на 3.23.2 + 6b6e53fd
- gtk + -4.0: Актуализиране на 3.94.0 + 4e868584
Какво е новото във версия 0.40.7:
- Различни подобрения и поправки на програмни грешки:
- Актуализиране на връзките на bugtracker към https://gitlab.gnome.org/GNOME/vala/issues
- Codegen:
- Дръжте атрибута delegate_target на полета [# 520]
- Безплатни генерични елементи от колекциите на glib [# 694765]
- Коригирайте предупреждението за параметъра source_funcs на g_source_new ()
- Всъщност третирайте GLib.Source като компактен клас
- Потребителските абстрактни методи на GLib.Source се обработват по различен начин [# 641]
- Постоянно използвайте gpointer за делегирани цели
- Унифицирайте някои модели за проверка тип делегат
- Използвайте default_init вместо base_init при регистриране на интерфейси [# 699550]
- girparser: Добавете поддръжка за bool delegate_target [# 520]
- girwriter:
- Изходът е отхвърлен = "1"
- Само конструктивните свойства нямат метод за настройка
- Не пишете никакви персонализирани атрибути [# 608]
- valadoc: Прикрепете TreeBuilder.create_array () за подредени масиви
- автомати:
- Глибенкламид-2,0
- Не маркирайте променливите параметри като нулируеми [# 634]
- Направете Source.attach () като използвате по подразбиране MainContext по подразбиране
- Направете Bytes.slice () да използват ефективно от паметта Bytes.from_bytes () [# 638]
- Коригирайте Bytes.with_free_func ()
- Gio-2,0
- Маркирайте полетата ActionEntry.parameter_type / state като нулируеми [# 632]
- Делегираните полета на DBus * VTable нямат имплицитни целеви полета
- Прилагане на delegate_target = false при обратните действия на ActionEntry и да ги направиш слаби [# 630]
- Добавете по подразбиране всички параметри io_priority
- gstreamer: Cherry - изберете някои корекции от 0.42, добавете gst-editing-services-1.0
- gtk + -3.0: Актуализиране на 3.22.30 + 9ac7f906
- gtk + -4.0: Актуализиране на 3.93.0 + 29fee2e8
- webkit2gtk-4.0: Актуализиране на 2.21.4
- Актуализиране на обвързването на базата на GIR
Какво е новото във версията:
- Различни корекции на програмни грешки:
- Фиксирайте регресия на веригата с реални параметри на структурата без нула [# 791785]
- Освободете препратените препратки към CodeContext, след като го използвате [# 712694] и запазете персонализираните invocations на parse_file () възможно [# 791936]
- синтактичен анализатор: Приемане на списък, разделен със запетая, в изявленията на превключватели [# 614015]
- автомати:
- Премахнете обвързванията, които се доставят в течение на няколко години
- gedit 3 [# 776021], libgnome-keyring [# 776022],
- gtksource-3.0 [# 776023], libgdata [# 776024], librsvg-2.0 [# 776025]
- glib-2.0: Добавете GLib.OPTION_REMAINING и GLib.OptionFlags.NONE
- gstreamer-1.0: Актуализиране от 1.13+ git master
- gtk + -2.0: Маркирайте параметъра конструктор на MessageDialog, message_format като нулируем [# 791570]
- gtk + -4.0: Актуализиране на 3.93.0 + 6aeae2c8
- webkit2gtk-4.0: Актуализиране до 2.19.3
Какво е новото във версия 0.39.1:
- подчертава
- Докладвайте предупреждение, ако типът на собственост не е съвместим с GLib.Object [# 693932]
- Позволява да предава съвместими делегати на signal.connect () [# 787521]
- Позволете на некопирани стойности, ако е възможно,
- Избягвайте използването на temp-var за някои извиквания, връщащи ValueType, и за достъп в / ref параметри [# 789071]
- Преформатиране на генерираните изходни източници и дефиниции за по-добра четливост [# 688447]
- Различни корекции на програмни грешки:
- Използвайте array_length_cexpr за поддръжка на фиксирани масиви за връщащи се стойности [# 784691]
- Правилно анализиране на аргументите за вала interpeter-mode [# 663070]
- Утвърдете дължината на името & gt; = 3 за структури, използващи GType [# 764041]
- Съобщавайте за грешка за липсващия тип-параметър на приложен тип [# 587905]
- Добавете boolean "use_inplace" ccode-атрибут за методи [# 750840]
- Подобряване на работата при неприсъединени / притежавани ключови думи
- Методите трябва да хвърлят съвместима грешка, ако целевият делегат хвърли един
- Открийте невалиден достъп до член на поле на потребителски модел [# 790903]
- Подобрете изхода на грешките при несъответстващи на по-горните методи
- Valadoc
- Потвърждаване на възможните свойства в структурата [# 784705]
- Прикрепване на фатални печатни грешки в GtkdocRenderer.visit_symbol_link () [# 790266]
- автомати:
- glib-2.0: Използвайте тип-id / marshaller-тип за (u) int16 / (u)
- glib-2.0: Добавете незадължителния параметър "unparsed" в * .try_parse () [# 774124]
- gobject-2.0: Добавете някои липсващи символи
- gstreamer-1.0: Свържете макросите GST_TIME_ARGS, GST_STIME_ARGS [# 750840]
- gstreamer-1.0: Връзка GST_DEBUG_BIN_TO_DOT_FILE / * _ WITH_TS [# 785215]
- gstreamer-1.0: Актуализиране от 1.13+ git master
- gtk + -3.0: Актуализиране до 3.22.26 + 9ce824d3
- gtk + -4.0: Разделете Gsk.RenderNode в няколко класа
- gtk + -4.0: Актуализиране на 3.93.0 + 2d797dd8
- webkit2gtk-4.0: Актуализиране до 2.19.2
Какво е новото във версия 0.38.3:
- Различни корекции на програмни грешки:
- codegen: Приоритет на "array_length = true" над "array_null_terminated = true" [# 788775]
- codegen: Избягвайте възможни конфликти с вътрешна собственост / сигнал дефинира [# 788964]
- автомати:
- gio-2.0: Изложете g_task_get_source_object като Task.get_unowned_source_object
- gstreamer-1.0: Актуализиране от 1.13+ git master
- gtk + -4.0: Актуализиране на 3.92.1
- libxml-2.0: Добавете DTD методи [# 789442]
Какво е новото във версия 0.38.2:
- Различни актуализации на свързванията:
- gstreamer-1.0, gtk + -3.0, gtk + -4.0: Актуализиране от git master
- gnutls: Fix free_function ccode-атрибут на сертификат [# 788181]
Какво е новото във версия 0.38.1:
- Различни корекции на програмни грешки:
- valadoc: Не използвайте "stderr" като име на променливата [# 787305]
- codegen: Опитайте се да използвате по-уникална вътрешна дефиниция за свойства [# 787436]
- vala: Актуализиране на списъка с използваните атрибути
- метод: Използвайте прототип-низ за съобщения за грешки при несъответстващи на връщащия тип
- автомати:
- glib-2.0: Прикрепете MainContext.check (), OptionEntry [] параметрите са null-завършени, Bind g_convert_with_fallback () и g_convert_with_iconv ()
Какво е новото във версия 0.37.1:
- подчертава:
- Не предупреждавайте за отхвърлените символи, ако install_version е по-стар
- Добавете опцията --gresourcesdir [# 783133]
- Различни корекции на програмни грешки:
- gdbus: Не пропускайте вложените HashTable върху десериализацията [# 782719]
- Фиксирайте най-накрая блоковете с добиви от async [# 741929]
- Дръжте ненулева при изразяване на съвпадение [# 611223]
- Направете flag_complete flag for & lt; 2.44 повече подобни на> 2.44 [# 783543]
- Nullable ValueType изисква POINTER като подпис на маршаллер [# 783897]
- Атрибутът NoAccessorMethod е разрешен само за свойствата на gobject
- girparser: Определяне на анализа на делегат-псевдоним без цел
- компилатор: Използвайте API_VERSION вместо да премахнете PACKAGE_SUFFIX
- girwriter: Напишете дължина-параметри на масиви с ранг & gt; 1 [# 758019]
- автомати:
- gio-2.0: Използвайте по подразбиране 'length = null' за DataInputStream.read_line_utf8 * [# 783351]
- gobject-2.0: Добавете GLib.ParamSpecPointer
- poppler-glib: Актуализиране на 0.54.0
- gstreamer-1.0: Различни фиксиращи връзки
Какво е новото във версия 0.36.3:
- Различни корекции на програмни грешки:
- скенер: Коригирайте изчисляването на стойността на колоната за означенията след мултилентов коментар [# 652899]
- codegen: Unref GLib.AsyncResult за грешки, непроменени в coroutines [# 641171]
- Продължаване на инициализирането на променлива на резултатите за конструкторите [# 782056]
Какво ново във версия 0.36.1:
- Различни корекции на програмни грешки:
- Винаги помислете за съвместим със себе си метод [# 773135]
- Извършвайте аргументи - проверете срещу действителния .end () метод-подпис [# 684208]
- Леко подобрявайте грешката при експресиране на lamdba при несъответствие на типа прицел
- Отстранете инициализатора на делегат за примерни полета [# 683925]
- Не пропускайте целевата референция, когато качите / присвоявате собствените делегати [# 780426]
- GIR анализатор и записвач:
- girparser: Добавете аргумент за унищожаване на метаданни [# 750838]
- vapigen: Добавете опцията --ностdpkg като във валак
- автомати:
- gstreamer-1.0: Завършване на Pad.set _ * _ свързвания [# 750838]
- glib-2.0: Добавете макроси и константи на липсващата версия, unichar.to_string не връща нула
- gtk + -2.0, gtk + -3.0: Маркирайте "intersection" параметъра на Widget.intersect () както е излязъл
- gtk + -4.0: Актуализиране до 3.90.0
Коментари не е намерена