PowerShell Core достиг фазы Beta.1


Развитие PowerShell Core успешно продолжается. Продуктовая группа к началу конференции Build 2017 выпустила PowerShell Core Beta.1.

Эту версию вы можете свободно скачать, установить и даже применять на практике. Было бы даже очень полезно попробовать её в своей ежедневной работе и написать свои замечения разработчикам, или даже что-то исправить самому — проект же открытый!

Всё ещё существует множество проблем, которые нужно решить. Почитайте v6.0.0-beta.1 release of PowerShellCore.

Например, внезапно, Beta.1 не работает на Windows 7 SP1. Причина банальна: PowerShell Core был переведен на .Net Core 2.0, где большое количество устаревшего API просто нет.

.Net Core 2.0 также находится в стадии активной разработки, поэтому с каждым днём всё больше API портируется на Unix и добавляется в поддержку. Вы можете опробовать .Net Core 2.0 в своих проектах и написать разработчикам свои замечания или принять участие в исправлении проблем — проект .Net Core 2.0 также открытый.

Надо особо отметить, что перевод PowerShell Core на .Net Core 2.0 расширил совместимость со старыми модулями: некоторые из них могут, внезапно, начать работать в Beta.1.

Теперь стало возможно разрабатывать универсальные для всех поддерживаемых платформ модули. Те, кто ранее разрабатывал модули для Windows PowerShell, могут начать работы по «портированию» своих продуктов. Документация готовится.

Исправлено множество нюансов при работе с файловыми системами на разных платформах. Работа в этом направлении продолжается. Было бы прекрасно получить замечания от сообщества уже сейчас, потому что реального опыта использования PowerShell на различных платформах пока ещё очень мало — поделитесь своим опытом и своими потребностями с разработчиками PowerShell.

В Beta.1 вы также обнаружите, что поправлена кодировка при работе с консолью: на Windows это теперь работает точно также как в Windows PowerShell. На Unix используется Utf8 (без BOM). Это обеспечивает хорошую обратную совместимость на Windows, но оставляет открытым вопрос о будущем: например, команда разработки Windows Console проводит большую работу по развитию консоли Windows и поддержке unicode-ных приложений. В тоже время нужно обязательно сохранить обратную совместимость и обеспечить работу существующих приложений.

Открытым остаётся вопрос по использованию кодировок при работе с файлами. Windows давно и полностью использует вариант Unicode Utf16LE с BOM, в то время как Unix применяет Utf8 без BOM. Сейчас продолжается большая и важная дискуссия по поводу использования кодировок в PowerShell Core — примите участие! Вопрос не так прост, как кажется на первый взгляд, поэтому ваше мнение важно для разработчиков.