Ingeniería Del Software II: AJAX Vs Silverlight

Total Page:16

File Type:pdf, Size:1020Kb

Ingeniería Del Software II: AJAX Vs Silverlight Ingeniería del Software II: AJAX vs Silverlight Diego Martín-Serrano Fernández Francisco José Oteo Fernández Jesús Martínez-Campos Martínez Índice 1. Introducción a Ajax...............................................................................................................3 2. Profundizando en Ajax.........................................................................................................4 2.1. Frameworks para desarrollo Ajax.....................................................................................5 3. Conclusión sobre Ajax.........................................................................................................6 4. Introducción a Silverlight......................................................................................................7 5. Profundizando en Silverlight................................................................................................8 6. Conclusión sobre Silverlight..............................................................................................10 7. Comparativa Ajax vs Silverlight..........................................................................................11 8. Bibliografía..........................................................................................................................14 Índice de tablas Tabla 1. Posibles valores del atributo readyState del objeto XMLHTTPRequest....................4 Tabla 2. Frameworks para el lado del servidor, según el lenguaje de programación.............6 Tabla 3. Comparativa características técnicas Silverlight & Ajax..........................................12 Tabla 4. Comparativa de las capacidades 3D para las tecnologías Silverlight & Ajax..........13 1. Introducción a AJAX AJAX, del inglés Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una tecnología de desarrollo web utilizada para crear RIA (Rich Internet Applications). La idea es hacer que lo que está en Internet parezca que es una aplicación local dando una rica experiencia de usuario y ofreciendo características que normalmente sólo aparecen en aplicaciones de escritorio. El término AJAX fue acuñado por Jesse James Garret en 2005. AJAX en realidad es un conjunto de tecnologías que trabajan juntas para mejorar la experiencia del usuario: ● XHTML (o HTML) y CSS para mostrar la página. ● DOM (Document Object Model) + lenguaje ECMAScript (implementación JavaScript o Jscript) para modificar la página sin ser recargada. ● Objeto XMLHttpRequest para hacer las peticiones AJAX al servidor. ● XML, JSON, HTML o texto plano para mostrar la información. No es necesario que el contenido esté formateado en XML. Tampoco es necesario que las peticiones AJAX sean asíncronas. Navegadores que permiten AJAX (es decir, tienen implementado el objeto XMLHttpRequest): ● Los basados en Gecko (como Mozilla Firefox, Epiphany, Netscape, etc) ● Los basados en KHTML (como Konqueror y Safari) ● Google Chrome ● Internet Explorer 5.0 y superior ● Opera 8.0 y superior ● Navegadores móviles, como el navegador de la S60 de Nokia a partir de la tercera generación o Opera Mobile Browser 8.0 y superior Los navegadores antiguos, basados en texto y para invidentes no soportan AJAX. Aunque AJAX es un estándar del W3C, cada navegador (sobre todo versiones antiguas) ha llamado al objeto XMLHttpRequest de una manera diferente, por lo que hay que diferenciar entre cada navegador o tipo de navegador a la hora de crear el objeto. 2. Profundizando en AJAX El objeto XMLHttpRequest es el núcleo de las aplicaciones AJAX. Su especificación es la siguiente. XMLHttpRequest <<property>> +readyState : int <<property>> +responseText : string <<property>> +responseXML : document <<property>> +responseBody : byteArray <<property>> +status : int <<property>> +statusText : string <<event>> +onloadstart <<event>> +onprogress <<event>> +onabort <<event>> +onload <<event>> +onloadend <<event>> +onreadystatechange +abort():void +getAllResponseHeaders():string +getResponseHeader(header:string):string +open(method:string, url:string):void +send(content) +setRequestHeader(header:string, value:string):void +setResponseHeader(header:string, value:string):void La propiedad status contiene el código del resultado de la conexión HTTP: 200 (correcto), 404 (no encontrado), 500 (error del servidor), etc. El estado del objeto (atributo readyState) puede tener los valores mostrados en la tabla 1. Estado Valor Descripción Observaciones Sin inicializar 0 No se ha llamado a open() Cargando 1 Abierta (open). No se ha llamado a send() Cargando 2 Enviado. Se ha Cabeceras y estado llamado a send() disponibles. Interacción 3 Descargando o responseText tiene recibiendo datos parciales Completado 4 Operación completa Datos recibidos Tabla 1. Posibles valores del atributo readyState del objeto XMLHTTPRequest. 2.1. Frameworks para desarrollo AJAX Un framework de desarrollo AJAX es un framework que ayuda a desarrollar aplicaciones web que utilizan AJAX. Los datos se leen del servidor o se envían al mismo con peticiones Javascript. Sin embargo, puede que se necesite algún tipo de proceso en el servidor para manejar estas peticiones, como encontrar y almacenar los datos. Esto se puede llevar a cabo más facilmente con el uso de un framework dedicado a procesar las peticiones AJAX. El objetivo del framework es proveer un motor AJAX y funciones asociadas en el lado del cliente y en el lado del servidor. De esta forma, existen dos tipos de framework para el desarrollo de aplicaciones AJAX: ● Frameworks para el desarrollo en Javascript del Cliente. Simplifican el desarrollo de aplicaciones web que utilizan AJAX, evitando tener que controlar el objeto XMLHttpRequest “a mano”. ● Frameworks para el desarrollo del Servidor. Simplifican el desarrollo del servidor a la hora de generar los contenidos XML que se enviarán al cliente y procesar las peticiones enviadas por el cliente. Dentro del primer tipo (Javascript en el Cliente) podemos encontrar los siguientes frameworks: ● Prototype. Es uno de los más importantes. Viene incluído en el framework Ruby on Rails. ● jQuery. Incluida por Microsoft y Nokia en sus entornos de desarrollo. ● script.aculo.us. Basado en Prototype, permite todo tipo de efectos visuales, incluyendo drag&drop. También viene incluído con Ruby on Rails. ● ExtJS. Inicialmente era una extensión de YUI, jQuery y Prototype. Actualmente puede utilizarse como framework independiente. ● Mootools (My object oriented tools). Tiene de una API más enfocada a la Programación Orientada a Objetos. ● Yahoo UI Library (YUI). Incluye una serie de controles, utilidades y recursos para el desarrollo web. Dojo toolkit. Incluye widgets (controles) de diferentes tipos y skins para los mismos, además de soporte AJAX y almacén de datos en el cliente y en el servidor. Dentro del segundo tipo de framework (en el lado del servidor) podemos encontrar los siguientes frameworks: Lenguaje Frameworks Java DWR, Google Web Toolkit (GWT). Python Django, TurboGears, Pyjamas Ruby Ruby on Rails .NET ASP.NET AJAX (anteriormente Microsoft Atlas) C++ Wt PHP Quicknet, Sajax, Xajax Tabla 2. Frameworks para el lado del servidor, según el lenguaje de programación. Algunos de estos frameworks (como Pyjamas, un port a Python de GWT, o el mismo GWT) no se utilizan únicamente en el servidor, si no que generan automáticamente código javascript. Son compiladores python-javascript o java-javascript. 3. Conclusión sobre Ajax La principal ventaja de AJAX sobre otras plataformas para desarrollo de RIAs (Rich Internet Applications) es que es un estándar del W3C. Por esta razón cualquier software puede realizar su propia implementación del estándar (objeto XMLHttpRequest). De esta manera una aplicación AJAX se ejecuta en cualquiera de los navegadores más populares, independientemente de su sistema operativo y arquitectura. Otras tecnologías similares como Adobe Flash o Microsoft Silverlight son propietarias: sólo funcionan en los navegadores soportados por dichas empresas y únicamente utilizando su propio producto. La combinación de AJAX con el nuevo estándar HTML5 permite el desarrollo de aplicaciones con una mejor experiencia gráfica. También pueden utilizarse efectos gráficos en 3D con el uso de X3D. 4. Introducción a Silverlight Microsoft Silverlight es un complemento de Microsoft que nos permite desarrollar aplicaciones enriquecidas para la web. Silverlight funciona sobre varias plataformas y múltiples exploradores y proporciona una nueva generación de experiencias de usuario basadas en .NET. Tras una descarga que se instala en segundos, Silverlight posibilita una nueva plataforma rica, segura y escalable. Silverlight ofrece un modelo de programación flexible y coherente compatible con lenguajes .NET como Visual Basic, C# y F#, y otros como AJAX, Python, Ruby y que además se integra con las aplicaciones web existentes. Silverlight supone una nueva forma de aprovechar los elementos multimedia en los principales navegadores entre los que se incluyen Firefox, Safari e Internet Explorer tanto en MacOS como en Windows. Sirve por tanto como estructura para complementar las aplicaciones web que agrega nuevas funciones multimedia como la reproducción de vídeos, gráficos vectoriales, animaciones e interactividad, en forma similar a lo que hace Adobe Flash. Silverlight compite con Adobe Flex, NexaWeb, OpenLaszlo y algunas presentaciones de componentes AJAX. La primera versión de Silverlight fue lanzada en septiembre de 2007 y actualmente su versión 4.0 se distribuye de forma gratuita. 5. Profundizando en Silverlight Vamos a ver qué cosas
Recommended publications
  • Rich Internet Applications
    Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight Master of Science Thesis in the Programme Software Engineering and Technology CARL-DAVID GRANBÄCK Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG Göteborg, Sweden, October 2009 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight CARL-DAVID GRANBÄCK © CARL-DAVID GRANBÄCK, October 2009. Examiner: BJÖRN VON SYDOW Department of Computer Science and Engineering Chalmers University of Technology SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering Göteborg, Sweden, October 2009 Abstract This Master's thesis report describes and compares the three Rich Internet Application !RIA" frameworks Adobe Flex, JavaFX and Microsoft Silverlight.
    [Show full text]
  • THE FUTURE of SCREENS from James Stanton a Little Bit About Me
    THE FUTURE OF SCREENS From james stanton A little bit about me. Hi I am James (Mckenzie) Stanton Thinker / Designer / Engineer / Director / Executive / Artist / Human / Practitioner / Gardner / Builder / and much more... Born in Essex, United Kingdom and survived a few hair raising moments and learnt digital from the ground up. Ok enough of the pleasantries I have been working in the design field since 1999 from the Falmouth School of Art and onwards to the RCA, and many companies. Ok. less about me and more about what I have seen… Today we are going to cover - SCREENS CONCEPTS - DIGITAL TRANSFORMATION - WHY ASSETS LIBRARIES - CODE LIBRARIES - COST EFFECTIVE SOLUTION FOR IMPLEMENTATION I know, I know, I know. That's all good and well, but what does this all mean to a company like mine? We are about to see a massive change in consumer behavior so let's get ready. DIGITAL TRANSFORMATION AS A USP Getting this correct will change your company forever. DIGITAL TRANSFORMATION USP-01 Digital transformation (DT) – the use of technology to radically improve performance or reach of enterprises – is becoming a hot topic for companies across the globe. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-02 Companies face common pressures from customers, employees and competitors to begin or speed up their digital transformation. However they are transforming at different paces with different results. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-03 Successful digital transformation comes not from implementing new technologies but from transforming your organisation to take advantage of the possibilities that new technologies provide.
    [Show full text]
  • Open Source Web GUI Toolkits
    Open Source Web GUI Toolkits "A broad and probably far too shallow presentation on stuff that will probably change 180 degrees by the time you hear about it from me" Nathan Schlehlein [email protected] 1 Why Web Developers Drink... Can't get away with knowing one thing A Fairly Typical Web App... ➔ MySQL – Data storage ➔ PHP – Business logic ➔ Javascript - Interactivity ➔ HTML – Presentation stuff ➔ CSS – Presentation formatting stuff ➔ Images – They are... Purdy... ➔ httpd.conf, php.ini, etc. Problems are liable to pop up at any stage... 2 The Worst Thing. Ever. Browser Incompatibilities! Follow the rules, still lose Which is right? ➔ Who cares! You gotta make it work anyways! Solutions More work or less features? ➔ Use browser-specific stuff - Switch via Javascript ➔ Use a subset of HTML that most everyone agrees on 3 Web Application? Web sites are... OK, but... Boring... Bounce users from page to page Stuff gets messed up easily ➔ Bookmarks? Scary... ➔ Back button 4 Why A Web Toolkit? Pros: Let something else worry about difficult things ➔ Layout issues ➔ Session management ➔ Browser cross-compatibility ➔ Annoying RPC stuff 5 >INSERT BUZZWORD HERE< Neat web stuff has been happening lately... AJAX “Web 2.0” Google maps Desktop app characteristics on the web... 6 Problem With >BUZZWORDS< Nice, but... Lots of flux ➔ Technology ➔ Expectations of technology Communications can get tricky Yet another thing to program... ➔ (Correctly) 7 Why A Web Toolkit? Pros: Let something else worry about difficult things ➔ Communications management ➔ Tested Javascript code ➔ Toolkit deals with changes, not the programmer 8 My Criteria Bonuses For... A familiar programming language ➔ Javascript? Unit test capability ➔ Test early, test often, sleep at night Ability to incrementally introduce toolkit Compatibility with existing application Documentation Compelling Examples 9 Web Toolkits – Common Features ■ Widgets ■ Layouts ■ Manipulation of page elements DOM access, etc.
    [Show full text]
  • Design of a Service-Oriented Dashboard
    DESIGN OF A SERVICE-ORIENTED DASHBOARD by GAYATHRI SUNDAR MURAT M. TANIK, COMMITTEE CHAIR DAVID G. GREEN GARY J. GRIMES JOHN L. HARTMAN IV A THESIS Submitted to the graduate faculty of The University of Alabama at Birmingham, in partial fulfillment of the requirements for the degree of Master of Science BIRMINGHAM, ALABAMA 2007 ii DESIGN OF A SERVICE-ORIENTED DASHBOARD GAYATHRI SUNDAR ELECTRICAL ENGINEERING ABSTRACT Service-Oriented Enterprises are currently focused on offering enhanced user ex- periences to customers, employees, and enterprise partners who use the enterprise’s soft- ware applications. A better user experience is delivered through the presentation of ser- vices and business processes to the user in a composite manner, and by facilitating a bet- ter user-application interaction for the user. Our experience with the bioinformatics do- main helped us to see that although existing models of enterprise portals offer an inte- grated environment to present applications and enterprise resources, they are not suffi- cient to address certain complex user-application interactions. In this thesis, we present a design for a Service-Oriented Dashboard to address this deficiency. The service-oriented dashboard leverages Service-Oriented Architecture to pre- sent an integrated environment to access and interact with the diverse and isolated soft- ware tools, applications, and resources of an enterprise. We address the design of the dashboard at three levels: the presentation layer, the task composition layer, and the ser- vices layer. We introduce in the thesis the notion of describing the user’s job function as a composition of tasks. Users, through this approach, will be able to compose applica- tions according to the user’s tasks.
    [Show full text]
  • Using the Dojo Toolkit in a Webworks Application Michelle Mendoza RIM Developer Relations Dylan Schiemann Co-Founder of Dojo Toolkit & CEO of Sitepen Inc
    Using the Dojo Toolkit in a WebWorks application Michelle Mendoza RIM Developer Relations Dylan Schiemann Co-founder of Dojo Toolkit & CEO of SitePen Inc. Agenda What is Dojo? Using the Dojo Mobile package Dojo Mobile Application Demos Basic Code Walkthrough Q&A 2 Dojo Toolkit Build sophisticated Web apps http://dojotoolkit.org/ Supports multiple browsers Enables rapid development Philosophy: Push the limits (SVG, WebGL, HTML5) Define & adopt defacto standards Developer productivity & tools Open, free & liberally licensed Toolkit Components Dojo – also known as “core”, AJAX, DOM manipulation, class-like programming, events Dijit – extensive set of UI components known as widgets DojoX – collection of packages and modules built upon Dojo core and Dijit dojox/mobile dojox/gfx dojox/charting and many more Util – utility scripts Create optimized builds DOH: Dojo Objective Harness 4 Dojo 1.8 Dojo 1.8 Improvements Performance optimizations New widgets added 175 sub-packages and 1400 modules Much improved documentation 5 AMD - Asynchronous Module Definition Mechanism allows modules and dependencies to be loaded asynchronously Asynchronous format reduces app loading time Better performance, easier code handling Only load the modules you require Dojo has a lightweight AMD loader of < 4kb Reduce page load time by up to 10x 6 Interactive Experience Grid displays Dynamic charts Various Form Controls and Form Validators Cross Platform graphics Mapping using OpenLayers Animated effects Gauges 7 Interactive Experience
    [Show full text]
  • Javascript Hijacking Brian Chess, Yekaterina Tsipenyuk O'neil, Jacob West
    JavaScript Hijacking Brian Chess, Yekaterina Tsipenyuk O'Neil, Jacob West March 12, 2007 Summary An increasing number of rich Web applications, often called AJAX applications, make use of JavaScript as a data transport mechanism. This paper describes a vulnerability we term JavaScript Hijacking, which allows an unauthorized party to read sensitive data contained in JavaScript messages. The attack works by using a <script> tag to circumvent the Same Origin Policy enforced by Web browsers. Traditional Web applications are not vulnerable because they do not use JavaScript as a data transport mechanism. We analyzed the 12 most popular AJAX frameworks, including 4 server-integrated toolkits – Direct Web Remoting (DWR), Microsoft ASP.NET AJAX (a.k.a. Atlas), XAJAX and Google Web Toolkit (GWT) -- and 8 purely client-side libraries -- Prototype, Script.aculo.us, Dojo, Moo.fx, jQuery, Yahoo! UI, Rico, and MochiKit. We determined that among them only DWR 2.0 implements mechanisms for preventing JavaScript Hijacking. The rest of the frameworks do not explicitly provide any protection and do not mention any security concerns in their documentation. Many programmers are not using any of these frameworks, but based on our findings with the frameworks, we believe that many custom-built applications are also vulnerable. An application may be vulnerable if it: • Uses JavaScript as a data transfer format • Handles sensitive data We advocate a two-pronged mitigation approach that allows applications to decline malicious requests and prevent attackers from directly executing JavaScript the applications generate. 1. Introduction1 Although the term “Web 2.0” does not have a rigorous definition, it is commonly used in at least two ways.
    [Show full text]
  • Paweł Rajba [email protected]
    Paweł Rajba [email protected] http://itcourses.eu/ Wprowadzenie Zalety Wady XMLHttpRequest AJAX w praktyce AJAX + jQuery SOP, CORS i JSONP Literatura Z czego się składa? . JavaScript + DOM . Obiekt XMLHttpRequest . Jakakolwiek technologia po stronie serwera AJAX to nic nowego (w pewnym sensie) . Technoogie w roku 1998 . Artykuł Jesse James Garreta w roku 2005 Jak to działa? . Nagłówek X-Requested-With: XMLHttpRequest Aplikacje są bardziej interaktywne . Szybsza aktualizacja treści na stronie . Mniejsze zużycie pasma Daje możliwość tworzenia bardziej rozbudowanych interfejsów użytkownika Wykorzystuje istniejące technologie Domyślnie aplikacja widoczna pod tylko jednym adresem: . Nie działa przycisk wstecz, który wg raportu Jacoba Nielsena jest pod drugą pod względem użyteczności funkcją nawigacyjną . Stan aplikacji jest reprezentowany przez adres URL ▪ przez co nie można go zapisać np. do zakładek ▪ uniemożliwia to reklamę ,,pantoflową’’ jak też zwykłe przesyłanie linków znajomym . Można to obejść, ale wymaga dodatkowej pracy Silniki wyszukiwarek mogą mieć problemy z poprawnym indeksowaniem stron Trudniej debugować Trudniej testować Metody obiektu XMLHttpRequest . abort() – przerywa żądanie . getResponseHeader( klucz ) – pobiera wartość pola nagłówka http . open( metoda, Uri, [async, [nazwa_użytkownika, [hasło]]]) – określa parametry żądania: ▪ metoda – GET lub POST ▪ Uri – adres żądania ▪ async – czy asynchronicznie (domyślnie true) ▪ użytkownik, hasło – możemy podać, jeśli dostęp do zasobu wymaga uwierzytelnienia
    [Show full text]
  • Open Source Bridge Touchscreen Presentation
    Interactive kiosk display framework Peter Krenesky ([email protected]) Rob McGuire-Dale ([email protected]) http://trac.osuosl.org/touchscreen What is Touchscreen? Interactive kiosk display framework that is: Portable Plugin-based Simple and flexible API Open-source How can Touchscreen be used? Interactive information kiosks How can Touchscreen be used? Public information displays Touchscreen demonstration How we use Touchscreen at the Open Source Lab Technologies in Touchscreen How Touchscreen is built Languages in Touchscreen HTML & CSS JavaScript jQuery (sexy JavaScript library) Raphael (JavaScript SVG graphics library) Python Django (server-side web framework) Twisted (python networking engine) Why not Flash or OpenLaszlo? Original Touchscreen (v1.0) was OpenLaszlo (compiles to Flash) Pros Touchscreen 1.0 Fast Javascript support Could parse XML feeds Cons Niche language poor HTML integration OpenLaszlo has annoying syntax <include href="lib/lzx/screen.lzx" /> <!-- FTP User Map --> <dataset type="http" name="dset_ftpUserMap" src="http://ftp-osl.osuosl.org:8000/"> </dataset> <datapointer xpath="dset_ftpUserMap:/rss/channel" rerunxpath="true"> <method event="ondata"> var label = this.xpathQuery('item[1]/title/text()'); var lat = this.xpathQuery('item[2]/title/text()'); var lon = this.xpathQuery('item[3]/title/text()'); screen_osl_ftpusersmap.createPoint(lat,lon, label); label = null; lat = null; lon = null; </method> </datapointer> <include href="lib/lzx/circle.lzx"/> <resource name="ftpusermap" src="screens/ftpmap/map_1360nolabel.png"/> <include href="screens/ftpmap/ftpusersmap.lzx"/> Why SVG and not canvas? SVG objects can: can be styled with css be manipulated with jQuery receive javascript events Speed Differences SVG better for large objects Canvas better for many smaller objects Conclusion SVG for interactivity Canvas for many animated objects Raphaël: a javascript SVG library provides easy API on top of SVG.
    [Show full text]
  • Interfacing Openlaszlo Applications to Web Services
    1 Interfacing OpenLaszlo Applications to Web Services An Excerpt from “Laszlo in Action” By Norman Klein and Max Carlson with Glenn MacEwen Early Access Release: January 2007 Print Release: November 2007 | 500 pages ISBN: 1-932394-83-4 www.manning.com/laszloinaction For Source Code, Free Chapters, the Author Forum and more information about this title please go to www.manning.com/laszloinaction 1 2 Interfacing OpenLaszlo Applications to Web Services If you've been enviously eyeing the RIA capabilities of OpenLaszlo, but been daunted by its interface requirements, then you'll be glad to know that interfacing to OpenLaszlo is just like that old Talking Heads song "same as it ever was". In other words, OpenLaszlo uses the same HTTP standards that you're familiar with; allowing OpenLaszlo applications to co-exist with your HTML web applications to further leverage your server-side web services. All OpenLaszlo communications with the server are still based on sending and receiving HTTP requests and responses. OpenLaszlo operates just like Ajax by requiring HTTP responses to be composed of XML instead of HTML. The technical term for this is a ReST-based "XML-over-HTTP" service, but this is only a fancy way of describing the familiar operation of the web. So why does it use XML and not HTML? Since an RIA can provide a superior visual presentation, only the data is needed as the HTML presentation details are superfluous. OpenLaszlo's compliance to open standards allows it to interface to any HTTP web server; ranging from basic HTTP web servers such as Apache, Jetty or Microsoft's IIS to the different web frameworks such as Struts, Tapestry, Ruby on Rails, Microsoft .Net that work with servlet containers to provide enterprise class services.
    [Show full text]
  • Ajax for Dummies (2006).Pdf
    01_785970 ffirs.qxp 1/20/06 10:51 AM Page iii Ajax FOR DUMmIES‰ by Steve Holzner, PhD 01_785970 ffirs.qxp 1/20/06 10:51 AM Page ii 01_785970 ffirs.qxp 1/20/06 10:51 AM Page i Ajax FOR DUMmIES‰ 01_785970 ffirs.qxp 1/20/06 10:51 AM Page ii 01_785970 ffirs.qxp 1/20/06 10:51 AM Page iii Ajax FOR DUMmIES‰ by Steve Holzner, PhD 01_785970 ffirs.qxp 1/20/06 10:51 AM Page iv Ajax For Dummies® Published by Wiley Publishing, Inc. 111 River Street Hoboken, NJ 07030-5774 www.wiley.com Copyright © 2006 by Wiley Publishing, Inc., Indianapolis, Indiana Published by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permit- ted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at http://www.wiley.com/go/permissions. Trademarks: Wiley, the Wiley Publishing logo, For Dummies, the Dummies Man logo, A Reference for the Rest of Us!, The Dummies Way, Dummies Daily, The Fun and Easy Way, Dummies.com, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc.
    [Show full text]
  • The Effect of Ajax on Performance and Usability in Web Environments
    The effect of Ajax on performance and usability in web environments Y.D.C.N. op ’t Roodt, BICT Date of acceptance: August 31st, 2006 One Year Master Course Software Engineering Thesis Supervisor: Dr. Jurgen Vinju Internship Supervisor: Ir. Koen Kam Company or Institute: Hyves (Startphone Limited) Availability: public domain Universiteit van Amsterdam, Hogeschool van Amsterdam, Vrije Universiteit 2 This page intentionally left blank 3 Table of contents 1 Foreword ................................................................................................... 6 2 Motivation ................................................................................................. 7 2.1 Tasks and sources................................................................................ 7 2.2 Research question ............................................................................... 9 3 Research method ..................................................................................... 10 3.1 On implementation........................................................................... 11 4 Background and context of Ajax .............................................................. 12 4.1 Background....................................................................................... 12 4.2 Rich Internet Applications ................................................................ 12 4.3 JavaScript.......................................................................................... 13 4.4 The XMLHttpRequest object..........................................................
    [Show full text]
  • Copyrighted Material
    15_043067 bindex.qxd 6/15/06 7:38 PM Page 330 INDEX accessing XML on server, 172–173 A downloading and installing, 170–171, 176 absolute positioning, 288–289 downloading XML data, 174–175 add function, 40–41 stripping out whitespace, 172, 173, 174 addition function for XML data extraction, 82–83 URL encoding, 171 addition operator (+) (JavaScript), 40, 44, 45 alert boxes Ajax (Asynchronous JavaScript + XML). See also Ajax display by JavaScript function, 30–31 XMLHttpRequest frameworks; object displaying, 28–29 advantages, 2, 3, 62 displaying text from text fields, 37 attributes, 29, 262–263 aligning text in CSS, 278–279 downloading JavaScript, 94–95 AND logical operator (JavaScript), 53 event attributes, 29 anonymous JavaScript functions, 68 example of data Submit and fetch, 4–5 Apache Tomcat Java-based server, 231 XMLHttpRequest importance of object, 62 Apple Safari, 63 server-side scripts and PHP used with, 76–77 arguments, passing to functions, 38–39 Ajax frameworks arithmetic operators (JavaScript), 45 ! caution: importance of files and placement, 152 assignment operators (JavaScript), 44, 45 resultXML ! caution: naming global variable “ ”, 171, 175 asynchronous versus synchronous requests, ! caution: on use of global variables, 155, 159 178, 180 advantages, 152–153 attributes (Ajax), 29, 262–263 Ajax tag library, 236–239 autocomplete capability AJAXLib Ajax framework, 170–175 example demonstration site, 8–9 browser-based versus server-side, 152 support for, in Ajax tag library, 236–237 downloadable and free, 182 installing and allowing
    [Show full text]