Vala - это открытый и свободный язык программирования и программного обеспечения с открытым исходным кодом, разработанный со смещения, чтобы привносить новые функции программирования разработчикам GNOME. Это компилятор для системы типа GObject, позволяющий разработчикам GNOME создавать удивительные приложения.
Особенности с первого взгляда
Ключевые функции включают в себя интерфейсы, свойства, сигналы, foreach, лямбда-выражения, вывод типа для локальных переменных, обобщения, ненулевые типы, вспомогательное управление памятью, обработку исключений, а также модули типа a.k.a. plugins.
Легко писать сложный объектно-ориентированный код
С помощью компилятора Vala вы, как разработчик, сможете без труда писать сложный объектно-ориентированный код, сохраняя при этом требования к минимуму и поддерживая стандарт C ABI и API.
Позволяет доступ к существующим библиотекам C
Проект был разработан таким образом, что он обеспечивает доступ к существующим библиотекам C, особенно к библиотекам на основе GObject, без необходимости привязки к runtime.
It & rsquo; s идеально подходит для GTK + и GNOME
Vala - это компилятор командной строки и языки программирования. Разработчики, которые работают с GTK + и GNOME, смогут использовать Vala для написания кода и компиляции.
Это зависит от C ++, C, C #, Python, D и Java
На язык программирования Vala влияли хорошо известные и широко используемые языки программирования C, C ++, D, Python, C # и Java. Это кросс-платформенное программное обеспечение, которое можно легко переносить на другие операционные системы.
Он поддерживается широким спектром программ IDE
Еще одна интересная особенность - совместимость с различными программами IDE (Integrated Development Environment), включая Anjuta, Valencia, Geany, Emacs, MonoDevelop, NetBeans, Val (a) IDE, Sublime Text, Vim, Vala Toys для Gedit, Euclide, RedCar, TextMate и Valama.
Доступность и поддерживаемые архитектуры
Вала распространяется только как исходный архив. Это означает, что пользователь должен настроить и скомпилировать код перед установкой. Разумеется, его также можно легко установить на любой дистрибутив GNU / Linux из репозиториев программного обеспечения по умолчанию. В настоящее время поддерживаются 32-разрядная и 64-разрядная архитектуры.
Что нового в этой версии:
- Различные исправления ошибок:
- codegen: вызов ref_sink для объектов, переданных в общий тип [# 655]
- codegen: бесплатные ошибки после их возврата на GDBusMethodInvocation [# 657]
- girparser: на самом деле разрешите аргументы типа, чтобы иметь возможность их при необходимости.
- vala: Добавить константы / методы для извлечения и проверки версии библиотеки [# 304]
- Наручники:
- glib-2.0: Добавить оболочку Array.remove * (), чтобы избежать утечки общих элементов.
- glib-2.0: Добавить (u) long.parse / try_parse () [# 649]
- gstreamer: обновление от 1.15+ git master
- 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"
- свойства только для построения не имеют метода setter
- Не записывайте какие-либо пользовательские атрибуты [# 608]
- valadoc: Fix TreeBuilder.create_array () для многоуровневых массивов
- Наручники:
- Не отмечайте параметры out-parameters простого типа как nullable [# 634]
- Make Source.attach () по умолчанию использует MainContext по умолчанию
- Сделать Bytes.slice () использовать эффективные по умолчанию Bytes.from_bytes () [# 638]
- Исправить Bytes.with_free_func ()
- Пометить флаги ActionEntry.parameter_type / state как nullable [# 632]
- Области делегата DBus * VTable не имеют неявных целевых полей
- Применить delegate_target = false для обратных вызовов ActionEntry и сделать их слабыми [# 630]
- Добавить параметры по умолчанию для всех параметров io_priority
- gstreamer: Cherry-pick некоторые исправления от 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
<Литий> бойкие-2.0: литий>
<Литий> Gio-2.0: литий>
Что нового в версии:
- Различные исправления ошибок:
- Исправить регрессию цепочки с реальными ненулевыми структурными параметрами [# 791785]
- Отключить ссылки на CodeContext после использования [# 712694] и сохранить пользовательские вызовы parse_file () возможно [# 791936]
- parser: принять список разделенных запятыми в case-операторах переключателей [# 614015]
- Наручники:
- Удалить привязки, которые отправляются вверх по течению в течение нескольких лет.
- gedit 3 [# 776021], libgnome-keyring [# 776022],
- gtksourceview-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: параметр конструктора Mark MessageDialog, message_format, как nullable [# 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 для некоторых callables, возвращающих ValueType и для доступа к параметрам / ref [# 789071]
- Реформат генерирует исходные объявления и определения для лучшей читаемости [# 688447]
- Различные исправления ошибок:
- Используйте array_length_cexpr для поддержки фиксированных массивов для возвращаемых значений [# 784691]
- Правильно проанализировать аргументы для vala interpeter-mode [# 663070]
- Использовать длину имени & gt; = 3 для структур с использованием GType [# 764041]
- Сообщить об ошибке для отсутствующего типа-типа при закрытии типа [# 587905]
- Добавить boolean "use_inplace" ccode-attribute для методов [# 750840]
- Улучшить обработку незанятых / принадлежащих ключевых слов.
- Методы должны бросать совместимую ошибку, если целевой делегат бросает один
- Откройте недопустимый доступ к члену экземпляра в поле экземпляра [# 790903]
- Улучшение вывода ошибок при несоответствии методам переопределения
- Valadoc
- Подтвердить возможные свойства в structs [# 784705]
- Исправить фатальную опечатку в GtkdocRenderer.visit_symbol_link () [# 790266]
- Наручники:
- glib-2.0: Используйте type-id / marshaller-type для (u) int16 / (u) short from (u) int32 [# 693932]
- glib-2.0: добавьте необязательный параметр «unparsed» в * .try_parse () [# 774124]
- gobject-2.0: добавьте недостающие символы
- gstreamer-1.0: привязать макросы GST_TIME_ARGS, GST_STIME_ARGS [# 750840]
- gstreamer-1.0: Bind 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: Expose 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-attribute сертификата [# 788181]
Что нового в версии 0.38.1:
- Различные исправления ошибок:
- valadoc: не использовать 'stderr' в качестве имени переменной [# 787305]
- codegen: попробуйте использовать более уникальное внутреннее определение свойств [# 787436]
- vala: обновить список используемых атрибутов
- : Используйте прототип-строку для сообщений об ошибках несоответствий типа возврата
- Наручники:
- glib-2.0: Исправлены параметры MainContext.check (), OptionEntry [] с нулевым завершением, Bind g_convert_with_fallback () и g_convert_with_iconv ()
Что нового в версии 0.37.1:
- Основные характеристики:
- Не предупреждайте об устаревших символах, если установленная версия старше.
- Добавить параметр --gresourcesdir [# 783133]
- Различные исправления ошибок:
- gdbus: Не просачивайте вложенную HashTable при десериализации [# 782719]
- Исправить, наконец, блоки с выходами async [# 741929]
- Обработать ненулевое выражение в коалесцирующем выражении [# 611223]
- Сделать флаг task_complete для & lt; 2,44 больше похоже на & gt; = 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:
- Различные исправления ошибок:
- scanner: исправить вычисление значения столбца для токенов после многострочного комментария [# 652899]
- codegen: Unref GLib.AsyncResult для непустых ошибок в сопрограммах [# 641171]
- Сохранять инициализацию результирующей переменной для конструкторов struct [# 782056]
Что нового в версии 0.36.1:
- Различные исправления ошибок:
- Всегда рассматривайте метод, совместимый с самим собой [# 773135]
- Выполните аргументы-check против фактической .end () method-signature [# 684208]
- Слегка улучшить ошибку выражения lamdba при несоответствии типа цели
- Исправить инициализатор делегата для полей экземпляра [# 683925]
- Не утечка целевых ссылок при литье / назначение принадлежащих делегатам [# 780426]
- Парсер и писатель GIR:
- girparser: добавить аргумент destroy для метаданных [# 750838]
- vapigen: добавьте параметр --nostdpkg, как в valac
- Наручники:
- gstreamer-1.0: Fix Pad.set _ * _ function () bindings [# 750838]
- glib-2.0: добавить отсутствующую версию макроса и константы, unichar.to_string не возвращает null
- gtk + -2.0, gtk + -3.0: Отметьте параметр «пересечения» Widget.intersect () как out
- gtk + -4.0: обновление до 3.90.0
Комментарии не найдены