Рубин внутри Silverlight функциональности над C # - PullRequest
2 голосов
/ 05 октября 2009

Только что узнав, что вы можете использовать Ruby или Python внутри приложения SilverLight.

ссылка здесь

.. Интересно, возможно ли обойти некоторые ограничения SilverLight с использованием этих языков вместо C #.

Я знаю, что Ruby Engine внутри приложения SilverLight урезан, как и .NET CLR, поэтому я хотел бы знать, что даже без всей функциональности полноценного Ruby или Python Engine:

Могу ли я еще что-нибудь сделать? с использованием этих динамических языки, которые я бы не смог сделать в C # SilverLight?

.

Если нам нужно скачать что-то встроенное сообществом, чтобы расширить разрез вниз Ruby реализация (для поддержки Например, Interop звонки?) влияние на развертывание?

.

Если нет, если вы не можете ничего сделать вы не сможете с C #, с этими двигателями, кроме типичное преимущество динамического язык, а не реально обойти некоторые из ограничений CLR SilverLight, почему бы выбрать использование Ruby в SilverLight приложение?

Одним из моих интересов является использование сокетов, использование сокетов в SilverLight улучшается в каждой версии, но это может быть проблематично из-за файла авторизации xml, необходимого на стороне сервера. Ruby сможет сделать это ненужным

Спасибо

Ric

Ответы [ 4 ]

2 голосов
/ 05 октября 2009

Я подозреваю, что вы не сможете обойти это. Имейте в виду, что это не язык , накладывающий здесь ограничения, а время выполнения. Если быть точным, то это сам Silverlight. Поскольку и C #, и Ruby скомпилированы в CIL, в этом случае у вас остаются более или менее одинаковые возможности (за исключением некоторых различий в системе ввода).

1 голос
/ 05 октября 2009

Я не уверен, к чему ты клонишь. Независимо от языка вы все еще работаете в той же «песочнице», модели безопасности и ограничены теми же библиотеками сокращения в Silverlight. Вы можете расширить биты, которые вы считаете «ограниченными», при условии, что ваш код не нарушает модель безопасности, с любым языком.

Возможно, вы сможете сделать что-то по-другому, используя другой язык, но те же основные ограничения все еще применяются.

0 голосов
/ 06 октября 2009

Один из лучших сценариев использования динамических языков в .NET - позволить пользователям расширять приложение своим собственным кодом, поэтому это главная причина, по которой я использую IronPython в своем приложении Silverlight. Это так приятно иметь в наличии в ограниченном .NET времени выполнения Silverlight. Его действительно легко интегрировать (хотя мне было трудно сделать методы расширения C # видимыми для Python), и он может быть очень мощным для пользователей.

0 голосов
/ 05 октября 2009

Необходимо убедиться, что файлы включены в xap или использовать систему silverlight 3 slvx для потоковой передачи сборок, определенных в C # или VB и т. Д.

Язык ruby ​​должен быть полной реализацией ruby, чтобы вы могли использовать все возможности языка, предлагаемые ruby, такие как метапрограммирование и т. Д. Все исходные файлы должны быть включены в xap для работы. Если вы используете ruby, то вы тоже получаете gestalt и можете включать исходные файлы ruby ​​так же, как вы включаете файлы javascript в html-страницу сегодня.

...