Еще лет 7 назад (я еще тогда жил в России) я говорил, что в будущем мир может перевернуться и .NET станет основой для Windows. Вот это день настает, потому что скоро C# код можно будет компилировать в родные команды процессора. Никаких промежуточных IL. C# уже основной язык даже у самой MS.
Сегодня скачал с Channel9 видео о .NET Native, чтобы побольше узнать что и как будет работать и в этом видео менеджера проектов расспрашивали о преимуществах нового подхода. В основном говорили на примерах мобильных платформ, но я надеюсь, что это будет работать и на десктопных приложениях.
Да, для телефонов и планшетов возможность запускать приложения сразу же из машинных инструкций является практически критичной, потому что не нужно компилировать код налету и это сохранит батарею и увеличит скорость запуска. Но ведь уже сейчас все приложения для AppStore компилируются в дополнительно промежуточный код. Я не помню как он точно называется, но что-то типа Machine Dependancy IL. Для конечного железа остается работы совсем чуть чуть, чтобы только навести связи.
А помимо телефонов и планшетов есть же еще и ноутбуки. Не знаю как сейчас, а пять лет назад ноутбуки на Windows держали от батареи в лучшем случае два часа и весили достаточно много. Это одна из причин, почему я перешел на Мак, который легкий и работает от батареи как минимум 5 часов даже при серьезной нагрузки, которую я постоянно даю железу.
Возможность сэкономить ресурсы на ноутбуке очень важны для всех пользователей этих устройств. Так что производительность и экономия памяти нужны везде. Я надеюсь, что .NET Native будет работать везде, а менеджер просто предпочитал говорил про смартфоны только в качестве красивых примеров.
Что меня удивило - в системе будет сидеть небольшая библиотека, что-то типа RTL для .NET , а все остальное будет скомпилировано в приложение. В качестве всего остального привели пример - сборщик мусора. В .NET есть сборка мусора и она будет работать даже при компилировании приложения в машинный код. Только я не совсем понимаю, почему это будет частью приложения? Мне кажется, что эта часть будет идентична для всех приложений и вполне реально было бы поместить этот функционал в RTL.
Думаю, что у менеджеров и программистов действительно были причины наделять каждое отложение своим собственным сборщиком. Я со стороны вижу только увеличение размера каждой программы. Уверен, что Майкрософт знает лучше и делают правильно.
В любом случае, шаг по компиляции в машинные коды поддерживаю на 100%.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Аминь. Люто, бешено плюсую и реквестирую поскорее этот тул в продакшен.
Когда уже можно будет попробовать?
ЗЫ Кстати, ихний дотнетнатив превью что-то не скачивается . Ссылка битая.
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.