Подскажите, какие технологии выбрать для написания интерпретатора

Вопросы по программированию, не подходящие в другие разделы.

Модераторы: Naeel Maqsudov, C_O_D_E

dzeaman
Сообщения: 6
Зарегистрирован: 25 дек 2006, 14:28
Откуда: Питер
Контактная информация:

Есть необходимость написать что-то типа MathPlayer. Для языка типа MathML (но, естественно, не MathML, но это не так важно).

Если кто не в курсе, принцип действия приблизительно такой: в html-код внедряется тэг типа <math>, внутри которого используются тэги, определённые в языке MathML. В браузер встраивается плагин, который такую ботву интерпретирует и, естественно, визуализирует.

Что для этого нужно? Возможно ли и насколько оправдано использование .NET? Обязательно ли использование ActiveX? И, может быть, кто-нибудь подскажет ценную ссылку на бесценную литературу?
Заранее благодарен за любые комментарии =)
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Нет, браузер плагин я бы писать не стал. Лучше генерировать gif или png файо на стороне сервера
2B OR NOT(2B) = FF
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

А что за язык? TeX ?
2B OR NOT(2B) = FF
dzeaman
Сообщения: 6
Зарегистрирован: 25 дек 2006, 14:28
Откуда: Питер
Контактная информация:

Absurd писал(а):Нет, браузер плагин я бы писать не стал. Лучше генерировать gif или png файо на стороне сервера
Не... Это я вообще диплом собираюсь писать =)
Научный хочет, чтоб был именно браузер плагин.
А язык разрабатывается в другом дипломе одногруппником :cool:
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Значит нужен апплет на Java или .NET. .NET железно связан с ActiveX. Выбор в данном случае небольшой: Java или .NET. Что одногруппник думает?
2B OR NOT(2B) = FF
dzeaman
Сообщения: 6
Зарегистрирован: 25 дек 2006, 14:28
Откуда: Питер
Контактная информация:

Думает, что Java - это неизбежные тормоза, которые не позволят визуализировать серьёзный интерфейс.

Значит, дотнет. Тогда сразу вырисовываются несколько проблем:
1. Конечному пользователю нужен будет установленный фреймворк?
2. Где бы почитать, как встроить библиотеку, написанную под дотнет, плагином в IE? То, что я находил гуглом и круглом, написано на старых добрых плюсах и с дотнетом дружит слабо. Стандартные эдд-ины от дотнет вроде б только для офисных приложений. В общем, я совсем чайник в близких отношениях с браузерами =)
3. Сможет ли оно вставить ActiveX до загрузки страницы? (С большой вероятностью сможет, просто я-то об этом ничего не знаю). И опять же - где бы почитать.

Пока что ситуация вырисовывается тускленькая =)
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

dzeaman писал(а):Думает, что Java - это неизбежные тормоза, которые не позволят визуализировать серьёзный интерфейс.
Ну мы, например, 100 SOAP запросов/сек на Java делаем без проблем и ботлнек у кастомера в сервере написанном на С++, который порождает по 12 тредов на каждый входящий запрос.
dzeaman писал(а): Значит, дотнет. Тогда сразу вырисовываются несколько проблем:
1. Конечному пользователю нужен будет установленный фреймворк?
Да, нужен.
dzeaman писал(а): 2. Где бы почитать, как встроить библиотеку, написанную под дотнет, плагином в IE? То, что я находил гуглом и круглом, написано на старых добрых плюсах и с дотнетом дружит слабо. Стандартные эдд-ины от дотнет вроде б только для офисных приложений. В общем, я совсем чайник в близких отношениях с браузерами =)
искал ".NET апплет" на гугле
1. создаешь в студии проект типа class library

2. в нем делаешь класс, наследующий от UserControl и обязательно присвоить ему атрибут guid

3. в свойствах проекта configuration properties -> build ставишь

Register for COM interop = true

тут, собственно, сама разработка закончилась, теперь нужно как-то доставить компонент клиенту

4. создаешь setup project

5. в свойствах primary output установить Register = vsdprCOM

6. включаешь в зависимости файл .tbl, полученный при компиляции

на этом этапе получили файл setup.msi, который устанавливает компонент клиенту

7. если нужно, чтобы компонент сам устанавливался клиенту, можно преобразовать msi в cab,используя makecab
dzeaman писал(а): 3. Сможет ли оно вставить ActiveX до загрузки страницы? (С большой вероятностью сможет, просто я-то об этом ничего не знаю). И опять же - где бы почитать.
Будет примерно как Flash я думаю.
2B OR NOT(2B) = FF
dzeaman
Сообщения: 6
Зарегистрирован: 25 дек 2006, 14:28
Откуда: Питер
Контактная информация:

Absurd писал(а):Ну мы, например, 100 SOAP запросов/сек на Java делаем без проблем и ботлнек у кастомера в сервере написанном на С++, который порождает по 12 тредов на каждый входящий запрос.
Ну... на сотню найдётся 50 человек, кто скажет, что java тормозная, и 50, кто приведёт убедительные доводы в её быстродействии ;) Некоторых ни за что не переубедить
Absurd писал(а):искал ".NET апплет" на гугле
Хм... а вот .NET апплет как раз я искать и не пробовал =)
Все гениальное просто, спасибо
dzeaman
Сообщения: 6
Зарегистрирован: 25 дек 2006, 14:28
Откуда: Питер
Контактная информация:

Как я понял, нужен BHO, который подставит при загрузке страницы в коде вместо <math> ... </math> некий ActiveX. Вроде так, ну или во всяком случае точно сойдет как вариант.
Для меня осталась непрозрачной только передача в активиксину куска документа <math> ... </math> (которого, к слову, уже нет - его заменили на <object>...</object>).
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Html это не Xml - он не расширяется кроме как по резолюции w3c. Можно сохранить файл с описанием формулы в отдельный файл и передавать его через <DATA>
2B OR NOT(2B) = FF
Ответить