Thursday, April 10, 2014

ActiveX and Microsoft .NET


ActiveX

ActiveX is a software application development framework Introduced by Microsoft in 1996. ActiveX framework was geared towards web application development by combining and adapted version of earlier COM (Component Object Model) with the Object Linking and Embedding Technologies (OLE) which is widely used for downloading contents from the websites. Although theoretically, ActiveX was created with intent to work on all the platforms but it is mostly used on window platforms and due to compiled code it is executed mostly with Intel x86 hardware machines.

Microsoft.NET

Microsoft.NET is an advanced software application development framework developed by Microsoft. .NET is basically a group of several application development technologies ranging from web, desktop to mobile applications. Microsoft .NET supports variety of languages and CLR makes it possible to integrate the modules developed in different languages.
This Article compares both of the above mentioned Microsoft Technologies in a tabular form. It explains the advantages of both ActiveX and Microsoft.NET framework and their downsides on the basis of certain attributes.

Property
ActiveX
Microsoft.NET
Window OS Portability
Works with all window versions except windows RT
Works only with advanced Windows Versions
Language Portability
Compatible with all windows based languages
Support Only .NET languages
Execution Speed
Might be faster in some scenarios due to unmanaged code execution
Slower at times due to managed code.
Application Access
Can be used by any application once installed.
Not all applications can use it and they require granular permissions  for access.
Installation Permission
Should be installed by admin only instead of copy pasting the DLL.
Do not require administrator permissions to be installed
Security
Extremely insecure because code is not managed before execution.
Much secure due to managed code.
dll Hell
DLL hell issue often arises in ActiveX framework because multiple applications are accessing same dll which might be update by one application while it is being used by the other
No Such issue in Microsoft.NET Frame work

Apart from the comparisons described above in the table there are few advantages of Microsoft Framework over the traditional ActiveX technology.

Some more Advantages of .NET over ActiveX

·      .NET assemblies after certain modifications in code can be used as ActiveX dlls by using the ActiveX wrapper. This is helpful in scenarios where you want to port your application from VB 6.0 to VB.NET which results in the usage of the application on 3rd party .NET interfaces along with 3rd party ActiveX interfaces.

Note:
ByteScout have products which can handle this scenario and allows user to port their applications.

·      Administrative permissions are not required in .NET for using ASP.NET applications.
·      ActiveX contains only unmanaged code which is a security risk. On the other hand .NET contains both unmanaged code for faster execution and managed code for security and granular control over the application.

Conclusion

Overall .NET Framework is much advanced, robust, secure and reliable to for application development and it supports variety of application development options,  on the other hand ActiveX is an older technology with certain security loop holes hence it should be avoided as much as possible.

No comments: