Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

Говорят, технология ActiveX устарела   Найти похожие ветки 

 
AlexG ©   (2004-08-08 21:25) [0]

Так ли это? Кто-нибудь может поделиться своими сведениями?


 
Гаврила ©   (2004-08-08 21:35) [1]

лет 5 еще не устареет, ИМХО


 
Piter ©   (2004-08-08 21:40) [2]

Конечно устарела. Вместе с .NET, четвертыми пнями и уринотерапией...


 
AlexG ©   (2004-08-08 21:47) [3]

Я слышал, что она устарела из-за своей дырявости. И компании Novel, Sun, кажется, и кажется еще кто-то собираются разработать иную технологию, которая будет более надежной.


 
nikkie ©   (2004-08-08 23:34) [4]

такие высказывания были в связи с тем, что пришел .NET и COM - теперь устаревающая технология. когда .NET придет в каждую хату, про COM можно будет забыть, наверное. хотя тяжело мне это представить. сама Микрософт уже столько всего понаписала на основе COM.


 
AlexG ©   (2004-08-10 23:53) [5]

2 nikkie ©   (08.08.04 23:34) [4]

Так ведь .NET основан на СОМ! Или нет?


 
Piter ©   (2004-08-11 00:13) [6]

.NET на ком? Я честно перый раз такую версию слышу...

Хотя в .NET полный профан...


 
Aleksey Pavlov ©   (2004-08-11 01:57) [7]

ActiveX конечно устарела - что есть то есть, но т.к. реальной альтернативы, которая может быть использована в коммерческих проектах прямо сейчас (т.е. отлажена, проверена на наличие багов, дыр и т.д.) пока не существует - используется ActiveX. С ним хоть знаешь как бороться, где "блох" ловить, и чего ждать. А т.к. больше 90% пользователей работают под IE который насквозь поддерживает ActiveX, а остальные 10% под "клонами" Netscape, который удачно патчится для работы с ActiveX, то технология ActiveX успешно применяется и ещё лет 5 точно будет применяться (про браузеры - это я относительно распространения ActiveX объектов в виде ocx-модулей через INet и встраивания ActiveX-объектов в окна браузера).

А COM - это не технология, а идеология и .NET ни коем образом не "убьёт" COM.


 
nikkie ©   (2004-08-11 02:08) [8]

>А COM - это не технология, а идеология
объяснись.


 
Aleksey Pavlov ©   (2004-08-11 02:27) [9]

nikkie © (11.08.04 02:08):

а чего тут объяснять? ООП - это же не технология =) Вот и COM точно так же. Можно писать под любую платформу, практически на любом современном языке следуя идеологии COM.
Просто многие воспринимают COM, как набор библиотек и интерфейсов, присущих только Win-based платформам. Естестввенно, это не так.

Для более полных объяснений - см. литературу. Лучшая для начала - "Основы COM" (притом лучше в оригенале imho).


 
nikkie ©   (2004-08-11 02:40) [10]

>Вот и COM точно так же.
не точно также.

>Можно писать под любую платформу, практически на любом современном языке следуя идеологии COM.
это как?

Просто многие воспринимают COM, как набор библиотек и интерфейсов,
так оно и есть. CoInitialize, CoCreateInstance и т.д. IUnknown, IDispatch - без всего этого COM - не COM.

присущих только Win-based платформам.
ну если кто-то портирует все это под юникс, будет присуще не только win-платформе. точно также, как и .NET. ну и что?

Лучшая для начала - "Основы COM"
я читал эту книгу.

а как по-твоему - интерфейсы в языке дельфи - это COM?


 
Aleksey Pavlov ©   (2004-08-11 03:30) [11]

Читать мало - надо понять =)

Интерфейсы в Delphi - это интерфейсы в Delphi и ничего больше.

ВСЁ что есть в COM"е может быть реализовано на любой платформе. Если ты воспринимаешь методы COM"а (QueryInterface, AddRef и Release) как догму, которую нельзя реализовать самостоятельно (и ничего тут портировать не надо), тогда для тебя COM - это действительно только "CoInitialize, CoCreateInstance и т.д. IUnknown, IDispatch".

