Вала - це вільне джерело, безкоштовний і сучасний мову програмування та програмний проект, розроблений з урахуванням зсуву, щоб принести нові можливості програмування розробникам GNOME. Це компілятор для системи типу GObject, що дозволяє розробникам GNOME створювати дивовижні програми.
Особливості з першого погляду
Ключові функції включають в себе інтерфейси, властивості, сигнали, foreach, лямбда-вирази, висновки типу для локальних змінних, генерики, не нульові типи, керування допоміжною пам'яттю, обробку виключень, а також модулі типу a.k.a. plugins.
Нелегко написати складний об'єктно-орієнтований код
За допомогою компілятора Vala ви, як розробник, зможете без зусиль написати складний об'єктно-орієнтований код, зберігаючи при цьому низькі вимоги до пам'яті та підтримуючи стандартний ABI та API.
Дозволяє доступ до існуючих бібліотек C
Проект був розроблений таким чином, що він дає доступ до існуючих бібліотек C, особливо до бібліотек GObject, без потреби в прив'язці до виконання часу.
Він ідеально підходить для 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, Валенсія, Geany, Emacs, MonoDevelop, NetBeans, Val (а) IDE, Sublime Text, Вім, Vala Іграшки для 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: оновлення від майстра GIT 1,15+
- gtk + -3.0: оновлення до 3.23.2 + 6b6e53fd
- gtk + -4.0: оновити до 3.94.0 + 4e868584
Що нового у версії 0.40.7:
- Різні вдосконалення та виправлення помилок:
- Оновіть посилання на 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]
- авторитет:
- Вихід застарілий = & quot; 1 & quot;
- властивості конструювати не мають встановлювача
- Не напишіть жодних спеціальних атрибутів [# 608]
- valadoc: Fix TreeBuilder.create_array () для стекових масивів
- Прив'язки:
- glib-2.0:
- Не відмітка простий тип out-параметрів як нульовий [# 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: Вишня - виділіть деякі виправлення з 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] і можете зберегти спеціальні виклики parse_file () [# 791936]
- синтаксичний аналізатор: прийняти список, розділений комами, у випадках-вираженнях перемикачів [# 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: оновлення з майстра git 1.13+
- 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]
- Дозволити передавати сумісні делегати на sign.connect () [# 787521]
- Дозволити некаповані значення переліку, де це можливо
- Уникайте використання temp-var для деяких викликів, що повертаються ValueType, і для доступу до параметрів / ref [# 789071]
- Переформатувати сформовані декларації джерела та визначення для більшої читабельності [# 688447]
- Різні виправлення помилок:
- Використовуйте array_length_cexpr для підтримки фіксованих масивів для значень повернення [# 784691]
- Правильно розібрати аргументи для vala interpeter-mode [# 663070]
- Застосувати назву-довжину & gt; = 3 для структур, що використовують GType [# 764041]
- Повідомити про помилку про відсутність параметра типу в додаванні типу [# 587905]
- Додати логічний код "use_inplace" ccode-атрибута для методів [# 750840]
- Покращити обробку невідповідних / власних ключових слів
- Методам необхідно викинути сумісну помилку, якщо цільовий делегат кидає одну
- Дізнайтеся про недоступний членський доступ до поля екземпляра [# 790903]
- Поліпшення виводу помилок невідповідних основних методів
- Valadoc
- Підтвердити можливі властивості в структурах [# 784705]
- Виправте фатальне помилку в GtkdocRenderer.visit_symbol_link () [# 790266]
- Прив'язки:
- glib-2.0: використовуйте тип-id / marshaller типу для (u) int16 / (u) короткого з (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: прив'язка GST_DEBUG_BIN_TO_DOT_FILE / * _ WITH_TS [# 785215]
- gstreamer-1.0: оновлення з майстра git 1.13+
- gtk + -3.0: оновлення до 3.22.26 + 9ce824d3
- gtk + -4.0: Split 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: оновлення з майстра git 1.13+
- gtk + -4.0: оновлення до версії 3.92.1
- libxml-2.0: додавання методів DTD [# 789442]
Що нового у версії 0.38.2:
- Оновлені різні прив'язки:
- gstreamer-1.0, gtk + -3.0, gtk + -4.0: оновлення від майстра GIT
- gnutls: Fix free_function ccode-атрибут сертифіката [# 788181]
Що нового у версії 0.38.1:
- Різні виправлення помилок:
- valadoc: Не використовуйте 'stderr' як ім'я змінної [# 787305]
- codegen: спробуйте використовувати унікальні внутрішні визначення для ресурсів [# 787436]
- vala: Оновити список використаних атрибутів
- метод: використовуйте рядок прототипу для повідомлень про помилки невідповідностей зворотного типу
- Прив'язки:
- glib-2.0: Параметри Fix MainContext.check (), OptionEntry [] мають нульове значення, Bind g_convert_with_fallback () та g_convert_with_iconv ()
Що нового у версії 0.37.1:
- Основні моменти:
- Не попереджайте про застарілі символи, якщо встановлена версія older_survey
- Додати параметр --gresourcesdir [# 783133]
- Різні виправлення помилок:
- gdbus: не викидайте вкладений HashTable на десеріалізацію [# 782719]
- Виправлення нарешті блокує асинхронний вихід [# 741929]
- Використовуйте вираз, що не збігається з нульовим значенням у коалессіці [# 611223]
- Зробіть прапорець task_complete для & lt; 2.44 більше схожа на & gt; = 2.44 [# 783543]
- Нульовий ValueType вимагає POINTER, як маршаллер-підпис [# 783897]
- Атрибут NoAccessorMethod допускається лише для об'єктів gobject-properties
- 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 про невиконані помилки в кортинах [# 641171]
- Продовжуйте ініціалізацію змінної результату для конструкторських структур [# 782056]
Що нового у версії 0.36.1:
- Різні виправлення помилок:
- Завжди розглядайте метод, сумісний із собою [# 773135]
- Виконати аргументи - перевірити фактичний підпис методу .end () [# 684208]
- Трохи поліпшити помилку виразів lamdba при невідповідності цільового типу
- Виправте ініціалізатор делегатів, наприклад поля [# 683925]
- Не викидайте цільову довідку при відправленні / присвоєнні власних делегатів [# 780426]
- аналізатор і письменник GIR:
- girparser: Додати аргумент про розірвання метаданих [# 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 () як вихідного
- gtk + -4.0: оновлення до 3.90.0
Коментар не знайдено