Приложения в стиле Metro с F #? - PullRequest
       32

Приложения в стиле Metro с F #?

16 голосов
/ 17 сентября 2011

В лекциях и демонстрациях Build 2011 они всегда говорили о C ++, C #, Visual Basic и JavaScript. Разве я не могу создавать приложения в стиле Metro с помощью F #? Или можно с уверенностью сказать, что если он работает с C #, то он работает и с F #?

Ответы [ 6 ]

12 голосов
/ 17 сентября 2011

Или можно сказать, работает ли он с C #, то и с F #?

Да, вот как это должно работать. В дополнение к javascript и C / C ++ любой CLS-совместимый язык, работающий поверх CLR, будет иметь доступ к WinRT API.

К сожалению, в версии VS 2011 Express вы не получаете поддержку инструментов, но я думаю, что она будет добавляться постепенно или в другие версии:

enter image description here

11 голосов
/ 17 сентября 2011

Дон говорит об этом немного в 7:40 в своем выступлении.

http://channel9.msdn.com/Events/BUILD/BUILD2011/SAC-904T

8 голосов
/ 21 сентября 2011

У меня был тот же вопрос и я создал пост в блоге: Создание приложения Metro в F # (НЕ)

Есть несколько проблем:

  • Вы не можете ссылаться на обычные библиотеки .NET (даже в C #). Они должны быть перекомпилированы с «ссылкой» на WinRT. Из-за этого Вы не можете ссылаться на F # DLL. Я думаю, что это будет решено, когда F # 3.0 выпущен (источник: Понимание F # слайд от Дона Сайма в строить).
  • Возможность из F # создавать приложения Metro. Это должно быть построенный командой F #. Это открытый вопрос. Это все-F # подход (в WPF это сегодня возможно, но не рекомендуется).
  • Инструментальная поддержка для создания Metro front-end проектов. Это будет не так для Выпуск F # 3.0. (источник: Понимание F # слайд от Дона Сайма в строить).
6 голосов
/ 16 октября 2011

Используя Visual Studio 11 Developer Preview (полный, а не экспресс), я смог ссылаться и запускать код F # из приложения в стиле C # Metro со следующими предостережениями:

  • Вы будетеполучите предупреждение о сборке, говорящее о том, что на проект нельзя ссылаться, хотя Visual Studio все еще позволит вам его добавить.

  • Вы должны удалить все ссылки на все библиотеки DLL в проекте F #, включая FSharp.Core.

Следуя этим шагам, можно запускать код F # из приложения в стиле C # Metro, но практически невозможно написать любой полезный код на F # без ссылокв основные языковые библиотеки.Будем надеяться, что они скоро обновят библиотеки для совместимости с WinRT.

1 голос
/ 10 августа 2012

Я перенес свою библиотеку биржевых графиков для .NET3.5-4.0 в переносимую библиотеку, она довольно хорошо работает в Metro с приложением C # Metro и с некоторым мостом Metro UI.Я убежден, что могу использовать F # для создания приложений Metro во многих частях.

1 голос
/ 11 марта 2012

На вопрос был дан ответ здесь: Windows 8 и F # Хотя вы не можете создавать и разрабатывать приложения Metro непосредственно в F #, вы все равно можете создать так называемую Портативную библиотеку в F # со всеми моделями и моделями представления и использовать ее в других проектах Metro. Это не идеально, но работает.

...