НовостиСобытияКонференцииФорумыIT@Work
Open Source:

Блог

Microsoft заигрывает с Open Source, но усложняет разработку под всю линейку Windows

Сергей Бобровский
08.04.2014 10:52:25

Феноменальное известие пришло на прошлой неделе из редмонтовского штаба.

Платформа .NET станет опенсорсной, и Microsoft для этого формирует .NET Foundation http://www.dotnetfoundation.org/

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

Полузаброшенная .NET сегодня постепенно возрождается, причем во многом усилиями сторонних фирм наподобие Xamarin (во многом в формате свободного клона Mono), но теперь к этому проекту присоединяется ведущий мировой портал СПО-сообщества GitHub! Там можно найти компилятор-сервис Rosyln для C# и VB, причем под лицензией Apache -- пожалуйста, кто хочет развивать эти языки, велкам! Сюда же можно добавить публикацию исходников MS DOS 1.1/2.0 и Microsoft Word for Windows 1.1a как символический жест.

Xamarin в этом контексте смотрится главным победителем -- в дополнение к Android и iOS готовится перенос .NET/C# (и, видимо, VB) на Linux! Однако, не получится ли так, что .NET в итоге превратится в нечто узко-технологичное, и если поддержка этой платформы не будет встроена в новые версии Windows (а, похоже, к этому и идет), то судьба ее предрешена: .NET станет очередной нишевой кросс-платформной технологией, как например Delphi.

Но куда же двинулась в таком случае сама Микрософт? Это C++/COM и HTML5/JavaScript, причем в контексте СПО. Опубликован в виде СПО официальный релиз Microsoft TypeScript 1.0 -- своеобразное расширение JavaScript для крупных проектов, которым теперь занимается сам Андерс Хейлсберг, автор C#/.NET (а ранее -- Delphi). Эта технология полностью интегрирована в Visual Studio 2013. Исходники: https://typescript.codeplex.com/releases/view/120282

Выпущена WinJS 2.1 -- как опенсорс! https://github.com/winjs/winjs

Это JavaScript-библиотека от Microsoft для разработки приложений под WinRT, Windows Phone и Windows Store. Впрочем, JavaScript-код вообще сложно выпускать как-то по-другому smile:) Что интересно, несмотря на огромное количество JavaScript-инструментов, WinJS смотрится очень и очень солидно. С ее помощью можно создавать приложения, которые будут работать фактически в любом настольном браузере любых ОС, а также в WinRT (Windows 8.1) и Windows Phone.
На возможности этой либы можно полюбоваться тут: http://try.buildwinjs.com/

Эти технологии формально отвечают "новой" стратегии Microsoft "One Windows" -- пишется однажды, работает "везде" (в любой Windows). Однако, увы, это лишь планы на грядущее, потому как под "Windows" Редмонт сегодня понимает Windows 8.1 и старше.
Пока же ситуация такова, что существуют три разные "Windows" -- Windows 7 и младше; Windows 8.x; Windows Phone 8.x. Формально две последние ОС базируются на одном ядре, однако на практике для каждой из них проектный код надо существенно кастомизировать. Так, Visual Studio 2013 Update 2 RC вроде бы нацелен на задачу писать Universal Apps, которые единообразно работают на телефонах, планшетах и ПК, только использовать для этого один и тот же код пока не получается.

И в этой связи совет такой: хотите создавать истинно Universal Apps для Windows на ближайшую пятилетку? Для XP/Vista/7/8/8.1, а также всей серверной Windows-линейки, действительно на основе одного кода? Соответствующая замечательная технология существует давным-давно, еще со времен XP, а называется .NET. К тому же скоро она перейдет в формат СПО, официально расширится поддержкой ведущих мобильных платформ и Linux -- и это замечательно.

нам микрософт опять внушает
"бери восьмерку не тупи"
но люди неспроста предпочитают
икспи

Комментариев: 7

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии

08.04.2014 12:45:07

Насколько я изучал документы по этому поводу, ни о каком переводе .NET в опенсорсовский режим речи нет.
Речь идет о создании, причем якобы независимогого фонда,

Цитата
Мигель де Икаса (Miguel de Icaza), компания Xamarin, объявил о создании .NET Foundation, независимой организации, целью которой является развитие сотрудничества и поддержание проектов с открытым исходным кодом на .NET.


Т.е. речь идет о проектах на базе .NET, а не о самой платформе.

08.04.2014 13:35:19

Платформа .NET -- понятие растяжимое. Например, ASP.NET -- это .NET, или нет?

Ежели брать только Core .NET, то в ней нынешней два кусочка -- Roslyn (уже опенсорс) и рантайм.

Рантайм в свою очередь состоит из Base Class Libraries, полную документацию на которые Микрософт на прошлой неделе, зачем-то smile:) передала в Xamarin, и Common Language Runtime, в отношении которой Soma Somasegar (Corporate Vice President of Microsoft's Developer Division) заявил: "We are taking it one step at a time... If it's truly beneficial for us and for the community...".

Ну и Hejlsberg тоже обнадеживает: "We are actively investing in .Net going forward. It's not going away. We are all in on .Net."

08.04.2014 19:50:11

Цитата
готовится перенос .NET/C# (и, видимо, VB) на Linux!
Оно уже давно есть (и C#, и VB) в Mono. smile:|
Цитата
Эти технологии формально отвечают "новой" стратегии Microsoft "One Windows" -- пишется однажды, работает "везде" (в любой Windows).
Ух, они так скоро Java'у придумают! smile:-D Технологическое отставание стремительно сокращается! Ещё чуть-чуть и будет "всего лишь" 20 лет (Дата официального выпуска Java — 23 мая 1995 года.). smile:D smile:D smile:D

08.04.2014 20:14:39

Оно уже давно есть (и C#, и VB) в Mono
Имеются в виду, коммерческие технологии Xamarin -- формально они только для iOS, Android, Mac и Windows.


У MS уже есть своя Java -- NET, только они от нее опять почему-то отказываются. Точнее, переписывают под восьмерку заново и несовместимо smile:)

08.04.2014 20:25:24

Цитата
Имеются в виду, коммерческие технологии Xamarin
Любые некоммерческие технологии легким движением руки с денежной купюрой превращаются в коммерческие. smile;-)
Цитата
У MS уже есть своя Java -- NET,
НедоJava. smile:-) Я имею ввиду, что скоро Microsoft дозреет до основной идеи Java: «скомпилировано однажды, запускается везде» (compile once, run anywhere).

09.04.2014 06:30:22

Любые виртуальные машины это гарантированные тормоза в критической части и перерасход памяти
Я всеми пятками за Натив.
В принципе в новой версии С++ уже можно более менее прогать, даже override появился наконец то

09.04.2014 12:20:48

Да, плюсы будут всегда.

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии