Microsoft опубликовала открытый исходный код CoreCLR, движка для поддержки исполнения приложений, созданных на платформе .NET Core, являющейся ответвлением .NET Framework. Исходный код самой .NET Core, призванной упростить разработку приложений для мобильных, настольных и серверных сред Windows, был раскрыт в прошлом году.
Microsoft не является посторонней в сфере Open Source, однако в последнее время компания стала больше высказываться о своих внутренних инициативах по расширению использования этой модели в базовых инструментах разработки, например, по раскрытию исходного кода .NET и переносу среды исполнения .NET-приложений в Linux и Mac OS.
В декабре компания также обнародовала свои планы сделать .NET Core фундаментом всех будущих релизов .NET и средоточием своих усилий по централизации фреймворков .NET, предназначенных для разных устройств и платформ.
Теперь же Microsoft опубликовала на GitHub полный исходный код среды исполнения CoreCLR, наряду с JIT-компилятором RyuJIT, сборщиком мусора .NET GC, средствами интероперабельности и другими компонентами среды исполнения .NET.
«Этот релиз следует за нашим прошлым релизом базовых библиотек, и оба они демонстрируют нашу сильную заинтересованность предоставить в общее пользование полную кроссплатформенную реализацию .NET», — говорится в корпоративном блоге группы Microsoft .NET.
По информации компании, CoreCLR выполняет такие функции, как сбор мусора и компиляция машинного кода.
Microsoft видит .NET Core по-настоящему кроссплатформенным продуктом, и поскольку сейчас это не совсем так, в предстоящие месяцы компания рассчитывает добавить реализацию ее компонентов для Linux и Mac аналогично работе по линии открытого исходного кода .NET.
Нынешний релиз содержит около 2,6 млн. строк кода, написанного на C# и C++. Репозиторий кода CoreCLR похож на CoreFX, выпущенный Microsoft ранее, однако последний целиком состоит из кода C#. Вместе они содержат около пяти миллионов строк кода.
По информации Microsoft, ее кросплатформенные возможности основаны на CMake, комплекте инструментов для сборки, тестирования и упаковки ПО.
«Мы нуждались в системе сборки, которую можно использовать под Windows, Linux, и Mac и которая может компоновать ПО для этих же платформ. Ознакомившись с имеющимися опциями и рекомендациями, мы выбрали CMake», — говорится в блоге группы Microsoft .NET.