Как вызвать функцию Javascript из F # - PullRequest
0 голосов
/ 04 августа 2011

Я очень плохо знаком с F # и больше работаю с Javascript.
Я просто хочу знать, можно ли вызвать функцию JavaScript из F #.
Конечно, этот вопрос может не показывать минимальных усилий. Но я просто прошу идею
Спасибо

Ответы [ 3 ]

2 голосов
/ 04 августа 2011

F # в основном серверный язык. Это означает, что скомпилированный код F # выполняется на сервере - вы можете представить некоторые функции, написанные на F #, как REST-сервис и вызвать его из JavaScript с помощью обычного вызова в стиле AJAX.

Если вы хотите пойти по этому пути, тогда самый простой вариант - написать код на стороне сервера с использованием некоторого фреймворка, например ASP.NET MVC ( В этой статье объясняется, как использовать F # с MVC , примеры при написании сервисов REST в основном используется C #, но их легко перевести), или вы можете использовать HttpListener для написания собственного облегченного веб-сервера на F # (вы можете найти пример здесь - веб-сайт в настоящее время имеет только исходный код, но скоро появятся ссылки на статьи, объясняющие это).

В качестве альтернативы, есть некоторые проекты, которые позволяют вам писать код F # и переводить его в JavaScript. Затем вы можете запустить всю свою программу F # на стороне клиента (без какого-либо сервера). JavaScript, сгенерированный из F #, вероятно, также может быть вызван из обычного кода JavaScript. Взгляните на WebSharper и проект FSharp.JavaScript .

0 голосов
/ 04 августа 2011

Я сомневаюсь, что в основном я хочу разработать клиентское приложение, которое будет принимать входные данные и должен генерировать HTML-страницу через JavaScript с использованием jQuery или любого другого типа библиотек .. Возможно ли это?

Да, вы можете использовать F # для написания настольного приложения, которое генерирует HTML, включая Javascript. Существуют также элементы управления, такие как WebBrowser , которые можно использовать для отображения сгенерированной веб-страницы.

Кроме того, вы можете использовать ASP.NET , который предназначен для создания веб-страниц и позволяет писать веб-приложения в .Net (, включая F # ).

0 голосов
/ 04 августа 2011

В целом - скорее нет.Вы можете вызывать другие библиотеки .NET или собственный код через вызов платформы.Хотя одним из возможных решений вашей проблемы было бы использование парсера Javascript, который дал бы вам возможность обмениваться объектами с вашим кодом f # и запускать его.Одна библиотека, которую вы могли бы рассмотреть, была бы Javascript.Net , которая основана на движке Google V8 и, вероятно, будет работать.Хотя я никогда не использовал его для такой задачи, поэтому не могу дать вам никаких подробностей.

...