А если ты действительно читал Основы COM, то должен был обратить внимание на слова автора, что "COM - это идеология". Можно написать программу без единого вызова CoInitialize, CoCreateInstance, без использования IUnknown, QueryInterface, фабрики классов и всего того, что тебе представляется сутью COM - но это может быть программа построенная по идеологии COM.


 
nikkie ©   (2004-08-11 03:54) [12]

ну спасибо, что научил уму-разуму.

хорошо, ты вроде согласен, что IUnknown, CoCreateInstance и т.д. - это технология, а не идеология. как эта технология называется? COM, OLE или ActiveX?

Роджерсон: "Задача этой книги - отделить COM от OLE и уделить первой то внимание, которого она заслуживает. Я вообще не собираюсь обсуждать в этой книге OLE. Я хочу рассмотреть базовые механизмы COM."

значит, технология называется COM.


 
Aleksey Pavlov ©   (2004-08-11 04:10) [13]

IUnknown - идеалогия.
CoCreateInstance - технология.

Во-первых, из приведённой цитаты не следует, что COM - технология.
Во-вторых, я же сказал, что читать лучше в оригенале, т.к. перевод в некоторых местах неточный.

И вообще, как я понял мы немного о разных вещах разговариваем =)
Давай договоримся так: есть идеология (объектная компонентная модель - COM), на базе которой можно реализовать ту или иную технологию, а есть её конкретное воплощение в виде технологии (реализация технологии от компании Microsoft). IMHO это устроит всех =)

И вообще, спорим тут о технологиях и идеологиях, а о терминах не договорились, определений не дали ;)

Ладно, я спать, мне завтра на работу с утра идти - COM"ить :)


 
nikkie ©   (2004-08-11 04:56) [14]

>И вообще, спорим тут о технологиях и идеологиях, а о терминах не договорились, определений не дали ;)
думал я тебя попросить тебя дать определения, но решил, что это будет удар ниже пояса...

IMHO это устроит всех =)
ну вот и отлично. возвращаясь к баранам: раз есть такая технология, которую ты разрешил мне называть COM, то выживет ли она, когда произойдет .NET-ификация всего мира?


 
Aleksey Pavlov ©   (2004-08-11 05:31) [15]

.NET - в некотором смысле инкапсулирует COM(+), так что с этой точки зрения COM будет заменяться .NET"ом. Но сам COM не умрёт как таковой, т.к. за интерфейсами будующее.
А как создать объект автоматизации (или его аналог в .NET) мне лично всё равно: хоть предварительно вызывая CoInitialize, хоть какой-нибудь DotNetInitialize =) Главное, "что у ней внутрях".

Так что формально я согласен, что .NET рано или поздно "заменит" COM (как COM "заменил" OLE и DDE). Но от COM, как от идеологии никуда не денешься.

А вообще, все классные технологии в будующем сольются в одну единую, мощную, лаконичную, безошибочную, вечную и добрую технологию и наступит мир во всём Мире!!! =)
Но произойдёт это очччччеень не скоро, очень =)


 
nikkie ©   (2004-08-11 06:06) [16]

тяжело мне рассуждать на тему .NET, поскольку не вступил я еще в эту реку. но насколько я могу судить, идеология .NET отличается от идеологии COM.

где в .NET AddRef/Release? нету. вместо него хитрый сборщик мусора, не использующий счетчики ссылок.

где в .NET QueryInterface? нету. вместо него - обычное приведение типа.

где знаменитый HRESULT и if (SUCCEEDED(hr))? нету. вместо него - механизм исключений.

что же что из технологии COM пригодится в .NET? да практически ничего. разве что идеология интерфейсов. но идеология интерфейсов - это далеко не COM. иначе бы мы сказали, что Java - это среда разработки COM-приложений.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.037 c
14-1092041178
inic
2004-08-09 12:46
2004.08.29
В Delphi была горячая клавиша для вставки в редактор


1-1092238973
Случайно забежавший
2004-08-11 19:42
2004.08.29
Кнопки, созданные во время выполнения приложения


10-1032385659
epflorov
2002-09-19 01:47
2004.08.29
как указать порт для ORBa


4-1089985779
Анатолий
2004-07-16 17:49
2004.08.29
Закрыть хендл, принадлежащий чужому просессу.


3-1091627006
leonon
2004-08-04 17:43
2004.08.29
Многопоточность при работе с базой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский