10/08/2006 Applet Pros: Can use full Java aPls Custom data streaming, graphic manipulation, threading, and advanced guls Well-established scheme Cons Code downloading time could be significant Use it if you are creating advanced uls on the client and downloading time is not a major concern First, let's talk about applet. Applet is Java application that gets downloaded and run within the context of a browser Because it is a Java application, you can use full Java APls And there are certain things you can do such as custom data streaming, graphic manipulation, and advanced UI operations which are not possible with other RIA technologies Applet technology has been around from the beginning of Java technology and is well understood. The downside is tha code downloading time could be significant especially it has to be downloaded every time the user accesses it So the recommendation is "use applets if you are creating advanced Uls leveraging full Java aPis and code downloading time is not a major issue
First, let's talk about applet. Applet is Java application that gets downloaded and run within the context of a browser. Because it is a Java application, you can use full Java APIs. And there are certain things you can do such as custom data streaming, graphic manipulation, and advanced UI operations which are not possible with other RIA technologies. Applet technology has been around from the beginning of Java technology and is well understood. The downside is that code downloading time could be significant especially it has to be downloaded every time the user accesses it. So the recommendation is “use applets if you are creating advanced UIs leveraging full Java APIs and code downloading time is not a major issue”. 11 Applet • Pros: > Can use full Java APIs > Custom data streaming, graphic manipulation, threading, and advanced GUIs > Well-established scheme • Cons: > Code downloading time could be significant • Use it if you are creating advanced UIs on the client and downloading time is not a major concern 10/08/2006
10/08/2006 Macromedia flash Designed for playing interactive movies Programmed with Action Script Implementation examples Macromedia Flex Laszlo suite(open source Pros Good for displaying vector graphics Cons Browser needs a Flash plug-in Action Script is proprietary The next Ria technology is Macromedia Flash. Flash was designed for playing interactive movies. It does come with its own scripting language called Action Script The implementation examples of flash technology is Macromedia Flex or laszlo suite which is open source based The nice thing about Flash is that because of its origin, it is very good for displaying vector graphics. A downside is that a browser has to have a flash plug-in in order to run Flash Another downside is that Action Script is proprietary technology
The next RIA technology is Macromedia Flash. Flash was designed for playing interactive movies. It does come with its own scripting language called ActionScript. The implementation examples of flash technology is Macromedia Flex or Laszlo suite which is open source based. The nice thing about Flash is that because of its origin, it is very good for displaying vector graphics. A downside is that a browser has to have a flash plug-in in order to run Flash. Another downside is that ActionScript is proprietary technology. 12 Macromedia Flash • Designed for playing interactive movies • Programmed with ActionScript • Implementation examples > Macromedia Flex > Laszlo suite (open source) • Pros: > Good for displaying vector graphics • Cons: > Browser needs a Flash plug-in > ActionScript is proprietary 10/08/2006
10/08/2006 ●S Java Webstart Desktop application delivered over the net Leverages the strengths of desktop apps and applet Desktop experience once loaded Leverages Java technology to its fullest extent Disconnected operation is possible Application can be digitally signed Incremental redeployment Cons Old JRE-based system do not work First-time download time could be still significant 13 Java Web Start technology basically lets a website to deliver desktop Java application over the net. In that sense, it is leveraging the strengths of applet and desktop applications The strength of an applet is its distribution model in which a user automatically gets alway to date code the weakness of the applet compared to desktop application, however, is that in order to use applet you have to have a network connection weakness of it is that it has to be manually installed on each client By using Java Web Start technology, you can install the desktop application as if it is an applet. Once installed, a Java application functions as if it is a standalone desktop application. Now each time you use the application, it checks automatically if there is a newer version or not. And only the pieces that are changed will be downloaded, which is called incremental redeployment The downside of Java Web Start is that the old JRE-base system, JDK 1.1 and below do not work with it since it is introduced from jDK 1.2 and the first time download time could be significant
Java Web Start technology basically lets a website to deliver desktop Java application over the net. In that sense, it is leveraging the strengths of applet and desktop applications. The strength of an applet is its distribution model in which a user automatically gets always up to date code. The weakness of the applet compared to desktop application, however, is that in order to use applet you have to have a network connection. The strength of a desktop application, on the other hand, is that a user can use the application in disconnected mode while the major weakness of it is that it has to be manually installed on each client. By using Java WebStart technology, you can install the desktop application as if it is an applet. Once installed, a Java application functions as if it is a standalone desktop application. Now each time you use the application, it checks automatically if there is a newer version or not. And only the pieces that are changed will be downloaded, which is called incremental redeployment. The downside of Java Web Start is that the old JRE-base system, JDK 1.1 and below, do not work with it since it is introduced from JDK 1.2 and the first time download time could be significant. 13 Java WebStart • Desktop application delivered over the net > Leverages the strengths of desktop apps and applet • Pros > Desktop experience once loaded > Leverages Java technology to its fullest extent > Disconnected operation is possible > Application can be digitally signed > Incremental redeployment • Cons > Old JRE-based system do not work > First-time download time could be still significant 10/08/2006
10/08/2006 ●S DHTML (Dynamic HTML) DHTML =JavaScript DOM+CSs Used for creating interactive applications No asynchronous communication, however Full page refresh still required Reason why it has only a limited success 14 Dynamic DHTML is basically combination of Java Script, DOM and CSS. And it has been used for creating interactive and responsive Web applications. However, DHTML alone still does not provide asynchronous communication, which means the full page refresh is still required. And this is the reason why dHTML has only a limited success
Dynamic DHTML is basically combination of JavaScript, DOM and CSS. And it has been used for creating interactive and responsive Web applications. However, DHTML alone still does not provide asynchronous communication, which means the full page refresh is still required. And this is the reason why DHTML has only a limited success. 14 DHTML (Dynamic HTML) • DHTML = JavaScript + DOM + CSS • Used for creating interactive applications • No asynchronous communication, however > Full page refresh still required > Reason why it has only a limited success 10/08/2006
10/08/2006 DHTML with Hidden iFrame IFrame was introduced as a programmable layout to a web page An iFrame is represented as an element of a dom tree You can move it, resize it, even hide it while the page is An invisible IFrame can add asynchronous behavior The visible user experience is uninterrupted-operational context is not lost It is still a hack I Frame was introduced a few years ago as a programmable layout to a web page. What this means is that an iframe is represented as an element of a dOM tree and you can move it, resize it, or even hide while the parent page that includes it is still visible to a user. Now what people found is that when you make the iframe as an hidden element, it can add asynchronous behavior to the web application meaning a user can continue to function while the iframe is retrieving the page in the background. This is basically providing AJAX-like behavior in which the visible end user experience is uninterrupted The downside is that iFrame is being used for the purpose it was not gned for. And there are in fact several limitations compared i, which I am not going into detail here
IFrame was introduced a few years ago as a programmable layout to a web page. What this means is that an iframe is represented as an element of a DOM tree and you can move it, resize it, or even hide it while the parent page that includes it is still visible to a user. Now what people found is that when you make the iframe as an hidden element, it can add asynchronous behavior to the web application meaning a user can continue to function while the iframe is retrieving the page in the background. This is basically providing AJAX-like behavior in which the visible end user experience is uninterrupted. The downside is that iFrame is being used for the purpose it was not designed for. And there are in fact several limitations compared AJAX, which I am not going into detail here. 15 DHTML with Hidden IFrame • IFrame was introduced as a programmable layout to a web page > An IFrame is represented as an element of a DOM tree > You can move it, resize it, even hide it while the page is visible • An invisible IFrame can add asynchronous behavior > The visible user experience is uninterrupted – operational context is not lost • It is still a hack 10/08/2006