Состояние .NET Core


Прошло совсем немного времени с тех пор, как Microsoft открыла исходный код фреймворка NET, но проект, похоже, начинает жить своей собственной жизнью. Неужели это джинн из бутылки?

.NET Core

Еще в ноябре главной новостью стало то, что .NET Core становится открытым, но было не совсем понятно, что это означает. Вместо того, чтобы открыть текущую кодовую базу .NET как продолжающийся проект, .NET Core был создан как новый проект для создания переносимой версии библиотек. Поначалу разочаровало очень малое количество классов, загруженных на GitHub.

Теперь у нас есть свежая информация о том, как идут дела, от члена команды Иммо Ландверта. Первое, что нужно сказать, это то, что проект был форкнут более 1000 раз. Все ли эти люди стремятся внести свой вклад в проект? Это может быть показателем, по крайней мере, потому что на сегодняшний день поступило около 250 запросов на внесение изменений — включая вклад Microsoft.

На данный момент соотношение внутренних и внешних вкладов составляет 48% к 52%, т.е. майкрософтовцы находятся в небольшом меньшинстве. Однако они по-прежнему полностью контролируют ситуацию.

Мало того, если вы хотите внести свой вклад, вы должны подписать лицензионное соглашение с разработчиком (CLA). Когда участник подает запрос на исправление, система автоматически определяет, насколько серьезным является изменение. Если оно небольшое, то оно отправляется с условием cla-not-required, но если оно большое и вы еще не подписали CLA, то вас направляют заполнить веб-форму, где вы должны подтвердить, что не вносите в кодовую базу код, принадлежащий кому-то другому.

Что еще более интересно, так это то, что в проекте уже более 500 тысяч строк кода, а 75% еще не передано. Существует таблица Excel с подробным описанием того, что находится в пути.

Библиотеки, которые сейчас находятся в репрограмме, это:

  • System.Collections.Immutable
  • System.Numerics.Vectors
  • System.Reflection.Metadata
  • System.Xml
  • Microsoft.Win32.Primitives
  • Microsoft.Win32.Registry
  • System.Collections.Concurrent
  • System.Collections.Immutable
  • System.Collections.NonGeneric
  • System.Collections.Specialized
  • System.Console
  • System.Diagnostics.FileVersionInfo
  • System.Diagnostics.Process
  • System.IO.FileSystem
  • System.IO.FileSystem.DriveInfo
  • System.IO.Pipes
  • System.IO.UnmanagedMemoryStream
  • System.Linq.Parallel
  • System.Numerics.Vectors
  • System.Reflection.Metadata
  • System.Text.RegularExpressions
  • System.Threading.Tasks.Dataflow
  • System.Xml

Остается загадкой, насколько полезным будет окончательный вариант .NET Core и как он будет интегрирован в основную разработку .NET. Есть очень много вопросов без ответов. Основная часть большинства приложений .NET — это пользовательский интерфейс, но в таблице нет библиотек пользовательского интерфейса.

Есть также такие сбивающие с толку комментарии, как

Наше текущее мнение заключается в том, что мы не предоставляем реализации, которые по своей сути специфичны для Win32, например, мы не будем реализовывать реестр. К сожалению, это пространство имен также содержит концепции, которые на самом деле не связаны с Win32, такие как дескрипторы, и, скорее всего, будет использоваться для реализации общих концепций для всех операционных систем (таких как файловый ввод-вывод).

Однако, как вы можете видеть, библиотека Microsoft.Win32.Registry уже находится в репродукторе, а другие библиотеки перечислены в электронной таблице. Означает ли это, что будут реализованы только части библиотек.

На вопрос, какой процент .NET не будет на GitHub, мы получили ответ:

… вероятно, это будет довольно большое число, учитывая огромную площадь таких технологий, как Windows Forms, WPF и WF.

Суть в том, что до сих пор не очень понятно, куда движется этот конкретный джаггернаут.


Добавить комментарий