Пользователь
0,0
рейтинг
13 ноября 2014 в 13:24

Разработка → Microsoft открывает исходный код .NET и делает его кроссплатформенным перевод



Более чем 12 лет фреймворк .NET был основной моделью программирования для разработчиков, которые хотели построить приложения для Windows. Но в попытке сделать множество средств их разработки кроссплатформенными, сегодня Microsoft объявило о своих планах перенести .NET на Mac и Linux и открыть большую часть серверного ядра .NET (не клиентской части), начиная со следующей версии.

Корпоративный вице-президент отдела разработчиков S. Somasegar отмечает о 6 миллионах разработчиках, которые создают приложения на .NET сегодня. «Мы были успешны с этим, но теперь вопрос состоит в следующем: как развиваться .NET дальше? Microsoft уже открыла исходные коды компилятора .NET (Roslyn) ранее в этом году, так что мы не новички в этом (даже при множестве учёных мужей, которые реагируют и делают свою оценку, когда они слышат слова „Microsoft“ и „открытое программное обеспечение“ в одном предложении.»

Если смотреть на недавнюю историю Microsoft, сегодняшнее объявление не будет шоком. На конференции Build, ранее в этом году, например, Microsoft объявило о создании ".NET Foundation" и что эта организации будет сопровождать и этот проект.

image

Неудивительно, что компания планирует работать со спонсируемым фирмой Xamarin сообществом Mono, которое уже создаёт кроссплатформенный .NET на основе C#. «Мы анонсируем это и далее берём несколько месяцев работы с сообществом Mono. Мы тесно работаем с ребятами из Xamarin.» — сообщил мне Somasegar.

Уcилия сделать .NET кроссплатформенным идут рука об руку с этим анонсом, аргументирует Somasegar. «Я думаю об этом, как о следующем большом шаге для .NET», — он сказал мне. Microsoft хочет предоставить .NET большую поддержку разных платформ и что будет лучше, чем принести его на новые платформы?

Исполнительный вице-президент Microsoft по облачным платформам Scott Guthrie вторил этому мнению когда я говорил с ним об этом несколько дней назад. Он отметил, что разработчики часто говорят Microsoft почему им нравится .NET, но многие не используют его из-за того, что его исходные коды закрыты и он поддерживает только Windows. «После среды, все причины, чтобы не использовать его исчезнут», — он сказал мне.

Somasegar верит, что это откроет множество возможностей для партнёров Microsoft. В сегодняшнем заявлении, например, глава бизнес-развития компании Docker Nick Stinemates отмечает: «Центральное значения для открытой платформы Docker является возможность портировать программу на любую инфраструктуру с помощью контейнеров Docker. Поставка открытого движка .NET на все главные операционные системы означает, что Microsoft расширяет концепцию портатирования на саму программную платформу.»

Microsoft планирует создать репозитории GitHub с кодом .NET, чтобы начать обсуждения. Как в точности будет выглядеть финальная версия мы увидим в дальнейшем, но Somasegar надеется, что вы скоро сможете запускать NET-приложение в контейнерах Docker на Linux в Microsoft Azure.

Чтобы защитить разработчиков, Microsoft сегодня анонсировало соглашение о патенте, которое застрахует проект Mono и всех тех, кто иcпользует его.

Всякий раз когда компания открывает исходные коды некого проекта, пользователи часто волнуются — не означает ли это, что компания бросает этот проект. Somasegar и Guthrie подчёркивают, что это совсем не тот случай.

Об ошибках просьба сообщать личным сообщением.
Перевод: Frederic Lardinois
@Reeze
карма
57,5
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (38)

  • +12
    Я вот только не понимаю, где тут подвох. Как-то всё слишком хорошо…
    • +16
      Компания планирует опустить свои заработки на уровень гипервизора, а то, что там будет выше крутиться уже не особо важно. Пусть линукс, пусть докер, пусть даже дотнет главное что бы на ее мощностях.
    • +20
      Подвоха нет, ход логичный. Microsoft понимает, что Windows не занял и не займёт нишу универсальной серверной платформы. Есть нишевые сферы, где Windows лучшее серверное решение, чем *nix (в основном, энтерпрайз), но за пределами этих ниш серверный *nix объективно более подходящее решение. При этом, C# и .NET — универсальные инструменты, и их привязка к Windows мешает их распространению. На продажах серверного Windows это решение, по идее, не скажется, а вот продажа инструментов разработки должна значитеьно вырасти. При этом, мощная система деплоя в Azure, встроенная в MS-овские инструменты разработки при увеличении продаж последних повлечет за собой увеличение пользователей Azure. PROFIT. Причем, и им, и нам (разрабочтикам).
      • +1
        продажа инструментов разработки должна значитеьно вырасти

        Вы упускаете, что мелкомягкие выпутили бесплатную Visual Studio Community (= Visual Studio Pro) и написали плагины для популярных редакторов.
        • +2
          Те, кто покупали лицензию будут покупать и дальше. И без community edition были способы пользоваться студией бесплатно — express версии, MSDNAA, bizspark и еще какие-то программы для тех у кого (пока) нет денег купить большую версию.

          Т.к. Visual Studio сама превратилась в канал продаж, осмысленно стало выпускать ее бесплатно, чтобы те, кто ей не пользовался раньше из-за цены начали это делать и как следствие конвертировались в покупателей Azure.
          • 0
            какие-то программы для тех у кого (пока) нет денег купить большую версию
            • 0
              Что вы хотели этим сказать?
        • 0
          Представьте, но большие и даже средние фирмы боятся бесплатного ПО.
          • 0
            Именно. Потому что не на кого списать риски. И трудно их оценить.
    • –12
      Утопят Mono и закроют обратно?
  • +17
    А зачем писать то что уже дважды было написано?
    Статья дубль(+вода), да и обсуждение разрывать туда\сюда не хочется.
  • +2
    Уже говорил в прошлой теме, но не боюсь повторить повторно, как во всем известном фильме:

    -.NET в опенсорсе
    -.NET скоро для *Nix-ов и Маков
    -Улчшеная интеграция Xamarin и кооперация с ним
    -Эмулятор Андроида


    MS - МОЯ ПРЕЛЕСТЬ!
    image


    А ведь казалось лишь вчера — я жутко бранился на Висту и Мелкософт…

    • –10
      Следующая версия Windows будет на ядре Linux :)
      • +9
        Боже упаси, уж лучше с нуля и опенсорсно ;)
        • –5
          ReactOS? :)
      • +1
        т.е. теперь тоже будет тормозить при достаточном количестве I/O операций?
      • –9
        Я кстати, согласен с вами. Если плавно, в течении нескольких версий, будет проводиться работа по переводу на Unix архитектуру (а ничего лучше пока не придумано), то все только выиграют.

        Microsoft вполне под силу допилить wine до приемлемого состояния. Ведь не секрет, что при выпуске очередной версии Windows, производится гигантская работа по поддержке старого софта.
        Новый IE можно сделать на WebKit, никакие лицензии это не запрещают.
        Останется решить проблему с офисным пакетом, а остаток софта переписать на новый .NET.

        И профит.
        • +4
          Лучше уж перевестись на Singularity, правда, придется очень много и упорно пилить обратную совместимость и эмуляцию NT. Но все же быстрое и чистое микроядро — оно того стоит, имхо…
        • +1
          вообще-то ядро NT ничуть не хуже ядра того же Linux. Те же IOCP, или работа с потоками и оперативной памятью, мне думается, реализованы лучше.
          • +2
            Попробуйте написать драйвер под бсд, линух и винду.
            Такую громоздкую обвязку как в винде ещё поискать надо.

            IOCP хорош, но насколько там ZeroCopy для данных для меня вопрос.
          • –1
            Стандарты, уважаемый. Не забывайте про стандарты.

            Если вы занимались кроссплатформенной разработкой ПО, включающей Виндоус как одну из целевых платформ, при условии, что разработка велась на языке уровня C/C++, а не Java или C#, вы, должно быть, обратили внимание, что, скажем, OS X не является существенным «исключением из правил» при поддержке, скажем, сетевых протоголов (или какой-нибудь GPL-библиотеки), а вот в Windows — хорошо если mingw поможет. А то и вовсе придется везде системный код под ifdef класть.

            Так что получается проблема. Ядро, может, в чем-то и лучше, но преимущества его начисто убиваются отсутствием поддержки самых базовых POSIX-соглашений.
        • 0
          Думаешь IE держат, только потому что им так хочется?
          • 0
            Ну а чисто теоретически, что мешает выпустить IE 13 c blink и движком IE8 для совместимости?
            • +1
              Например то, что IE не только браузер а нехилая часть системы
              • 0
                Как-то в ReacOS эту проблему решили. Да и в wine ставится gecko для замены ie и всё работает.
              • 0
                Ну так движок IE можно оставить, только сайты смотреть через blink.
    • +1
      Еще бы перевели IE на движок blink — и ляпота.
  • –3
    Что-то мало комментариев к этой статье… Тут уже давно должен был быть холивар.
    • +1
      Может потому, что все кто хотел, тот уже все обсудил, или продолжает обсуждать, в объемной статье в блоге компании Microsoft:
      habrahabr.ru/company/microsoft/blog/243067/
      Или в чуть-чуть недождавшейся вышеупомянутой, статье kekekeks:
      habrahabr.ru/post/243065/
  • 0
    ну так jvm есть на многих платформах, а clr не было…
  • +3
    Не прошло и 20 лет называется. После java MS упорно шел путем: «сделаем свою кроссплатформенность, но для Windows only». Пришло время признать, что это было не совсем верная политика, хотя, как по мне, надо было раньше лет на 10 это сделать.
    • +3
      MS упорно шел путем: «сделаем свою кроссплатформенность, но для Windows only»

      А вот этого то и не было. У .Net другая философия — одно приложение, много языков. А кроссплатформенности никогда и не было, даже для продуктов MS.

      Например, для того же Windows CE, Windows Mobile сделали отдельную версию .Net Compact Framework. Silverlight, Xbox 360 и Windows Phone (только 7.х) используют свои версии фреймворков и ограничены так называем «профилем».

      Короче говоря, приложение для настольного Windows будет работать только на нем. В последнее время ситуация меняется и Windows Phone 8.1, Windows 8.1 и даже есть слухи, что Xbox One, используют одинаковые реализации .Net.
  • +4
    Отличная новость. C# — самый приятный и мощный язык из всех что я видел.

    Вот только смущает фраза:
    и открыть большую часть серверного ядра .NET (не клиентской части)
    Не знал, что у .NET Framework есть какие-то клиентские и серверные части, думал он один, целостный и универсальный.
  • 0
    Думаю ключевое слово в этой новости с точки зрения .Net на Linux, android и т.д. — Мигель де Икаса
  • 0
    А каких-то 3 года назад я такого и представить не мог…
  • 0
    Ну исходный код уже открыт давно, к слову: referencesource.microsoft.com/

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.