LINUX.ORG.RU

Сообщения vertexua

 

Microsoft выпустила официальную Rust библиотеку для Windows API

Группа Open Source

Библиотека оформлена в виде Rust crate под MIT License, который можно использовать вот так:

[dependencies]
windows = "0.2.1"

[build-dependencies]
windows = "0.2.1"

После этого в скрипте сборки build.rs можно сгенерировать те модули, которые нужны для вашего приложения:

fn main() {
    windows::build!(
        windows::data::xml::dom::*
        windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject}
        windows::win32::windows_programming::CloseHandle
    );
}

Документация о доступных модулях опубликована на docs.rs.

Пример кода:

mod bindings {
    ::windows::include_bindings!();
}

use bindings::{
    windows::data::xml::dom::*,
    windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject},
    windows::win32::windows_programming::CloseHandle,
};

fn main() -> windows::Result<()> {
    let doc = XmlDocument::new()?;
    doc.load_xml("<html>hello world</html>")?;

    let root = doc.document_element()?;
    assert!(root.node_name()? == "html");
    assert!(root.inner_text()? == "hello world");

    unsafe {
        let event = CreateEventW(
            std::ptr::null_mut(),
            true.into(),
            false.into(),
            std::ptr::null(),
        );

        SetEvent(event).ok()?;
        WaitForSingleObject(event, 0);
        CloseHandle(event).ok()?;
    }

    Ok(())
}

Для некоторых вызовов функций используется unsafe, так как эти функции предоставляются как они есть, не адаптируя их к конвенциями Rust. По такому же принципу устроен crate libc, который служит базовым crate для доступа к libc и используется как основа для пострения библиотек с безопасным интерфейсом.

Проект создан в рамках Win32 Metadata Project, который призван облегчить создание API для разных языков программирования. Вторая библиотека, которая была создана на основе Metadata Project на первое фазе проекта - C#/Win32. Также Microsoft анонсировала начало работы над версией для С++, которая использует современный стиль языка.

>>> Github

 , , , ,

vertexua
()

Вышел Rust 1.37.0

Группа Разработка

Среди нововедений:

  • Разрешено ссылаться на варианты enum через псевдонимы типов (type aliases), например через Self.
  • cargo vendor теперь входит в стандартную поставку.
    • С помощью cargo vendor можно явно скачивать и использовать полную копию всех исходных кодов всех зависимостей. Это полезно для компаний с монорепозиториями, которые хотели бы хранить и анализировать весь исходный код, используемый в их ПО.
  • Поддержка const _:.
  • Поддержка Profile Guided Optimization.
  • Поддержка #[repr(align(N))] для лучшего контроля над выравниванием в Enum.
  • Изменения в стандартной библиотеке.
  • Изменения в Clippy
  • Microsoft и Amazon стали спонсорами Rust, предоставив облачную инфраструктуру для сборки и тестирования Rust.

>>> Анонс

 ,

vertexua
()

Google Allo

Группа Google

20 сентября состоялся релиз нового мессенджера от Google — Allo.

Основные особенности:

  • Идентификация с помощью номера телефона.
  • Уникальная возможность Allo заключается в доступе к ассистенту из чата (цитируя @google в сообщении), который может отвечать на вопросы, генерировать подсказки на основе карт, базы знаний, сторонних ресурсов. Все взаимодействие с ассистентом происходит прямо в чате, все участники которого видят вопросы и ответы.
  • Система искусственного интеллекта ассистента также может подсказывать ответы на частые вопросы с помощью одного клика, используя различные контекстуальные знания, например, геолокацию.
  • Присутствие режим инкогнито, которые переключает диалог в режим E2E-зашифрованного канала на основе протокола Signal от Open Whisper Systems. В данном режиме функциональность ассистента недоступна, так как ассистент не имеет доступа к таким чатам.
  • Режим инкогнито поддерживает автоматическое удаление сообщений с устройств через определённый промежуток времени.

>>> Видео с демонстрацией этих и многих других возможностей

>>> Подробности

 allo,

vertexua
()

Google открыла внутреннюю систему сборки — Bazel

Группа Google

Основные возможности

  • Поддержка разных языков программирования: Bazel поддерживает Java, Objective-C и C++, а также может быть расширен для поддержки других языков.
  • Высокоуровневый язык конфигурирования сборки: проекты конфигурируются с помощью языка BUILD-файлов, в компактном текстовом формате, который описывает проекты как наборы небольших, взаимосвязанных библиотек, исполняемых файлов и тестов. В отличии от Bazel, Makefile, например, содержат описания конкретных файлов и параметров запуска компилятора.
  • Поддержка множества платформ: один и тот же инструмент используется для сборки ПО для различных архитектур и даже разных платформ. Google использует Bazel для сборки как серверного ПО, так и клиентских приложений на мобильных телефонах.
  • Воспроизводимость результатов: в BUILD файлах каждая библиотека, тест или исполняемый файл прямо указывают свои непосредственные зависимости. Bazel использует эту информацию, чтобы определять, как пересобирать двоичные файлы и параллельно выполнять тесты. Это означает, что все сборки инкрементальны и приводят к одинаковым результатам.
  • Масштабируемость: Bazel легко справляется с большими сборками. В Google достаточно часто серверные приложения занимают 100k строк кода и сборки ветки без отличий от кода основного репозитория могут занимать около 200 мс.

( Почему не ... )

>>> Подробности

 , , ,

vertexua
()

Вышел стабильный релиз WildFly 8

Группа Java

Вышла стабильная версия сервера, сертифицированного Java EE 7 — WildFly 8. Ранее он был известен под названием JBoss Application Server. Ребрендинг произведен не только в названии. Также команда обещает сфокусироваться на легковесности и скорости поддержки стандартов, чтобы опровергнуть существующие стереотипы о Java EE.

Основные возможности:

  • Сертифицированная поддержка Java EE 7 — основное отличие WildFly.
  • Новый высокопроизводительный веб-сервер и сервлет-контейнер Undertow. Новый сервер поддерживает как стандартные синхронные и асинхронные сервлеты, так и веб-сокеты. Также Undertow может работать как быстрый reverse-proxy. Undertow известен тем, что его jar файл занимает около 1МБ дискового пространства, при запуске встроенного сервера Undertow используется не более 4МБ памяти.
  • Уменьшение количества занимаемых портов.
  • Улучшенный менеджер безопасности.
  • Множественные улучшения логирования.
  • Поддержка кластеризации.
  • Упрощение консольных утилит.
  • Легковесное ядро и модульность, multitenancy.
  • Улучшения совместимости с JDK8.
  • Поддержка JAX-RS через Resteasy, что открывает перед разработчиками дополнительные нестандартные возможности.
  • Hibernate Search.

Выход WildFly откроет больше возможностей для использования Java EE 7 в production-системах, так как является более быстрой, производительной и легковесной альтернативой другим Java EE 6/7 контейнерам.

>>> Подробности

 , , ,

vertexua
()

В Ubuntu 10.10 больше не будет FSpot

Группа Ubuntu Linux

Наконец-то закончился спор F-Spot vs Shotwell для следующего релиза дистрибутива Ubuntu. Програмой для управления фотографиями теперь по-умолчанию будет Shotwell. Это очень важное изменение, так как позволяет избавиться от еще одного Mono приложения из стандартной поставки.

Недавно была выпущена новая версия Shotwell 0.5.2. Вот список возможностей.

  • К фотографиям можно назначать теги, что создает новый инструмент для управления коллекцией фотографий.
  • Поддержка печати.
  • Фотографии могут быть опубликованы в Picasa Web Albums service.
  • Установка фотографий фоном Рабочего Стола.
  • Импортирование фотографий работает а фоновом режиме.
  • Чрезвычайная стабильность и ощущение более высокой легкости и отзывчивости.

Последнюю версию можно установить добавив репозиторий PPA

sudo add-apt-repository ppa:yorba/ppa

>>> Подробности

 , , , , ,

vertexua
()

Релиз jMonkeyEngine3 SDK alpha

Группа Java

17 мая вышел альфа релиз jMonkeyEngine3 SDK со значительными изменениями в функциональности.

jMonkey Engine (jME) это высокопроизводительный 3D-движок на Java, основаный на модели «scenegraph». Он поддерживает рисование как через LWJGL, так и через JOGL. jME полностью открыт и поставляется по лицензии BSD. Текущая стабильная версия это jME2. jME3 сейчас в активной разработке.

Среди наиболее значимых изменений

  • Сборка мусора Java работает для OpenGL обьектов
  • Нет необходимости в java.library.path
  • Поддержка HDR, Tonemapping (планируется depth of view, bloom)
  • Поддержка NiftyGui
  • Поддержка моделей и анимации на основе OgreXML
  • Обьединение джойстика, мыши и клавиатуры в одном интерфейсе, который основан на связывании

А также многие другие, полный список можно прочитать здесь

Для общего ознакомления с возможностями движка можно просмотреть демонстрационные приложения, которые работают через Java Web Start.

>>> Подробности

 , jmonkeyengine, logamp, , , , ,

vertexua
()

Gtk+ 3 Roadmap

Группа GNOME

Список самых интересных возможностей будущего GTK 3, включая Contributor features и Wishlist

Запланированные

  • Полное offscreen рисование. Необходимо для анимации и эффектов за пределами компонентов
  • Удаление всех public полей из структур. Сделает поддержку ABI намного проще путем доступа только через функции
  • Независимость от разрешения, легкое масштабирование элементов графического интерфейса, включая шрифты и изображения
  • Иконки в полях ввода
  • Простая прозрачность для компонентов. Должно работать даже без XComposite
  • RGBA фон для компонентов

Contributor features

  • Контейнер с поддержкой анимации
  • Физика в графическом интерфейсе: кинетическая прокрутка, магнетизм, трение, отскок элементов, растягивание, затухание, смешивание, тени и другие оптические эффекты
  • Стили меток как в Mac
  • Throbber
  • Облегчение создания виджетов

Wishlist

  • Проективная трансформация компонентов

Многие из этих возможностей можно реализовать через другие библиотеки, то в GTK 3 они станут доступны out of the box. Список будет расширятся

Полный список читаем в подробностях.

>>> Подробности

 , , ,

vertexua
()

RSS подписка на новые темы