Рубріки: Подборки

Главные релизы недели: Angular 13 лишился поддержки IE11, долгожданный анализатор PHP-кода и драйвер NTFS в Linux

Богдан Мирченко

Линус Торвальдс презентовал новую версию ядра Linux 5.15 с драйвером NTFS, спустя шесть лет разработки вышел анализатор кода PHPStan, а новый Firefox стал меньше потреблять памяти JavaScript. Какими еще релизами была богата прошедшая неделя — читайте далее. 

Angular 13

Команда фреймворка Angular выпустил новую версию, которая, по словам создателей, содержит множество обновлений и функций. Обновление можно получить, запустив ng update в проекте. Также можно обратиться к руководству по обновлению, которое доступно на официальном сайте продукта. В новой версии основной упор был сделан на расширении и оптимизации возможностей движка Ivy.

Основные изменения и обновления: 

  • движок представления View Engine больше не доступен. Его удаление означает, что фреймворк может в будущем уменьшить зависимость от компилятора совместимости с Angular ngcc;
  • оптимизация и модернизация Angular Package Format. В первом случае команда продукта удалила старые форматы вывода, в том числе метаданные, специфичные для View Engine. Чтобы модернизировать APF создатели стандартизировали более современные форматы JavaScript, такие как ES2020;
  • благодаря внедрению нового API, для инициализации компонента больше не нужно использовать ComponentFactoryResolver. Вместо него движок Ivy позволяет использовать ViewContrainerRef.createComponent. Например, вместо такого кода:
@Directive({ … })
export class MyDirective {
    constructor(private viewContainerRef: ViewContainerRef,
                private componentFactoryResolver: 
                        ComponentFactoryResolver) {}
    createMyComponent() {
        const componentFactory = this.componentFactoryResolver.
                             resolveComponentFactory(MyComponent);
    
        this.viewContainerRef.createComponent(componentFactory);
    }
}

Можно записать так: 

@Directive({ … })
export class MyDirective {
    constructor(private viewContainerRef: ViewContainerRef) {}
    createMyComponent() {
        this.viewContainerRef.createComponent(MyComponent);
    }
}
  • в Angular 13 прекращена поддержка браузера Internet Explorer 11. Удаление браузера позволит разработчикам использовать современные функции браузера, такие как переменные CSS и веб-анимацию через собственные веб-API. Разработчики, которым по-прежнему нужна поддержка пользователей Internet Explorer 11 для существующих проектов, могут продолжать использовать Angular 12. Он будет доступен до ноября 2022 года;
  • по умолчанию включено кэширование сборок проектов;
  • RxJS 7.4 теперь используется по умолчанию для приложений, созданных с помощью ng new. Существующие приложения, работающие на RxJS v6.x, необходимо обновить вручную с помощью команды npm install rxjs@7.4;

Полный перечень изменений доступен по ссылке. 

Linux 5.15

31 октября в Хэллоуин Линус Торвальдс сообщил о выходе следующей версии основной ветки ядра Linux 5.15, которая вышла спустя два месяца после разработки. И если предыдущая версия была сфокусирована на улучшения для систем на основе ARM, в новой акцент сделан сразу на нескольких значительных изменения. Вот некоторые из них: 

  • в основную ветку был добавлен драйвер NTFS от Paragon Software, который теперь можно использовать вместо драйвера NTFS-3G. О необходимости внедрения NTFS Линус Торвальдс говорил еще в июле;
  • в файловой системе Btrfs реализована поддержка механизма fs-verity;
  • добавлена поддержка мониторинга температуры для APU на основе AMD Zen 3;
  • в XFS реализован механизм отложенной деактивации inode и поддержка отложенной установки и удаления атрибутов файлов;
  • доработана поддержка Intel Alder Lake;
  • в файловой системе EROFS внедрена поддержка прямого ввода/вывода для файлов, сохраненных без сжатия;
  • улучшена поддержка Apple M1;
  • ядро оптимизировано для ext4;
  • удалена подсистема LightNVM;
  • добавлена поддержка EFI-разделов с нестандартным размещением таблиц GPT.

Полный перечень изменений доступен по ссылке. 

PHP Stan 1.0

Спустя шесть лет разработки состоялся первый релиз стабильной версии статического анализатора PHPStan 1.0 с открытым исходным кодом, призванного находить ошибки в коде на языке программирования PHP без его выполнения и unit-тестов. 

Инструмент имеет десять уровней проверки, в которых каждый последующий уровень расширяет возможности предыдущего и жестче анализирует код. Подробнее об уровнях можно почитать здесь

Какого рода ошибки выявляет PHPStan: 

  • существование и доступность вызываемых методов и функций;
  • существования переменных с учетом блоков, формируемых операторами ветвления и циклами;
  • существование классов, используемых в языковых конструкциях;
  • проверка возвращения методом данных с тем же типом.

Код проекта распространяется под лицензией MIT. Загрузить исходный код PHPStan можно в репозитории проекта. Больше информации о релизе — в блоге продукта. 

Firefox 94

Компания Mozilla выпустила новую стабильную версию браузера Firefox 94 с массой новых функций, исправленными ошибками и улучшениями безопасности. 

Основные изменения и обновления: 

  • сезонные цветовые схемы. Всего их 18 штук. Чтобы переключаться между ними:
    • откройте внутреннюю страницу about:addons;
    • переключитесь на вкладку «Темы»;
    • внизу найдите раздел «Расцветки».
  • поддержка страницы about: unloads, предназначенной для выгрузки вкладок вручную и освобождения системных ресурсов;
  • изоляция сайтов, помогающая отражать атаки по побочным каналам;
  • режим пониженного энергопотребления Apple для полноэкранного видео на Twitch и YouTube в Firefox macOS;
  • для разработчиков реализована поддержка добавления partitionKey — первичный URL-адреса файла cookie;
  • правило @import теперь поддерживает функцию layout();
  • уменьшено потребление памяти JavaScript;
  • после закрытия инструментов разработчика освобождается больше памяти;
  • новый поддерживаемый статистический метод HTMLScriptElement.supports().

По заявлению создателей браузера, новая версия Firefox 95 выйдет 7 декабря. 

Stencil 2.10

Stencil — это набор инструментов для создания многоразовых масштабируемых систем проектирования. Они отличаются быстротой и полностью основаны на стандартах веб-компонентов, которые работают в каждом браузере. 

Особенности многоразового компилятора веб-компонентов: 

  • быстрая настройка;
  • конвейер асинхронного рендеринга;
  • поддержка TypeScript;
  • односторонняя привязка данных;
  • предварительная отрисовка компонентов;
  • простая отложенная загрузка компонентов;
  • поддержка JSX;
  • компоненты без зависимостей.

В новой версии: 

  • больший контроль над теневой DOM, что способствует меньше количеству циклов рендеринга;
  • поддержка TypeScript 4.3.

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

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023