Я, конечно, с трудом могу понять, когда сайт работает только с эксплорером. Но сайт израильских судов — удивительный пример сайта, не работающего ни с одним браузером. Интересно, кто там пилит бюджеты.
Насколько я понимаю, XPCOM — именно аналогичная COM технология, но кросс-платформенная. Просто используют ее почти исключительно в мозилле. А мотивация может быть простой: создать объект, работающий не только в винде. Кроме того, про COM я ни от кого не слышал хороших отзывов, не ругает его, кажется, только ленивый.
Насчет .нет с джаваскриптом: я тоже не силен в этой технологии, но читал, что .нет предлагает, в частности, альтернативу COM.
> Насчет .нет с джаваскриптом: я тоже не силен в этой технологии, но читал, что .нет предлагает, в частности, альтернативу COM.
Ну, не совсем. СОМ - это стандарт, касающийся интерфейса, а что там в имплементации - дело хозяйское, она может быть хоть на asm, хоть на c++ (всё равно в машинный код компилируется). С .НЕТом всё сложнее, т.к. .НЕТ-объект всегда исполняется CLI-платформой. Значит, писать можно только то, что этой платформой поддерживается. Да и насчёт прямого вызова .НЕТ из клиентского javascript-а -- мне кажется, нет такого.
В общем, сайты под мозиллой не работают не просто так :).
> Кроме того, про COM я ни от кого не слышал хороших отзывов, не ругает его, кажется, только ленивый
Это да... Но ведь и жизнь многие ругают? А расставаться с ней мало кто решается. Потому что альтернатива призрачна и непознана. :)
В общем, сайты под мозиллой не работают не просто так :). Да нет, в общем. Подавляющее большинство сайтов не работает именно просто так. Например, такая штука, как текстовое поле и кнопка "поиск", работающая только в эксплорере, никаким комом не объясняется. :)
Кстати говоря, КОМ используется в основном на стороне сервера, а единственная технология на стороне броузера, использующая (косвенно) КОМ — это ActiveX. Однако, подавляющее большинство сайтов, не работающих в мозилле, ActiveX не используют. А на сервере никто не мешает разработчику использовать КОМ хоть до посинения, лишь бы HTML/javascript нормальный производил.
Но ведь и жизнь многие ругают? А расставаться с ней мало кто решается. В отличие от жизни, альтернативных технических решений немало.
> Кстати говоря, КОМ используется в основном на стороне сервера, а единственная технология на стороне броузера, использующая (косвенно) КОМ — это ActiveX
COM и ActiveX - это одно и то же :)). Просто ActiveX - это a trademark of Microsoft corporation, а СОМ - вроде бы, нет. Исторически так сложилось, когда КОМ был в пелёнках.
> Однако, подавляющее большинство сайтов, не работающих в мозилле, ActiveX не используют.
Сайты, где совсем-совсем не используется таг object или функция CreateObject()? Тогда да, непорядок!
COM и ActiveX - это одно и то же :)). По-моему, КОМ — это более общее понятие, чем АктивХ. АктивХ создавался, как их ответ Чемберлену джаве и был реализован, как вид КОМ-объекта. Надо сказать, что с тех пор не прошло и 20 лет, как они нашли правильный (более или менее) ответ :)
Сайты, где совсем-совсем не используется таг object или функция CreateObject()? Тогда да, непорядок! Если для текстового поля и кнопки используется CreateObject — вот это непорядок.
> По-моему, КОМ — это более общее понятие, чем АктивХ. АктивХ создавался, как их ответ Чемберлену джаве и был реализован, как вид КОМ-объекта.
Что вы имеете в виду? Скажем так: нет АктивХ-а, который не был бы КОМом, и нет КОМа, который нельзя было бы в определённом контексте назвать красивым словом АктивХ (дургое дело, что для работы в браузере, объект должен поддерживать некоторые интерфейсы, иначе скриптовая машина откажется его создать). Если вы не согласны с предыдущим утверждением, то с вас контрпример :).
...да, кстати, насчёт ХРСОМа: то, что такое решение заработает под мозиллой - это, конечно, плюс. Зато он не будет работать, например, в C# (по крайней мере, as-is; да и из других языков - под сомнением). А ведь такие объекты, как правило, пишут для широкого спектра приложений. А если универсальности всё равно не получается, то возникает вопрос, чем пожертвовать: мозиллой (при том, что IE поддерживатся, т.е. есть веб-решение) или интероперабильностью с другими языками/средами.
Дело не в мозилле. XPCOM, CORBA, COM — все технологии одного класса. Естественно, у всех свои недостатки и приемущества. Основное отличие COM — это его наличие в виндах. Написать библиотеку для XPCOM для использования в C# можно, если этого еще не сделали. Также, как и CORBA.
Но опять же, это не релевантно: asp бежит на сервере вместе с COM и прочей дребеденью, и браузеру он пофиг, покуда он создает нормальный HTML/CSS/Javascript.
> asp бежит на сервере вместе с COM и прочей дребеденью, и браузеру он пофиг
Если логика сосредоточена на сервере, тогда конечно. Я имел в виду совершенно другой, близкий мне пример :). Представьте, что фирма разрабатывает некий SDK для определённых нужд, на базе которого другие разработчики могут быстро сваять приложение для работы с продукатми этой фирмы - будь то для веба или stand-alone. Вот тут-то и возникает проблема: во что ни заверни этот SDK - всё хреново получается, но хреновость хреновости рознь. Вот поэтому мы и не поддерживаем мозиллу :-Р
no subject
Date: 2009-06-18 02:11 pm (UTC)Насчет .нет с джаваскриптом: я тоже не силен в этой технологии, но читал, что .нет предлагает, в частности, альтернативу COM.
Ну, и есть старая древняя CORBA.
no subject
Date: 2009-06-18 02:43 pm (UTC)Ну, не совсем. СОМ - это стандарт, касающийся интерфейса, а что там в имплементации - дело хозяйское, она может быть хоть на asm, хоть на c++ (всё равно в машинный код компилируется).
С .НЕТом всё сложнее, т.к. .НЕТ-объект всегда исполняется CLI-платформой. Значит, писать можно только то, что этой платформой поддерживается.
Да и насчёт прямого вызова .НЕТ из клиентского javascript-а -- мне кажется, нет такого.
В общем, сайты под мозиллой не работают не просто так :).
> Кроме того, про COM я ни от кого не слышал хороших отзывов, не ругает его, кажется, только ленивый
Это да... Но ведь и жизнь многие ругают? А расставаться с ней мало кто решается. Потому что альтернатива призрачна и непознана. :)
no subject
Date: 2009-06-18 03:01 pm (UTC)Да нет, в общем. Подавляющее большинство сайтов не работает именно просто так. Например, такая штука, как текстовое поле и кнопка "поиск", работающая только в эксплорере, никаким комом не объясняется. :)
Кстати говоря, КОМ используется в основном на стороне сервера, а единственная технология на стороне броузера, использующая (косвенно) КОМ — это ActiveX. Однако, подавляющее большинство сайтов, не работающих в мозилле, ActiveX не используют.
А на сервере никто не мешает разработчику использовать КОМ хоть до посинения, лишь бы HTML/javascript нормальный производил.
Но ведь и жизнь многие ругают? А расставаться с ней мало кто решается.
В отличие от жизни, альтернативных технических решений немало.
no subject
Date: 2009-06-18 03:12 pm (UTC)COM и ActiveX - это одно и то же :)). Просто ActiveX - это a trademark of Microsoft corporation, а СОМ - вроде бы, нет. Исторически так сложилось, когда КОМ был в пелёнках.
> Однако, подавляющее большинство сайтов, не работающих в мозилле, ActiveX не используют.
Сайты, где совсем-совсем не используется таг object или функция CreateObject()? Тогда да, непорядок!
no subject
Date: 2009-06-18 07:05 pm (UTC)По-моему, КОМ — это более общее понятие, чем АктивХ. АктивХ создавался, как их ответ Чемберлену джаве и был реализован, как вид КОМ-объекта. Надо сказать, что с тех пор не прошло и 20 лет, как они нашли правильный (более или менее) ответ :)
Сайты, где совсем-совсем не используется таг object или функция CreateObject()? Тогда да, непорядок!
Если для текстового поля и кнопки используется CreateObject — вот это непорядок.
no subject
Date: 2009-06-20 08:13 pm (UTC)> По-моему, КОМ — это более общее понятие, чем АктивХ. АктивХ создавался, как их ответ Чемберлену джаве и был реализован, как вид КОМ-объекта.
Что вы имеете в виду?
Скажем так: нет АктивХ-а, который не был бы КОМом, и нет КОМа, который нельзя было бы в определённом контексте назвать красивым словом АктивХ (дургое дело, что для работы в браузере, объект должен поддерживать некоторые интерфейсы, иначе скриптовая машина откажется его создать). Если вы не согласны с предыдущим утверждением, то с вас контрпример :).
no subject
Date: 2009-06-18 03:18 pm (UTC)А если универсальности всё равно не получается, то возникает вопрос, чем пожертвовать: мозиллой (при том, что IE поддерживатся, т.е. есть веб-решение) или интероперабильностью с другими языками/средами.
no subject
Date: 2009-06-18 07:09 pm (UTC)Но опять же, это не релевантно: asp бежит на сервере вместе с COM и прочей дребеденью, и браузеру он пофиг, покуда он создает нормальный HTML/CSS/Javascript.
no subject
Date: 2009-06-20 08:20 pm (UTC)Если логика сосредоточена на сервере, тогда конечно. Я имел в виду совершенно другой, близкий мне пример :). Представьте, что фирма разрабатывает некий SDK для определённых нужд, на базе которого другие разработчики могут быстро сваять приложение для работы с продукатми этой фирмы - будь то для веба или stand-alone. Вот тут-то и возникает проблема: во что ни заверни этот SDK - всё хреново получается, но хреновость хреновости рознь.
Вот поэтому мы и не поддерживаем мозиллу :-Р