Web Programmers, ActiveX Q

Is ActiveX necessary in building good Web Apps? I know many sites use AJAX and such for interactive web apps, but is it really comparable? Can you use AJAX for nearly every use?

I took a short VB class a few semesters ago so I could pick up writing them in VB, but is there a greater ease in writing them in C++? If so, should I bother trying to learn what I can of C++?

Also, does my web hosting server have to have special software to run the controls or is it all Browser side? (I can’t afford to license anything, so free is pretty important)

ActiveX and VB are proprietary applications created by Microsoft for optimum use only with Microsoft Internet Explorer. In recent years, the better browsers offer ActiveX plugins. However, ActiveX is often seen as a security hole to be exploited by the Dark Side.

Optimum use of Microsoft apps require your web host to offer the Microsoft web server (IIS) to function properly.

If you support the concept of web standards, don’t create web sites that use proprietary code. Of course, if your web site is internal to an organization you are free (restricted?) to whatever that organization may choose to use as its browser, and everything that it entails. However, if any federal taxes dollars are used to create a web site, Section 508 of the Rehabilitation Act of 1973 applies to that site. And, at present, a lawsuit against Target.com is proceeding, alleging that the American With Disabilities Act (ADA) applies to private, commercial web sites. We’ll see where that goes.

In essence, build your site according to web standards and not some proprietary system. You won’t run afoul with current and potentially future accessibility laws.

AFAIK, you can’t do anything on the user’s machine without using ActiveX. That makes it pretty much the only choice for certain applications.

There’s no real harm in writing them in VB, but if you’re really concerned about download size, C++ compilers may have better optimizations. If you’re using .net, it might not make that much of a difference.

You shouldn’t need any special hosting software, as the ActiveX control is downloaded to the user’s machine before it’s run.

There is Java as well as AJAX. There are plenty of choices if you look beyond what Microsoft chooses to tell you.

This article – Security Tradeoffs: Java vs. ActiveX – offers some initial insight. Also here.

I’ll avoid ActiveX if I can, which is sort of why I was wondering. I just want a solid, flexible program to write Web apps in, and wasn’t sure where to start in learning. AJAX sounds nice, XML seems simple enough, and JavaScript is very similar to Java (I took two semesters of Java, my second semester just ended). I don’t really want to do the whole web app in Java, as my person tastes tend to not like sites that run in Java.

I am thinking of looking in Ruby on Rails, any thoughts on that?

Epimetheus, be careful not to confuse those technologies which run on the backend (your web server) and those technologies that run on the client end (the users web-browser). ActiveX and Java Applets are client side. These two are generally best to be avoided unless you can’t do what your want with a combination of java-script/xhtml on the browser. (An example of this could be uploading multiple files. The upload html control, for security reasons, only allow you to upload one file at a time.) ActiveX can give you the ability to monkey with the user’s local machine, hence all the security risks.

AJAX, then, is nothing more than client side java-script which makes a call to the backend server to generate and dynamically changes a portion of the HTML on the page. It’s become big because before AJAX you would have to update the whole page to change a slice of it or a frowned apon client-side plugin (flash, activeX, applets, etc…)

On the backend you have many languages/tools you can use. Java (servlets and scriptlets), straight CGI (using Perl, Python, Ruby), PHP, etc, can all be used to generate dynamic content served back to the browser as html/xml.

Ruby on Rails is technially a Ruby CGI framework. I’ve done a fair number of Rails apps. It is slick and extremely fast to code. The quick coding comes at a price; the programmer doesn’t handle a lot of the nitty-gritty (a bad thing for me, good for some) and the rails framework isn’t the fastest thing in the world. Also you might have trouble finding hosting for rails apps, although this is increasingly less of a problem.

Now in my opinion, for small apps that won’t see tons and tons of users, I still prefer a straight CGI with perl or perl CGI and AJAX. If I have a large application to implement, at this point I’d use Java (Tomcat) or Ruby on Rails. I prefer Java coding to Ruby.

Hope that helps,

LarsenMTL