[Ann] Анонсы с BUILD'14
От: Sinix  
Дата: 03.04.14 05:49
Оценка: 123 (14)
1. .Net native — прекомпиляция для managed apps
Саммари:
* MSIL транслируется в нативный код, используется Microsoft VC++ optimizer back-end.
* Конкретных цифр-подробностей пока нет, обещается производительность сравнимая с нативным c++ и значительное сокращение времени запуска приложений.
* Метаданные никуда не теряются, рефлексия работает.
* Пока — только для winphone/winrt. На сегодня транслируется не весь код, как я понял, остаток будет полагаться на обычный jit.
Видео и ссылки для скачивания — тынц

2. Universal apps (+ анонс от Сомасегара).
Саммари:
* Общий код для winphone/winrt-проектов
* Код/отладка/тесты/дизайнер под обе платформы. 1 солюшн.
* Код для конкретной платформы никуда не делся,
  1 картинка вместо лишнего текста

* Присутствует из коробки в vs2013 update 2 rc

3. Orleans — хостинг сервисов на основе actor-model от MS Research
Саммари (практически не разбирался, могут быть ляпы):
* Почти похоже на эрланг, только совсем не эрланг
* Подходит для сервисов массового обслуживания, поддерживается хостинг в Azure/"домашнем" кластере.
* Встроенное распределённое хранилище, отказоустойчивость и восстановление из коробки.
* Внутренняя логика актора — однопоточная, взаимодействие — асинхронное, на Task-ах и await-ах. Никакой возни с блокировками/разруливанием взаимодействия
* Практически линейная масштабируемость, поддержка пулов соединений (через всё те же акторы), производительность не падает при большом количестве акторов.
Ссылки — pdf, сайт

Пока всё, для первого дня очень неплохо
Re: [Ann] Анонсы с BUILD'14
От: Sinix  
Дата: 03.04.14 13:03
Оценка:
UPD

Оказывается, на .Net Native у МС большие планы:

* Скомпилированный код не зависит от .Net Framework runtime
* Потенциально — поддержка любых языков, которые могут генерить MSIL, т.е. любого валидного IL.
* Генерики, GC, рефлексия — всё просто продолжит работать.
* Выпуск под все платформы (.net micro framework пока под вопросом)
* Производительность будет сопоставима с обычным C++. Время компиляции, судя по всему, тоже

Из спорных моментов пока непонятно, как быть с обновлениями фреймворка через win update (патчи и баги), с подгрузкой сторонних сборок, кодогеренацией, dynamic-кодом и тд и тп. Будем ждать подробностей.

UPD 2
Подробности о схеме работы shared projects.

Shared projects плюс не требующий фреймворка .net native... В общем в слухах о том, что MS собирается прикупить xamarin становится всё больше и больше смысла.

P.S. В ту же копилку — кросплатформенный WinJS, да ещё и open source (демо онлайн, в старой опере не работает). Ущипните меня, это точно МС?
Re[2]: [Ann] Анонсы с BUILD'14
От: KRT Украина  
Дата: 03.04.14 17:37
Оценка: 33 (2) +1
Здравствуйте, Sinix, Вы писали:

S>P.S. В ту же копилку — кросплатформенный WinJS, да ещё и open source (демо онлайн, в старой опере не работает). Ущипните меня, это точно МС?


Roslyn — http://roslyn.codeplex.com/
Re[2]: [Ann] Анонсы с BUILD'14
От: nikov США http://www.linkedin.com/in/nikov
Дата: 03.04.14 18:43
Оценка: 12 (1) :)
Здравствуйте, Sinix, Вы писали:

S>P.S. В ту же копилку — кросплатформенный WinJS, да ещё и open source (демо онлайн, в старой опере не работает). Ущипните меня, это точно МС?


Щипаю. Точно MS.
Re: [Ann] Анонсы с BUILD'14
От: Tesh США  
Дата: 07.04.14 18:00
Оценка: +1
Чем .Net Native отличается от уже давно существующего NGen? Тем, что работает на мобилках?
Re[2]: [Ann] Анонсы с BUILD'14
От: Евгений Акиньшин grapholite.com
Дата: 08.04.14 04:47
Оценка: 12 (1)
Здравствуйте, Tesh, Вы писали:

