Comparison between Browser Plugin and JavaScript for Rich Internet Applications

When it comes to the performance of my data intensive web application, which would be more efficient - a browser plug-in based RIA like SilverLight or a Java Script based RIA like ExtJS?

For now, let's set aside considerations about plug-in availability and focus solely on performance. Any insights or reasoning are welcomed.

Answer №1

When comparing Silverlight to Javascript in terms of computational efficiency, Silverlight tends to come out on top, especially with the advancements made in Silverlight 4 (which is said to be twice as fast computationally). However, pure number crunching speed may not always be the key factor to consider. For example, Chrome's Javascript engine is significantly faster than IE8's, yet a web application using ExtJS does not necessarily feel 10 times more responsive in comparison. The agility in manipulating object models appears to be crucial here, and HTML may face limitations in handling complex controls like grids in ExtJS.

An examination of the HTML structure produced by an ExtJS grid can reveal its complexity, with 13 layers between the outermost container and the cell content. This intricate layering is necessary to ensure proper functioning of HTML and CSS elements within the grid.

While it is logical to assume that Silverlight's object hierarchy is more streamlined due to its design capabilities, which include hardware acceleration, ultimately leading to superior performance results. Nonetheless, the overall speed issue may not pose a significant challenge when utilizing frameworks such as ExtJS, as they generally offer adequate performance for most applications.

Answer №2

It's difficult to determine the best option as it depends on various factors. However, a helpful resource to consider is Bubblemark. According to this benchmark, Silverlight 3.0 (with bitmap caching enabled) performs well, but the browser being used also plays a significant role. In terms of rendering performance, JavaScript with Chrome closely matches Silverlight. For more information, you can watch this video: http://www.youtube.com/watch?v=gqjidzjkMM0.

If you opt for Silverlight and have access to your WCF backend through Net.TCP, you can achieve efficient data access performance. It's likely to be faster than JavaScript due to avoiding HTTP overhead. However, comparing it to accessing FMS via RTMP would require further evaluation.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Differences between using a Javascript SDK and a PHP SDK when working with Facebook

Currently, my wordpress website allows login via Facebook using the JS SDK. I am new to Facebook's API and still trying to understand how it all works. Now, I want to implement various checks before allowing users to perform certain actions. For exam ...

Trouble with Colorbox loading? Here's a quick fix!

I'm experiencing a frustrating issue. Although I have successfully used colorbox in the past, it is not working on a new website I am developing. All necessary files, including jquery and colorbox, are located in the same directory as the html file. ...

From AJAX response to React state attribute, store the JSON data

I have a component where I need to fetch freight values via ajax and store them in the state property of this class. import React, { Component } from 'react'; import Freight from './Freight'; import CreateFreightEntryModal from '. ...

Creating new components within A-frame

I've been attempting to implement the bubble function into my scene to generate a sphere, but unfortunately nothing is showing up. Even when I try creating a sphere without using the bubble function, it still doesn't appear in the scene. func ...

What is the best way to tile textures in Three.js without causing distortion?

Despite trying various solutions, I am still facing an issue where my textures appear to be stretched or scaled based on the mesh size. In a bid to seek a resolution, here are some key points to note: All textures have dimensions of 64x64 pixels I have p ...

npm is consolidating all dependencies and their sub-dependencies into a single unified directory

My project has a package.json file with approximately 20 dependencies. Upon running npm install, all the dependencies and sub-dependencies end up in the main node_modules directory, resulting in hundreds of modules rather than just my intended 20. The sub- ...

Display or hide navigation item based on the success of a JavaScript post operation

Can I hide a nav-item in my navigation bar until I receive a response after submitting a form? The form sends data to an external API and upon successful submission, I want to display options on that specific nav-item. I can easily show the response but I ...

React app experiencing inconsistent loading of Google Translate script

In my React application, I have integrated the Google Translate script to enable translation functionality. However, I am facing an issue where the translator dropdown does not consistently appear on every page visit. While it sometimes loads properly, oth ...

Styling the border of elements with a data attribute set to "yes"

Managing a set of icons with customizable borders is the challenge I'm currently facing. The goal is to allow users to select up to 5 icons, with specific border colors assigned based on their selection order. The first selected icon should have a yel ...

Creating a New Form Dynamically and Using Ajax to Submit it

I am currently working on creating a form object in my code and populating it with data from input elements on the page. Instead of submitting an existing form via ajax, I want this submit action to extract information from 4 specific fields within the for ...

Sending back JSON arrays containing Date data types for Google Charts

One of my challenges involves using a 'Timelines' chart from Google Charts, which requires a JavaScript Date type when populating data. Here is my initial code snippet: var container = document.getElementById('divChart1'); var chart = ...

Modifying Extensive Settings within a jQuery User Interface Component

What is the most effective method for updating a deeply nested setting in a jQuery plugin once it has been initialized? $.widget("test.widget1", { options: { deepOption: { prop1: false, prop2: false } }, ...

Post request in ExpressJS fails to redirect user after submission

My current project involves developing a web application using NodeJS and ExpressJS. One issue I am encountering is with the login functionality on my website. After filling out the login form, the user's credentials are sent via a post request to the ...

jQuery load() function triggers unexpected error in jQuery plugin

Here is the current structure of my page: <body> <div id="menuBar"> </div> <canvas id="myCanvas" width="700" height="700" style="border:1px solid #000000;"></canvas> </body> <script src="../Scripts/jQuery.mazeBo ...

Ways to limit the options in a dropdown menu

Check out this JSFiddle link for reference. The JSFiddle showcases a dropdown field that dynamically adds values. The challenge is to prevent the first selected value from appearing in subsequent dropdowns, avoiding duplicate entries. How can I implement ...

Creating a custom JSON structure in React.js to calculate and display monthly amounts

I retrieved data from my API with the following structure: [{…}, {…}, {…}, {…}, {…}] Each object contains detailed information like this: { date: "2018-01-01" import: 1 }, { date: "2018-03-03" import: "10" }, { date: "2018-03-20" impor ...

Using JavaScript to show content in a textarea field

In my index.jsp file, I have implemented the following code to populate two textareas, INPUT_TEXT and INPUT_TEXT2, with processed data. This involves passing the text through a servlet, a Java class, and finally displaying the preprocessed results in the s ...

What is the process of assigning a string from an external PHP file to a JavaScript variable?

Recently, I've been experimenting with reading data from an external PHP file using Ajax. My goal is to store this data in a Javascript variable, but I'm unsure if my current approach is correct. Should I define the variable within the Ajax brack ...

What is the best method to retrieve an object using req.body?

For my new survey, I want users to input their own questions based on the type of survey (Multiple Choice or True/False). However, I am facing a challenge with accessing the QuestionText string in the "MC" object through req.body.Questions. Below is how my ...

What is the best way to change function.bind(this) to an arrow function in a react native application?

I am attempting to convert my function into an arrow function, but I keep encountering an error of undefined when passing props. <TextInput style={styles.input} value={formState.inputValues.title} onChangeText={textCh ...