Frank Gerlach schrieb:
Ihr kennt sicher ActiveX - eine Microsoft-Technologie zum einbetten von executables in Webseiten.
Das Einbetten in Webseiten ist nur eine von vielen Anwendungen. ActiveX-Module sind letztlich nur dynamische Bibliotheken (also DLLs), die einem bestimmten COM-Interface genügen.
Zunaechst die Vorteile: -native Performanz weil Implementierung in beliebiger Sprache moeglich (inklusive C, Assembler)
Schlägst Du gerade vor, man solle Plug-Ins in Assembler schreiben? *entsicher_ak47*
-Speicherverbrauch ebenfalls potentiell sehr niedrig (wegen niedrigem Overhaed von C Datenstrukturen)
Man kann in jeder Sprache schlechte Programme schreiben.
Jetzt die Nachteile: -Der Nutzer muss dem Anbieter trauen, da ein ActiveX Objekt praktisch die gleichen Rechte wie beliebige andere Andwendungen besitzt.
Nö, besitzen sie nicht.
Warum diese Exkursion ? Ich denke, dass man die enormen Effizienzvorteile von ActiveX mit wirksamen Sicherheitsmechanismen "verheiraten" koennte. Zu diesem Zweck "sperrt" man einfach alle executables einer Website in einen Prozess ein, der per LSM (Linux Security Modules) stark eingeschraenkt wird: Zugriff nur auf Dateien, die von executables dieser Website angelegt wurden; Disk-quaotas pro Website; RAM Quotas usw. Zudem wuerde man ein Plugin fuer firefox(o.ae.) schreiben, welches diesen executables erlaubt, auf einen definierten Bereich des Bildschirms output zu schreiben sowie Input entgegen zu nehmen (falls dieser Bildschirmbereich den Fokus hat).
In der Theorie tut ActiveX das auch. Wenn Du aber dem Plug-In Zugriff auf die Platte gewähren willst, kannst Du es doch gleich ohne Browser laufen lassen.
Mit dieser Technologie koennte man alle Sicherheitsmerkmale von Java Applets vereinigen mit der Performance von native-Anwendungen. Zum Beispiel koennte man 3D-Action Spiele direkt in Webseiten einbauen. Jeder der sich mit Java auseinandergesetzt hat, weiss dass die Performanz und der Ressourcenverbrauch diese Technologie praktisch erledigt haben (mit Ausnahme von Datenbank- Anwendungen...)
Wenn Du Dich wirklich mit Java auseinandergesetzt hättest, dann wüßtest Du, dass es sich keinesfalls erledigt hat, im Gegenteil. Client-Server-Anwendungen werden zum überwiegenden Teil als Webanwendungen (mit Java-Application-Server-Backend) oder als reine Java-Anwendungen entwickelt (Beweis durch Behauptung!). Performance oder Ressourcenprobleme waren auch noch nie ein Grund, warum sich eine Technologie nicht durchgesetzt hat. Außerdem fragen sich die "Top-Entscheider" eher was ein GB Speicher und ein GHz Taktfrequenz kosten im Verhältnis zu Entwicklungs- und Deploymentzeit. Sieh Dir z.B. mal Java-Entwicklungsumgebungen an und wie erfahrene Entwickler damit umgehen. Da hast Du mit C+Editor+make nicht den Hauch einer Chance. Ehrlich. (KDevelop, Anjuta und Co. reißen es auch nicht raus)
Was meint Ihr dazu ?
Es stellt sich die Frage, warum man Platform-abhängige 3D-Spiele in Webseiten einbetten möchte, statt sie gleich direkt auf dem OS laufen zu lassen. Alles was weniger Performance-hungrig ist wird bereit in großem Stil mit Flash (oder wie immer das jetzt heißt) gemacht. Selbst Java sieht an der Stelle keinen Stich.
Was ist denn Dein Ziel dabei? Was möchtest Du in Webseiten einbetten, was vorhandene Technologien nicht schon bieten (von 3D-Spielen mal abgesehen).
Interessant waere auch die Frage, ob es etwas aequivalentes zum LSM auf Windoze gibt !
Das gibts doch was von Ratio^WVista...
Viele Grüße, Eric