T>Чем .Net Native отличается от уже давно существующего NGen? Тем, что работает на мобилках?


Если я правильно понял из презентаций:
1) Все нужное сливается в один исполняемый файл, без зависимостей от .Net Framework
2) На бекенде используется кусок микрософтовкого С++ компилятора со всеми возможными оптимизациями
3) Сделано множество ограничений (например недоступна рефлексия по приватным членам, нельзя динамически загружать сборки итд), которые опять же позволяют сделать оптимизации, принципиально недоступные в NGen
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[2]: [Ann] Анонсы с BUILD'14
От: Sinix  
Дата: 08.04.14 04:49
Оценка:
Здравствуйте, Tesh, Вы писали:

T>Чем .Net Native отличается от уже давно существующего NGen? Тем, что работает на мобилках?

Нет, ngen работает и на мобилках По факту там только последний этап, разруливание вызовов к другим сборкам, но тем не менее.

Если коротко, то вместо "ngen == сохранение выхлопа JIT в файл" получается полноценная прекомпиляция: код оптимизируются тем же бэкэндом, что и для vc++, результат компиляции не требует распространения рантайма.

Это то, что известно из презентации. Остальные детали пока не раскрывались (ну, или я пропустил статьи на тему).
Re[3]: [Ann] Анонсы с BUILD'14
От: Sinix  
Дата: 08.04.14 05:42
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>3) Сделано множество ограничений (например недоступна рефлексия по приватным членам, нельзя динамически загружать сборки итд), которые опять же позволяют сделать оптимизации, принципиально недоступные в NGen

А вот про это есть где-то инфа?

На презентации и в доках ограничения описаны очень расплывчато, где проблемы принципиальные, где проблемы текущей беты — фиг поймёшь. В Optimizing .NET for Modern Hardware упоминали, что рефлексия и динамическая подгрузка сборок никуда не денутся, но я слушал краем уха, могу и переврать
Re[4]: [Ann] Анонсы с BUILD'14
От: Евгений Акиньшин grapholite.com
Дата: 08.04.14 06:58
Оценка: 24 (1)
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>>3) Сделано множество ограничений (например недоступна рефлексия по приватным членам, нельзя динамически загружать сборки итд), которые опять же позволяют сделать оптимизации, принципиально недоступные в NGen

S>А вот про это есть где-то инфа?

S>На презентации и в доках ограничения описаны очень расплывчато, где проблемы принципиальные, где проблемы текущей беты — фиг поймёшь. В Optimizing .NET for Modern Hardware упоминали, что рефлексия и динамическая подгрузка сборок никуда не денутся, но я слушал краем уха, могу и переврать


У меня пока времени разбираться нету, но на мсдн достаточно подробно вроде расписано:

http://msdn.microsoft.com/en-us/library/dn600634.aspx
http://msdn.microsoft.com/en-us/library/dn584397.aspx

Можно скачать и посмотреть самому:
http://msdn.microsoft.com/en-US/vstudio/dotnetnative
http://blogs.msdn.com/b/dotnet/archive/2014/04/02/announcing-net-native-preview.aspx

где-то в интервью сказали, что вроде можно уже в продакшене использовать.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[5]: [Ann] Анонсы с BUILD'14
От: Sinix  
Дата: 08.04.14 08:17
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>>>3) Сделано множество ограничений (например недоступна рефлексия по приватным членам, нельзя динамически загружать сборки итд), которые опять же позволяют сделать оптимизации, принципиально недоступные в NGen

S>>А вот про это есть где-то инфа?

ЕА>У меня пока времени разбираться нету, но на мсдн достаточно подробно вроде расписано:

ЕА>http://msdn.microsoft.com/en-us/library/dn600634.aspx
ЕА>http://msdn.microsoft.com/en-us/library/dn584397.aspx

Угу, спасиб. С рефлексией всё ок.

Private reflection over types and members in the .NET Framework class library is not supported. You can, however, reflect over your own private types and members, as well as types and members in third-party libraries.

С Assembly.Load, если прописать сборку в rd.xml — тоже всё ок.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.