Главные релизы недели: разработка для Windows во Flutter, мажорный Laravel и «идеальная» база данных для приложений
Фреймворк Flutter теперь полноценно поддерживает разработку приложений для Windows, вышла мажорная версия Laravel и первая граф-реляционная база данных. Редакция Highload продолжает рассказывать про лучшие релизы недели. Подробнее о них читайте далее.
Laravel 9.0
8 февраля 2022 года вышла новая версия бесплатного веб-фреймворка с открытым исходным кодом, который предназначен для разработки с использованием архитектурной модели MVC. Релиз содержит множество нововведений и улучшение, в том числе поддержку компонентов Symfony 6, Symfony Mailer, Flysystem, улучшенный вывод route:list и многое другое. Обо всем по порядку.
Что нового:
- минимальные требования для Laravel 9.x — версия PHP 8.0;
- новая функция test –coverage, которая показывает объем покрытия кода тестами прямо в терминале;
- рендеринг Blade-строк;
- улучшенные Аксессоры/Мутаторы Eloquent;
- новые вспомогательные функции
str()
иto_route()
; - система Flysystem обновлена до третьей версии;
- неявные привязки Enums в маршрутах;
- проверка данных вложенного массива с помощью метода
Rule::foreEach
; - улучшен вывод списка маршрутов;
- улучшенная поддержка коллекций в IDE;
- новые хелперы:
STR
— возвращает новый экземпляр Illuminate\Support\Stringable для данной строки;TO_ROUTE
— генерирует редирект для заданного именованного маршрута.
Кстати, обновление получил и веб-сайт фреймворка. Теперь на нем присутствует подсветка синтаксиса Torchlight.
Подробнее обо всех изменениях читайте в примечаниях к релизу.
Flutter 2.10
Команда Flutter выпустила новую версию комплекта средств разработки и фреймворка с открытым исходным кодом для создания мобильных приложений. Главным нововведением продукта стала возможность полноценно разрабатывать приложения для Windows, которые будут работать на мобильных устройствах и в вебе.
Приложение сможет использовать любую часть инфраструктуры Flutter, а в Windows оно сможет взаимодействовать с API-интерфейсами Win32, COM и Windows Runtime напрямую либо с помощью подключаемого модуля платформы, написанного на C++. Стоит отметить, что версия для ПК также состоит из платформы языка программирования Dart, разработанного и развиваемого Google, и движка на C++.
В Windows Flutter использует точно такой же код Dart, но еще и преимущества нативных API Windows.
Во Flutter также рассказали, что
- полностью адаптировали несколько распространенных подключаемых модулей, включающих в себя camera,
file_picker
иshared_preferences
; - добавили поддержку «сотник пакетов» Flutter-приложений;
- для адаптации UI можно использовать модуль
fluent_ui
иflutter_acrylic
.
Flutter 2.10 создавался при сотрудничестве с Microsoft. Также обновление поддержали компании, которые разрабатывают инструменты для Flutter. Обо всех изменениях, которые вошли в новую версию продукта, можно почитать здесь.
Racket 8.4
Racket — это мультипарадигменный язык программирования общего назначения, который принадлежит к семейству Lisp/Scheme. Это язык полного спектра. Он выходит за рамки Lisp и Scheme с диалектами, которые поддерживают объекты, типы и многое другое.
Что нового:
- Командная строка Racket по умолчанию предоставляет новый редактор выражений для своего цикла чтения-вывода-печати (REPL). Новый REPL основан на редакторе выражений Chez Scheme, но расширен для использования тех же языковых средств раскраски синтаксиса и отступов, что и DrRacket.
- Typed Racket добавляет систему типов, не позволяя разработчикам писать бессмысленные выражения типов. Она проверяет, правильно ли применяются конструкторы типов к аргументам, и разделяет конструкторы типов от полиморфных типов. Форма
:kind
позволяет проверить вид выражения типа в REPL. Новая система также безошибочно отсеивает некоторые неправильно сформированные рекурсивные типы. file-or-directory-stat
— для получения единой информации об объектах файловой системы.- Веб-сервер: диспетчер файлов поддерживает все стандартные заголовки HTTP-ответов, связанные с кэшированием (например, Cache-Control).
- Веб-сервер: новый диспетчер отражает общую схему многоуровневой обработки HTTP-запросов и ответов.
- Веб-сервер поддерживает использование заголовка Cache-Control и содержит новый диспетчер обертывания.
- Expander: добавлен синтаксис
"portal"
для поддержки новых форм объединения объектов синтаксиса. - Поиск документации стал проще.
- Шрифты теперь поддерживают настройки характеристик OpenType.
- Улучшено вычисление квадратных корней.
- В контракт
set/c
добавлена поддержка генерации случайных чисел.
Загрузить новую версию языка можно по ссылке. Подробнее обо всех изменениях читайте по ссылке.
EdgeDB 1.0
10 февраля спустя несколько лет работы и длинного списка предварительных релизов вышла стабильная версия первой граф-реляционной базы данных с открытым исходным кодом.
Что такое граф-реляционная база данных? По словам разработчиков продукта, EdgeDB построена на расширении реляционной модели данных, которое они назвали граф-реляционной моделью. Эта модель полностью устраняет несоответствие между объектами и реляцией, сохраняя при этом прочную основу и производительность классической реляционной модели. Это, по словам создателей EdgeDB, делает ее идеальной базой данных для разработки приложений.
Основные характеристики EdgeDB:
- современная БД;
- простой язык запросов, призванный превзойти по выразительности SQL;
- богатая система типов;
- декларативная схема, которая позволяет выражать наследование, вычисляемые свойства, функции и сложные ограничения;
- встроенная система миграции;
- EdgeDB работает на базе PostgreSQL.
Как работает. EdgeDB перестраивает весь фронтенд базы данных: протокол, язык запросов, определение схемы, клиентские библиотеки и инструменты. Бэкенд — на PostgreSQL, а остальное будет делать EdgeDB.
Подробнее о базе данных нового поколения читайте здесь. Видео с мероприятия по запуску EdgeDB можно посмотреть ниже:
KWinFT 5.24
KWinFT — это форк Kwin-композитора с прицелом на более активную разработку и оптимизацию. В новой версии создатели продукта продолжили развивать поддержку Wayland, а также расширили возможности wlroots и модернизировали кодовую базу.
В течение последнего кода команда продукта работала над созданием wlroots — библиотеки компоновщика Wayland, которая создана Sway и теперь используется несколькими компоновщиками Wayland.
Что нового:
- Теперь KWinFT обрабатывает распределение буфера через wlroots и полностью использует контекст EGL, созданный wlroots. Это позволяет удалить большую часть кода KWinFT и продолжить интеграцию с wlroots.
- Улучшенный обмен данными между клиентами.
- Стабилизация кода DRM-лизинга.
- Добавлена поддержка виртуальных клавиатур.
- Улучшены плагины эффектов.
Подробно обо всех изменения можно узнать из обзора ведущего разработчика KWinFT Романа Гильга.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: