Playing Around with AJAX Frameworks and Toolkits

Total Page:16

File Type:pdf, Size:1020Kb

Playing Around with AJAX Frameworks and Toolkits Playing Around with AJAX Frameworks and Toolkits Sang Shin, Michèle Garoche, www.javapassion.com/ajaxcodecamp, class forum This hands-on lab takes you through the demo sites of the various AJAX frameworks and toolkits. The goal of this hands-on lab is to let you experience some of the capabilities of these frameworks and toolkits through their online demos. It is not expected you understand how things are done. Please feel free to explore and experiment the capabilities of these frameworks and toolkits on your own. Expected duration: 120 minutes Software Needed You only need a browser. Change Log • Nov. 14th, 2007: ExtJS link is added • Dec. 7th, 2007: Pictures are updated • Aug. 6th, 2009: The links and pictures are updated, jQuery and ZK framework are added • Oct. 9th, 2009: Links and screenshots have been updated/added, YUI 3 and Echo3 frameworks have been added. Lab Exercises You will need an internet connection for all exercises. • Exercise 1: Client side JavaScript toolkit libraries (30 minutes) • Exercise 2: AJAX-enabled JSF components (20 minutes) • Exercise 3: ZK framework (20 minutes) • Exercise 4: Google Web Toolkit (20 minutes) • Exercise 5: Direct Web Remoting (DWR) (20 minutes) • Exercise 6: AJAX-enabled Web application frameworks (Wicket, Echo2) (20 minutes) • Homework exercise (for people who are taking Sang Shin's "AJAX online course") - This is optional Exercise 1: Play around with Client side JavaScript toolkit libraries In this exercise, you are going to play around various client side Java Script library toolkits through their online demo site. 1. Dojo toolkit 2. Script.sculo.us 3. Rico 4. DHTML Goodies 5. Yahoo! User Interface Library 6. ExtJS 7. jQuery 8. Spry framework for Ajax 9. Zimbra Kabuki (1.1) Dojo toolkit 0. Watch 8 minutes QuickTime intro on Dojo toolkit from inforworld.com 1. Go to Dojo toolkit demo site. Figure-1.10: Dojo toolkit demo site return to top of the exercise (1.2) Script.sculo.us 1. Go to Script.sculo.us home site. return to top of the exercise (1.3) Rico 0. If you have internet connection, watch 8 minutes QuickTime intro on Rico from inforworld.com. 1. From your browser, go to Rico demo site. 2. Click the various demo links (in the live page not in the picture below) (Figure-1.30 below) Figure-1.30: Rico demo site 3. Try Javascript Updater under AJAX DEMOS section. (Figure-1.31a below) Figure-1.31a: JavaScript Updater of Rico • Click one of the names in the drop-down menu items on the left and then observe the name and address are changed in the actual form letter on the right. Figure-1.31b: Dynamic changes in JavaScript Updater of Rico 4. Try Custom Draggable under DRAG & DROP DEMOS section. (Figure-1.32 below) Note for Mac OS X users: this feature does not work with Safari nor Firefox, but it works with Camino. • Drag a name under the available name-list section on the left and drop it under dropped name-list section on the right. • Observe that the names are dropped and also observe that drop-n-drop message log section has startDrag and endDrag for drap and drop activity. Figure-1.32: Custom Draggable 5. Try Custom Drop Zone under DRAG & DROP DEMOS section. (Figure-1.33 below) Note for Mac OS X users: this feature does not work with Safari nor Firefox, but it works with Camino. • Drag and a name from the name-list section and drop it in one of the 3 drop sections. • Observer that you can drop a name only in one of the three sections that it belongs to. Figure-1.33: Custom Drip Zone 6. Try Accordion under BEHAVIOR DEMOS section. (Figure-1.34 below) • Observe that Accordion behavior. Figure-1.34: Accordion of Rico 7. Try Weather Widget under BEHAVIOR DEMOS section. (Figure-1.35 and Figure-1.36 below) • Enter a zip code and click Lookup. Figure-1.35: Try Weather Widget • Observe that the Accordion enabled Weather information is displayed. Figure-1.36: Observe the Weather information 8. Try LiveGrid - Data Table under BEHAVIOR DEMOS section. (Figure-1.37 below) • Type Star in the Title field and observe that the titles with Star are displayed. Figure-1.36: LiveGrid - Data Table return to top of the exercise (1.4) DHTML Goodies 1. From your browser, go to dhtmlgoodies.com home site. 2. Try Menu Script demos. • Click Menu Scripts on the left. (FIgure-1.40 below) Figure-1.40: Select Menu Scripts • Click demo link under DHTML Menu for applications. (Figure-1.41 below) Figure-1.41: Click DHTML Menu demo • Observe that several menu options are displayed. • Try Fourth menu which supports side pop-up style expansion. 3. Try Window Scripts. • Select one of the window and drag it around. • Resize one of the windows. 4. Try other features. return to top of the exercise (1.5) Yahoo! User Interface Library 0. If you have internet connection, watch 8 minutes QuickTime intro on Yahoo UI Library from inforworld.com. 1. From your browser, go to Yahoo! User Interface Library site. We are going to explore first YUI 2 library. 2. Click Get Started with YUI 2. (Figure-1.70a below) Figure-1.70a: The YUI Library site 3. Click Animation (or other links) link under YUI 2 Utilities. (Figure-1.70 below) Figure-1.70: Try YUI 2 Utilities 4. Click Examples link. (Figure-1.71 below) Figure-1.71: Examples 5. Click various animations. (Figure-1.72 below) Figure-1.72: Try various animations The YUI 3 Library has been released at the end of September 2009. 6. From your browser, go back to Yahoo! User Interface Library site. 7. Click Get Started with YUI 3. (Figure-1.72a below) Figure-1.72a: The YUI Library site 8. Click AsyncQueue (or other links) link under UTILITIES. (Figure-1.72b below) Figure-1.72b: Try YUI 3 UTILITIES 9. Click Building a UI with AsyncQueue link. (Figure-1.72c below) Figure-1.72c: YUI 3 AsyncQueue 10. Run the example. (Figure-1.72d below) Figure-1.72: AsyncQueue Example return to top of the exercise (1.6) ExtJS 1. From your browser, go to video tour of ExtJS. It gives an overview of the 1.x version of ExtJS. 2. Try Ext JS 3.0 Samples. (Figure-1.80 below) Figure-1.80: Try Ext JS 3.0 Samples 3. Click Trees, then Drag and Drop Reordering 4. Drag adapter on to widgets to see scrolling in action. return to top of the exercise (1.7) jQuery 1. From your browser, go to jQuery tutorials. return to top of the exercise (1.8) Spry framework for Ajax 1. From your browser, go to Spry framework for Ajax homesite. 2. Click various demos in the page. return to top of the exercise (1.9) Zimbra Kabuki 0. If you have internet connection, watch 9 minutes QuickTime intro on Zimbra Kabuki from inforworld.com. 1. From your browser, go to Zimbra Kabuki demo site. • Click Skip Registration, Go to Demo >> button. • Type in some characters in order and click on Login to see the demo. • Select an email and see the body of it. • Right click on Yahoo Local under Zimlet on the left and select Traffic. • Move your mouse onto one of the orange note. • Observe that the live Yahoo traffic information for this location is displayed. return to top of the exercise Summary In this exercise, you have explored capabilities of the various client side JavaScript based technologies. return to the top Exercise 2: AJAX-enabled JSF components • ICEFaces • RichFaces (2.1) ICEFaces 1. From your browser, go to ICEFaces demo site. (2.2) RichFaces 1. From your browser, go to RichFaces Online demo. Return to the top Exercise 3: ZK Framework (3.1) ZK Framework 1. From your browser, go to ZK Framework Live Demo. Exercise 4: Google Web Toolkit (4.1) Google Web Toolkit 0. Watch 8 minutes QuickTime intro on Google Web Toolkit from inforworld.com 1. From your browser, go to Google Web Toolkit Example Projects. return to the top Exercise 5: Direct Web Remoting (5.1) Direct Web Remoting (DWR) 1. From your browser, go to DWR examples return to the top Exercise 6: Web Application Frameworks with AJAX extension In this exercise, you are going to try demos from Web application frameworks with AJAX extensions. 1. Wicket 2. Echo2 3. Echo3 (6.1) Wicket 1. From your browser, go to Wicket examples 2. Click various example links. (Figure-6.10 below) Figure-6.10: AJAX and Wicket examples 3. Click Tree and TreeTable Figure-6.10: AJAX and Wicket Tree Table 4. Select Editable tree table, expand a node, click on a line, edit a row, and press Return key to confirm Figure-6.10: AJAX and Wicket Editable tree table (6.2) Echo2 1. From your browser, go to NextApp Echo2 demonstration Application 2. Use either the Next arrow or the AccordionPane to navigate through the features Figure-6.20: AJAX application using Echo2 3. Try, for example, the Echo2 Chart Figure-6.20: AJAX application using Echo2 (6.2) Echo3 1. From your browser, go to Echo3 Client=Side JavaScript Demonstration Application 2. Use either the Next arrow or the AccordionPane to navigate through the features Figure-6.20: AJAX application using Echo3 3. Try, for example, JavaScript Development under Technology Figure-6.20: Lazy JS Module Loading with Echo3 4. Notice you may use Tools->View Source Code. return to the top Homework Exercise (for people who are taking Sang Shin's "AJAX online course") - Optional This homework is optional, which means you don't have to submit it unless you want to.
Recommended publications
  • RH Summit--Zimbra-UWM, Sept 2009
    Freeing the Desktop and your Data Center with a Next Generation Email and Collaboration Platform Andy Pflaum Bruce Maas VP Bus. Development, CIO, Zimbra Univ. of Wisconsin- Milwaukee 1 Red Hat Summit 2009 | Andy Pflaum (Zimbra) & Bruce Maas (UW-Milwaukee) Zimbra Overview The Open Source Leader in Messaging & Collaboration • Mail, Calendar, Contacts, Web Docs, Archiving & Discovery…. • Web services mash-ups with 3rd party applications (VoIP, ERP, CRM etc.) What Differentiates Zimbra • 35-50% better TCO than MS Exchange and Lotus Domino • Best cross-platform support (mobile, desktop, OS, browser….) • Rich integration capabilities • Clear open source leader in the category − 1M+ downloads of Zimbra server; 3M+ Zimbra Desktop downloads − 27,000+ registered community members • Market validation − 3,500+ customers and 52M+ paid mailboxes in 90+ countries − 450 hosting partners and 250 resellers (60% of Zimbra business) − Gartner Rating: ‘Positive’, May 2009, Email Systems Marketscope 2 Red Hat Summit 2009 | Andy Pflaum (Zimbra) & Bruce Maas (UW-Milwaukee) Zimbra App & Client Support iPhone ActiveSync or xHTML Zimbra zSync Server Zimbra Sync ActiveSync phones Ajax Web Client Win Mobile Palm Symbian zSync iSync & MAPI CalDAV IMAP, POP, CalDAV, iCal, RSS MS Outlook Apple Desktop Standards Clients BES BlackBerry 3 Red Hat Summit 2009 | Andy Pflaum (Zimbra) & Bruce Maas (UW-Milwaukee) Zimbra Customers in 90+ Countries Large Business Sinclair Broadcasting SMB & SME Education Service South Providers (Sprint LEC) Africa Australia 4 Red Hat Summit 2009 | Andy Pflaum (Zimbra) & Bruce Maas (UW-Milwaukee) What is Zimbra Desktop? • Provides the same user experience offline & online, cross-browser/OS • 2-way sync of all messages, meetings, contacts etc.
    [Show full text]
  • 2010 Survey Results
    IT SERVICES 2010 Client Satisfaction Survey March, 2010 Acknowledgements The Stanford IT Services Client Satisfaction Team consisted of the following: Jan Cicero, Client Support Alvin Chew, Communication Services Liz Goesseringer, Business Services Tom Goodrich, Client Support Jim Knox, Facilitator, Client Support Phil Reese, Research Computing Nancy Ware, Strategic Planning Bryan Wear, Computing Services Brian McDonald, MOR Associates Chris Paquette, MOR Associates Alexis Bywater, MOR Associates MOR Associates, an external consulting firm, acted as project manager for this effort, analyzing the data and preparing this report. MOR Associates specializes in continuous improvement, strategic thinking and leadership development. MOR Associates has conducted a number of large-scale satisfaction surveys for IT organizations in higher education, including MIT, Northeastern University, the University of Chicago, and others. MOR Associates, Inc. 462 Main Street, Suite 300 Watertown, MA 02472 tel: 617.924.4501 fax: 617.924.8070 morassociates.com Brian McDonald, President [email protected] Contents Introduction. a1 Methodology . a2 Overview.of.the.Results . 1 Reading.the.Charts. 25 Customer.Service.and.Service.Attributes. 29 Research.Computing.and.IT.Services.Priorities. .33 General.Support. .41 Data.Storage.Services .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..51 Email.and.Webmail. 59 Calendaring. 63 Network.Services. 67 Telecommunications.Services. 73 Remote.Access . 83 Mobile.Devices . 87 Software. .89 Security. 93 Web.Services. 99 Appendix.A:.The.Full.Text.of.Written.Comments. .A-1 Appendix.B:.The.Survey.Instrument. B-. 1 Appendix.C:.Other.Observations . .C-1 Stanford Information Technology Services 2010 Client Survey • Introduction | a1 Introduction This report provides a summary of the purposes, the methodology and the results of the client satisfaction survey sponsored by Stanford Information Technology Services in March, 2010.
    [Show full text]
  • Pragmatic Guide to Javascript
    www.allitebooks.com What Readers Are Saying About Pragmatic Guide to J a v a S c r i p t I wish I had o w n e d this book when I first started out doing JavaScript! Prag- matic Guide to J a v a S c r i p t will take you a big step ahead in programming real-world JavaScript by showing you what is going on behind the scenes in popular JavaScript libraries and giving you no-nonsense advice and back- ground information on how to do the right thing. W i t h the condensed years of e x p e r i e n c e of one of the best JavaScript developers around, it’s a must- read with great reference to e v e r y d a y JavaScript tasks. Thomas Fuchs Creator of the script.aculo.us framework An impressive collection of v e r y practical tips and tricks for getting the most out of JavaScript in today’s browsers, with topics ranging from fundamen- tals such as form v a l i d a t i o n and JSON handling to application e x a m p l e s such as mashups and geolocation. I highly recommend this book for anyone wanting to be more productive with JavaScript in their web applications. Dylan Schiemann CEO at SitePen, cofounder of the Dojo T o o l k i t There are a number of JavaScript books on the market today, b u t most of them tend to focus on the new or inexperienced JavaScript programmer.
    [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]
  • 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]
  • Zimbra™ Collaboration Suite Multi-Server Installation Guide
    Zimbra™ Collaboration Suite Multi-Server Installation Guide Release 6.0 Network Edition Legal Notices Copyright 2005-2010 Zimbra. All rights reserved. No part of this document may be reproduced, in whole or in part, without the express written permission of Zimbra. Trademark and Licensing MySQL is a registered trademark of MySQL AB in the United States, the European Union and other countries. OpenLDAP is a registered trademark of the OpenLDAP Foundation. Postfix is copyright © 1999 International Business Machines Corporation and others and it was created by Wietse Venema <[email protected]>. SpamAssassin is a trademark of Deersoft, Inc. This product includes software developed by the Apache Software Foundation (http://www.apache.org/). All other marks are the property of their respective owners. Building Better Products within the Open Source Community Zimbra Collaboration Suite leverages many great technologies from the open source community: MySQL, OpenLDAP, Postfix, SpamAssassin, and Apache. Zimbra believes that great products come from contributing to and leveraging open source technologies. We are thankful for the great contributions that led to the creation of MySQL, OpenLDAP, Postfix, SpamAssassin, and Apache software. ------------------------------------------------------------------------------------------------------- Zimbra, a division of VMware, Inc. 3401 Hillview Avenue Palo Alto, California 94304 USA www.Zimbra.com September 2009 ZCS 6.0 Rev 4 (6.0.8) 7/2010 Table of Contents Chapter 1 Introduction . 5 Audience . 5 Zimbra Collaboration Suite License . 5 For More Information . 5 Support and Contact Information . 6 Chapter 2 Planning for the Installation . 7 Zimbra Packages . 7 Configuration Examples . 8 Downloading the Zimbra Software . 9 Zimbra License . 10 Menu-Driven Configuration . 10 Common configuration options .
    [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]
  • HCI Lessons Using AJAX for a Page-Turning Web Application
    CHI 2011 • Session: Reading & Writing May 7–12, 2011 • Vancouver, BC, Canada Bells, Whistles, and Alarms: HCI Lessons Using AJAX for a Page-turning Web Application Juliet L. Hardesty Abstract User Interface Design Specialist This case study describes creating a version of METS Digital Library Program Navigator, a page-turning web application for multi- Indiana University part digital objects, using an AJAX library with user Herman B Wells Library, W501 interface components. The design for this version 1320 E. 10th Street created problems for customized user interactions and Bloomington, IN 47405 USA accessibility problems for users, including those using [email protected] assistive technologies and mobile devices. A review of the literature considers AJAX, accessibility, and universal usability and possible steps to take moving forward to correct these problems in METS Navigator. Keywords AJAX, accessibility, universal usability ACM Classification Keywords H.5.2. Information interfaces and presentation: User interfaces - user-centered design, standardization. General Terms Design, human factors, standardization Copyright is held by the author/owner(s). CHI 2011, May 7–12, 2011, Vancouver, BC, Canada. Introduction ACM 978-1-4503-0268-5/11/05. AJAX (Asynchronous JavaScript and XML) is a widely used method for developing Web 2.0 applications 827 CHI 2011 • Session: Reading & Writing May 7–12, 2011 • Vancouver, BC, Canada (called Rich Internet Applications, or RIA’s), both to incorporate the Semantic Web into Web 2.0 enhance certain features
    [Show full text]
  • 1. the ZK User Interface Markup Language
    1. The ZK User Interface Markup Language The ZK User Interface Markup Language (ZUML) is based on XML. Each XML element describes what component to create. XML This section provides the most basic concepts of XML to work with ZK. If you are familiar with XML, you could skip this section. If you want to learn more, there are a lot of resources on Internet, such as http://www.w3schools.com/xml/xml_whatis.asp and http://www.xml.com/pub/a/98/10/guide0.html. XML is a markup language much like HTML but with stricter and cleaner syntax. It has several characteristics worth to notice. Elements Must Be Well-formed First, each element must be closed. They are two ways to close an element as depicted below. They are equivalent. Close by an end tag: <window></window> Close without an end tag: <window/> Second, elements must be properly nested. Correct: <window> <groupbox> Hello World! </groupbox> </window> Wrong: <window> <groupbox> Hello World! </window> </groupbox> Special Character Must Be Replaced XML uses <element-name> to denote an element, so you have to replace special characters. For example, you have to use &lt; to represent the < character. ZK: Developer's Guide Page 1 of 92 Potix Corporation Special Character Replaced With < &lt; > &gt; & &amp; " &quot; ' &apos; It is interesting to notice that backslash (\) is not a special character, so you don't need to escape it at all. Attribute Values Must Be Specified and Quoted Correct: width="100%" checked="true" Wrong: width=100% checked Comments A comment is used to leave a note or to temporarily edit out a portion of XML code.
    [Show full text]
  • The Dzone Guide to Volume Ii
    THE D ZONE GUIDE TO MODERN JAVA VOLUME II BROUGHT TO YOU IN PARTNERSHIP WITH DZONE.COM/GUIDES DZONE’S 2016 GUIDE TO MODERN JAVA Dear Reader, TABLE OF CONTENTS 3 EXECUTIVE SUMMARY Why isn’t Java dead after more than two decades? A few guesses: Java is (still) uniquely portable, readable to 4 KEY RESEARCH FINDINGS fresh eyes, constantly improving its automatic memory management, provides good full-stack support for high- 10 THE JAVA 8 API DESIGN PRINCIPLES load web services, and enjoys a diverse and enthusiastic BY PER MINBORG community, mature toolchain, and vigorous dependency 13 PROJECT JIGSAW IS COMING ecosystem. BY NICOLAI PARLOG Java is growing with us, and we’re growing with Java. Java 18 REACTIVE MICROSERVICES: DRIVING APPLICATION 8 just expanded our programming paradigm horizons (add MODERNIZATION EFFORTS Church and Curry to Kay and Gosling) and we’re still learning BY MARKUS EISELE how to mix functional and object-oriented code. Early next 21 CHECKLIST: 7 HABITS OF SUPER PRODUCTIVE JAVA DEVELOPERS year Java 9 will add a wealth of bigger-picture upgrades. 22 THE ELEMENTS OF MODERN JAVA STYLE But Java remains vibrant for many more reasons than the BY MICHAEL TOFINETTI robustness of the language and the comprehensiveness of the platform. JVM languages keep multiplying (Kotlin went 28 12 FACTORS AND BEYOND IN JAVA GA this year!), Android keeps increasing market share, and BY PIETER HUMPHREY AND MARK HECKLER demand for Java developers (measuring by both new job 31 DIVING DEEPER INTO JAVA DEVELOPMENT posting frequency and average salary) remains high. The key to the modernization of Java is not a laundry-list of JSRs, but 34 INFOGRAPHIC: JAVA'S IMPACT ON THE MODERN WORLD rather the energy of the Java developer community at large.
    [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]
  • Java Server Face
    Java Server Face From the specification 2.0 JSF sources ● JSF specification 2.0 ● JSF sun tutorials EE6 ● Core Java server face (http://horstmann.com/corejsf/) ● http://jsftutorials.net/ ● JSF Lectures from Pascal URSO (Mcf Nancy) ● JSF Lectures from François Charoy (Mcf Nancy) ● Intro à JSF : [email protected] ● JSF and ICEFaces (?? anonymous) My Source ?? Overview and motivations ● JavaServer Faces (JSF) is a user interface (UI) framework for Java web applications. It is designed to significantly ease the burden of writing and maintaining applications that run on a Java application server and render their UIs back to a target client. JSF provides ease-of-use in the following ways: ● Makes it easy to construct a UI from a set of reusable UI components ● Simplifies migration of application data to and from the UI ● Helps manage UI state across server requests ● Provides a simple model for wiring client-generated events to server-side application code ● Allows custom UI components to be easily built and re-used Solving pratical problems of the web ● Managing UI component state across request ● Supporting encapsulation of the differences in markup across different browsers and clients ● Supporting form processing (multi-page, more than one per page, and so on) ● Providing a strongly typed event model that allows the application to write server- side handlers (independent of HTTP) for client generated events ● Validating request data and providing appropriate error reporting ● Enabling type conversion when migrating markup values (Strings) to and from application data objects (which are often not Strings) ● Handling error and exceptions, and reporting errors in human-readable form back to the application user ● Handling page-to-page navigation in response to UI events and model interactions.
    [Show full text]