Advanced Web Technology 5) Google Web Toolkits - GWT, Client Side

Size: px
Start display at page:

Download "Advanced Web Technology 5) Google Web Toolkits - GWT, Client Side"

Transcription

1 Advanced Web Technology 5) Google Web Toolkits - GWT, Client Side Emmanuel Benoist Spring Term 2018 Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 1

2 Table of Contents Presentation of GWT Hello World Application Widgets Hello World Event Handling Applying Style Sheets Deployment Internationalization Static String i18n Remote Procedure Code JSON Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 2

3 Presentation of GWT Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 3

4 Motivation What is GWT? A development environment in pure Java for rich web applications Provides Java for programming both client and server sides Advantages of GWT Homogenous environment Testing of a web application (using JUnit) Not integrated in JSF Concurent system developed by google Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 4

5 Principle Write Java code Use Java on Server Side But also on a Client Side Communication is handeled conveniently Tests in a JVM Testing is done using JUnit Plugin in the browser Tests are conducted inside one JVM (based on Java Code) Compile into Javascript Creates different versions for different browsers Each browser receives only the right version Can be deployed on Java Servers Or any other server (if the server part is not Java) Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 5

6 Hello World Application Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 6

7 Hello World Application Download the GWT From Google Code Web site Create an application Execute./webAppCreator -out /home/bie1/test/ ch.bfh.awt.hello A default application is created Includes ant and Eclipse project files Test the Application Go to the directory execute ant devmode Install the plugin in your browser Test the application Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 7

8 Directories created Source files: /src/ Package for client side application : /src/ch/bfh/awt/client Server side classes : /src/ch/bfh/awt/server The file /src/ch/bfh/awt/hello.gwt.xml contains the configurations for the GWT application Web Application: /war/ Contains html, css, javascript, gifs, and the like Contains the WEB-INF/ directory (where the server classes are automatically compiled The directory /war/ will receive the JavaScript files compiled from the client application At the end the content of this directory is copied to the server Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 8

9 Widgets Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 9

10 Hello World Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 10

11 Hello World Hello.html: contains a real HTML Containing layout, References to images, JavaScript, CSS Reference to the script loading the files <script type="text/javascript" language="javascript" src=" hello/hello.nocache.js"></script> And it contains place-holders that will be manipulated from Java. <div id="namefieldcontainer"></div> <div id="sendbuttoncontainer"></div> <div style="color:blue;" id="responsecontainer" ></div> Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 11

12 HTML FIle <!doctype html> <html> <head> <meta http equiv="content type" content="text/html; charset=utf 8"> <link type="text/css" rel="stylesheet" href="hello.css"> <title>web Application Starter Project</title> <script type="text/javascript" language="javascript" src="hello/hello. nocache.js"></script> </head> <body>... <h1>web Application Starter Project</h1> Please enter your name: <div id="namefieldcontainer"></div> <div id="sendbuttoncontainer"></div> <div style="color:blue;" id="responsecontainer"></div> </body> </html> Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 12

13 Java File Contains the definition of the user interface Definition of the Widgets used, Panels, Text fields, buttons Extends the EntryPoint class Defines the onmoduleload() function. Defines the Event Handling Defines functions to be executed when an Event is fired. Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 13

14 Hello.java package ch.bfh.awt.client; import... / Entry point classes define <code>onmoduleload()</code>. / public class Hello implements EntryPoint { public void onmoduleload() { final Button sendbutton = new Button("Send"); final TextBox namefield = new TextBox(); final Label responselabel = new Label(); RootPanel.get("nameFieldContainer").add(nameField); RootPanel.get("sendButtonContainer").add(sendButton); RootPanel.get("responseContainer").add(responseLabel); namefield.setfocus(true);... // Event Handling Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 14

15 Widgets List of default widgets Buttons: Button, PushButton, RadioButton,CheckBox,,, Calendar: DatePicker Lists : ListBox, CellList, Trees: MenuBar, Tree with CellTree, Panels: PopoupPanel, StackPanel, HorizontalPanel, VerticalPanel, latest/refwidgetgallery.html Possibility to write your own widgets: latest/devguideuicustomwidgets.html Composite components (composition of existing components) or from scratch in Java code Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 15

16 Example: StockWatcher 1 An interface to watch stock values Presentation (when deployed on localhost) localhost:8080/stockwatchergwt User Interface: One page One page A list containing the stocks A field to type the stock into A button to add a new stock Back-office No back-office today Communications with the servers are seen in the next course Communication available: Remote Procedure Call (RPC) in Java Call to JSON data on the same server (PHP for instance) Call to JSON data on another server (against the same origin policy). 1 Source:http: //code.google.com/intl/fr-fr/webtoolkit/doc/latest/tutorial/ Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 16

17 The HTML Page 2 <body> <img src="images/bfh.jpg" /> <h1>stock Watcher testing project</h1> <div id="stocklist"></div> <iframe src="javascript: " id=" gwt_historyframe" tabindex= 1 style="position:absolute;width:0;height:0;border:0"></iframe> <noscript> <div style="width: 22em; position: absolute; left: 50%; margin left : 11em; color: red; background color: white; border: 1px solid red; padding: 4px; font family: sans serif"> Your web browser must have JavaScript enabled in order for this application to display correctly. </div> </noscript> </body> 2 /war/stockwatcher.html Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 17

18 Java Files 3 Contains Widgets mainpanel a vertical panel containing components addpanel an horizontal panel containing a textbox and a button stocksflextable a fexible table containing lines and columns newsymboltextbox a text box to enter text into addstockbutton a button that generates an event when clicked on lastupdatedlabel a label contains a text private VerticalPanel mainpanel = new VerticalPanel(); private FlexTable stocksflextable = new FlexTable(); private HorizontalPanel addpanel = new HorizontalPanel(); private TextBox newsymboltextbox = new TextBox(); private Button addstockbutton = new Button("Add"); private Label lastupdatedlabel = new Label(); 3 /src/ch/bfh/awt/client/stockwatcher.java Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 18

19 The Java File public void onmoduleload() { // Create table for stock data. stocksflextable.settext(0, 0, "Symbol"); stocksflextable.settext(0, 1, "Price"); stocksflextable.settext(0, 2, "Change"); stocksflextable.settext(0, 3, "Remove"); // Assemble Add Stock panel. addpanel.add(newsymboltextbox); addpanel.add(addstockbutton); // Assemble Main panel. mainpanel.add(stocksflextable); mainpanel.add(addpanel); mainpanel.add(lastupdatedlabel); // Associate the Main panel with the HTML host page. RootPanel.get("stockList").add(mainPanel); // Move cursor focus to the input box. newsymboltextbox.setfocus(true); Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 19

20 Event Handling Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 20

21 Event Handling Events Handlers are attached to widgets Events in GWT use the event handler interface model similar to other user interface frameworks. To subscribe to an event, you pass a particular event handler interface to the appropriate widget. An event handler interface defines one or more methods that the widget then calls to announce (publish) an event. Example: Hello World Add an event handler for a click on the button Add an event handler when a user types on the Enter key Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 21

22 Event Handlers for Hello World 4 class MyHandler implements ClickHandler, KeyUpHandler { public void onclick(clickevent event) { copyname(); public void onkeyup(keyupevent event) { if (event.getnativekeycode() == KeyCodes.KEY_ENTER) { copyname(); private void copyname() { String texttocopy = namefield.gettext(); responselabel.settext(texttocopy); MyHandler handler = new MyHandler(); sendbutton.addclickhandler(handler); namefield.addkeyuphandler(handler); 4 Inside the definition of the class Hello Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 22

23 Event Handling by Stock Watcher // Listen for mouse events on the Add button. addstockbutton.addclickhandler(new ClickHandler() { public void onclick(clickevent event) { addstock(); ); // Listen for keyboard events in the input box. newsymboltextbox.addkeypresshandler(new KeyPressHandler() { public void onkeypress(keypressevent event) { if (event.getcharcode() == KeyCodes.KEY_ENTER) { addstock(); ); private void addstock() { // TODO Auto generated method stub Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 23

24 Manipulate the content of the Widgets Java can generate an alert(). Window.alert(" " + symbol + " is not a valid symbol."); One can manipulate elements in a list int removedindex = stocks.indexof(symbol); stocks.remove(removedindex); stocksflextable.removerow(removedindex + 1); Or change the text of a label or a text box private void copyname() { // First, we validate the input. String texttocopy = namefield.gettext(); responselabel.settext(texttocopy); or Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 24

25 Applying Style Sheets Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 25

26 Applying Style Sheets Configure the standard theme standard.css : contains the GWT default styles (themes) In GWT config file : Hello.gwt.xml Defines the theme: <inherits name= com.google.gwt.user.theme.standard. Standard /> <! <inherits name="com.google.gwt.user.theme. chrome.chrome"/> > <! <inherits name="com.google.gwt.user.theme.dark. Dark"/> > Associate a CSS file Hello.css : contains the project specific classes Linked inside the Hello.html <link type="text/css" rel="stylesheet" href="hello.css"> Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 26

27 Add Style to the elements Suppose we have the following style: / stock list header row /.watchlistheader { background color: #2062B8; color: white; font style: italic; / stock list flex table /.watchlist { border: 1px solid silver; padding: 2px; margin bottom:6px; Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 27

28 Add Style to the elements (Cont.) We add style to the elements of the first row of the table // Add styles to elements in the stock list table. stocksflextable.getrowformatter().addstylename(0, " watchlistheader"); Format all the elements of a table stocksflextable.addstylename("watchlist"); Or format only one cell stocksflextable.getcellformatter().addstylename(0, 1, " watchlistnumericcolumn"); Or even a panel addpanel.addstylename("addpanel"); Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 28

29 Deployment Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 29

30 Deployment Compile the application into JavaScript Using GWT Compile Project button in Eclipse Or executing ant build Compilation writes all the required files in the War directory Uses the definition files and all the existing files in the war/ (html, gif, images, css,... ) Copy the content of the directory To a servlet engine if you use the server side functionality To any server if using only the client side Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 30

31 Internationalization Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 31

32 Internationalization : I18N Module Core types related to internationalization: LocaleInfo Provides information about the current locale. Constants Useful for localizing typed constant values Messages Useful for localizing messages requiring arguments ConstantsWithLookup Like Constants but with extra lookup flexibility for highly data-driven applications Dictionary Useful when adding a GWT module to existing localized web pages Localizable Useful for localizing algorithms encapsulated in a class or when the classes above don t provide sufficient control DateTimeFormat Formatting dates as strings. See the section on date and number formatting. NumberFormat Formatting numbers as strings. See the section on date and number formatting. Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 32

33 Static String i18n Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 33

34 Interantionalizing Strings Implement the Constant Interface Contains only static strings Very efficient and compiled once. Implement the Messages Interface Allows to insert values in the string For instance numbers or dates Equivalent to the resource bundle in applications. Dynamic String Internationalization The Dictionary class lets your GWT application consume strings supplied by the host HTML page. Convenient if your existing web server has a localization system that you do not wish to integrate with the static string internationalization methods. Implement the Localizable Interface The most powerful technique allows you to go beyond simple string substitution create localized versions of custom types. Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 34

35 Implement the Constants Interface Create the StockWatcherConstants interface Uses annotations for the default translation Implements the Constant interface (GWT) Bound automatically to the StockWatcherConstants*.properties files The java file must contain one method for each of the constants in the properties files The right value is found at runtime, corresponding to the locale Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 35

36 Example: the Constants file package com.google.gwt.sample.stockwatcher.client; import com.google.gwt.i18n.client.constants; public interface StockWatcherConstants extends Constants String String String String String String add(); Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 36

37 Translate it to German Create a file StockWatcherConstants_de.properties stockwatcher = Aktienbeobachter symbol = Symbol price = Kurs change = Änderung remove = Entfernen add = Hinzufügen Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 37

38 Implement the Messages interface For Strings containing information Similar to resource bundles in Java Can contain strings with parameters {0 ist kein gültiges Aktiensymbol. The number is a place holder mystring = First parm is {0, second parm is {1, third parm is {2. Usefull for integrating dates, prices, internationalized results Usefull but less efficient. The strings must be produced at runtime Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 38

39 Messages file package com.google.gwt.sample.stockwatcher.client; import com.google.gwt.i18n.client.messages; import java.util.date; public interface StockWatcherMessages extends Messages {0 is not a valid symbol.") String invalidsymbol(string update: {0,date,medium {0,time, medium") String lastupdate(date timestamp); Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 39

40 The corresponding properties file StockWatcherMessages_de.properties file. lastupdate = Letzte Aktualisierung: {0,date,medium {0,time, medium invalidsymbol = {0 ist kein gültiges Aktiensymbol. Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 40

41 Replace content Replace the texts with place holders <body> <img src="images/googlecode.png"/> <h1 id="apptitle"></h1> Replacing strings set programmatically Create the instances of the classes (internationalized) private ArrayList<String> stocks = new ArrayList<String>(); private StockWatcherConstants constants = GWT.create( StockWatcherConstants.class); private StockWatcherMessages messages = GWT.create( StockWatcherMessages.class); Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 41

42 Replace content (Cont) Set the content: // Set the window title, the header text, and the Add button text. Window.setTitle(constants.stockWatcher()); RootPanel.get("appTitle").add(new Label(constants. stockwatcher())); addstockbutton = new Button(constants.add()); // Create table for stock data. stocksflextable.settext(0, 0, constants.symbol()); stocksflextable.settext(0, 1, constants.price()); stocksflextable.settext(0, 2, constants.change()); stocksflextable.settext(0, 3, constants.remove()); Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 42

43 Add a supported locale: Inside StockWatcher.gwt.xml add the property <entry point class= com.google.gwt.sample.stockwatcher.client.stockwatcher /> <extend property name="locale" values="de"/> </module> Load the german version by adding &locale=de Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 43

44 Client Server Communication Remote Procedure Code From Java To Java Supported by the language Optimized and easy to test JSON For communicating with the same server JSONP For cross server communication Overgoes the Same Origin Policy Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 44

45 Remote Procedure Code Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 45

46 GWT Remote Procedure Call RPC contains: the service that runs on the server the method you are calling the client code that invokes the service the Java data objects that pass between the client and server Both (client and server) must serialize and deserialize the objects You need to write three components Define the interface StockPriceService that extends RemoteService and lists all your RPC methods Create a class StockPriceServiceImpl that extends RemoteServiceServlet and implements the interface you created above. Define an asynchronous interface StockPriceServiceAsync to your service to be called from the client-side code. Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 46

47 GWT Remote Procedure Call 5 5 Source: code.google.com Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 47

48 StockPriceService interface In the package com.google.gwt.sample.stockwatcher.client package com.google.gwt.sample.stockwatcher.client; import com.google.gwt.user.client.rpc.remoteservice; import com.google.gwt.user.client.rpc.remoteservicerelativepath public interface StockPriceService extends RemoteService { StockPrice[] getprices(string[] symbols); Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 48

49 StockPriceServiceImpl class package com.google.gwt.sample.stockwatcher.server; import com.google.gwt.sample.stockwatcher.client.stockprice; import com.google.gwt.sample.stockwatcher.client.stockpriceservice; import com.google.gwt.user.server.rpc.remoteserviceservlet; import java.util.random; public class StockPriceServiceImpl extends RemoteServiceServlet implements StockPriceService { private static final double MAX_PRICE = 100.0; // $ private static final double MAX_PRICE_CHANGE = 0.02; // +/ 2% public StockPrice[] getprices(string[] symbols) { Random rnd = new Random(); StockPrice[] prices = new StockPrice[symbols.length]; for (int i=0; i<symbols.length; i++) { double price = rnd.nextdouble() MAX_PRICE; double change = price MAX_PRICE_CHANGE (rnd.nextdouble () 2f 1f); prices[i] = new StockPrice(symbols[i], price, change); return prices; Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 49

50 Include the server-side code in the GWT module Define new servlets in the web.xml <web app> <welcome file list> <welcome file>stockwatcher.html</welcome file> </welcome file list> <servlet> <servlet name>stockpriceserviceimpl</servlet name> <servlet class>com.google.gwt.sample.stockwatcher.server. StockPriceServiceImpl</servlet class> </servlet> <servlet mapping> <servlet name>stockpriceserviceimpl</servlet name> <url pattern>/stockwatcher/stockprices</url pattern> </servlet mapping> </web app> Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 50

51 Invoking the service from the client Making asynchronous calls to the server package com.google.gwt.sample.stockwatcher.client; import com.google.gwt.user.client.rpc.asynccallback; public interface StockPriceServiceAsync { void getprices(string[] symbols, AsyncCallback<StockPrice[]> callback); Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 51

52 Making the remote procedure call private void refreshwatchlist() { // Initialize the service proxy. if (stockpricesvc == null) { stockpricesvc = GWT.create(StockPriceService.class); // Set up the callback object. AsyncCallback<StockPrice[]> callback = new AsyncCallback< StockPrice[]>() { public void onfailure(throwable caught) { // TODO: Do something with errors. public void onsuccess(stockprice[] result) { updatetable(result); ; // Make the call to the stock price service. stockpricesvc.getprices(stocks.toarray(new String[0]), callback); Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 52

53 Serializing Java objects GWT RPC requires that all service method parameters and return types be serializable. package com.google.gwt.sample.stockwatcher.client; import java.io.serializable; public class StockPrice implements Serializable { private String symbol; private double price; private double change;... Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 53

54 JSON Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 54

55 Retrieving JSON Data JSON stands for JavaScript Object Notation Language independant format Very light Example [ { "symbol": "ABC", "price": 87.86, "change": 0.41, { "symbol": "DEF", "price": 62.79, "change": 0.49 ] Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 55

56 Server part JSON can be generated by a servlet out.println(" {"); out.print(" \"symbol\": \""); out.print(stocksymbol); out.println("\","); out.print(" \"price\": "); out.print(price); out.println(, ); out.print(" \"change\": "); out.println(change); out.println(","); Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 56

57 JSON generated by PHP <?php header( Content Type: text/javascript ); define("max_price", 100.0); // $ define("max_price_change", 0.02); // +/ 2% echo [ ; $q = trim($_get[ q ]); if ($q) { $symbols = explode(, $q); for ($i=0; $i<count($symbols); $i++) { $price = lcg_value() MAX_PRICE; $change = $price MAX_PRICE_CHANGE (lcg_value() ); echo { ; echo "\"symbol\":\"$symbols[$i]\","; echo "\"price\":$price,"; echo "\"change\":$change"; echo ; if ($i < (count($symbols) 1)) { echo, ; Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 57

58 Transform JSON object into JavaScript use the built in JavaScript function eval The function will receive a response.gettext() as a parameter private final native JsArray<StockData> asarrayofstockdata( String json) / { return eval(json); /; Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 58

59 Manipulate JSON objects Create a JavaScriptObject StockData to manipulate the data input in Java package com.google.gwt.sample.stockwatcher.client; import com.google.gwt.core.client.javascriptobject; class StockData extends JavaScriptObject { // Overlay types always have protected, zero argument constructors. protected StockData() { // JSNI methods to get stock data. public final native String getsymbol() / { return this.symbol; /; public final native double getprice() / { return this.price; /; public final native double getchange() / { return this.change; /; // Non JSNI method to return change percentage. public final double getchangepercent() { return getchange() / getprice(); Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 59

60 Connect the Web server Prepare the list of stocks private void refreshwatchlist() { if (stocks.size() == 0) { return; String url = JSON_URL; // Append watch list stock symbols to query URL. Iterator iter = stocks.iterator(); while (iter.hasnext()) { url += iter.next(); if (iter.hasnext()) { url += "+"; url = URL.encode(url); // TODO Send request to server and handle errors. Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 60

61 Connect the Web Server (Cont.) // Send request to server and catch any errors. RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); try { Request request = builder.sendrequest(null, new RequestCallback() { public void onerror(request request, Throwable exception) { displayerror("couldn t retrieve JSON"); public void onresponsereceived(request request, Response response ) { if (200 == response.getstatuscode()) { updatetable(asarrayofstockdata(response.gettext())); else { displayerror("couldn t retrieve JSON (" + response. getstatustext() + ")"); ); catch (RequestException e) { displayerror("couldn t retrieve JSON"); Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 61

62 Conclusion GWT: pure Java Web Application Client and Server share one language Testing made easy Testing of Web Application is often a nightmare JUnit testing is possible Debugging inside one JVM : In Eclipse or in devmode Security? What is executed where? What is transfered and can be manipulated? What is tested where? Useful features I18N Client Server Communication Remote Procedure Call JSON Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 62

63 References Tutorial by Google Code fr-fr/webtoolkit/overview.html latest/tutorial/gettingstarted.html Developer Guide by Google Code latest/devguide.html Hello World Example Obtained by executing the create application script. Tutorial for Client Server communication latest/tutorial/clientserver.html Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 63

Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 2

Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 2 Table of Contents Advanced Web Technology 13) Google Web Toolkits 2 - GWT, Communication Emmanuel Benoist Fall Term 2016-17 Internationalization Static String i18n Remote Procedure Code JSON Berner Fachhochschule

More information

Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 2

Berner Fachhochschule Haute école spécialisée bernoise Berne University of Applied Sciences 2 Table of Contents 6) Overview: web applications Emmanuel Benoist Spring Term 2018 Presentation Server Side Programming Client Side Frameworks JQuery AngularJS Google Web Toolkit - GWT JSON Conclusion Berner

More information

GWT - RPC COMMUNICATION

GWT - RPC COMMUNICATION GWT - RPC COMMUNICATION http://www.tutorialspoint.com/gwt/gwt_rpc_communication.htm Copyright tutorialspoint.com A GWT based application is generally consists of a client side module and server side module.

More information

Creating GWT Applications in Eclipse

Creating GWT Applications in Eclipse Creating GWT Applications in Eclipse By Patrick Canny Abstract This paper describes how to create a Google Web Toolkit ( GWT ) application in Eclipse v. 3.5, a.k.a. Galileo, which implements Runnable User

More information

Google Web Toolkit Creating/using external JAR files

Google Web Toolkit Creating/using external JAR files Google Web Toolkit Creating/using external JAR files If you develop some code that can be reused in more than one project, one way to create a module is to create an external JAR file. This JAR file can

More information

Google Web Toolkit (GWT)

Google Web Toolkit (GWT) Google Web Toolkit (GWT) What is GWT? GWT is a development toolkit for building and optimizing complex browser-based applications You can develop all code, both client and server in Java (or with a different

More information

widgets, events, layout loosely similar to Swing test browser, or plugin for testing with real browser on local system

widgets, events, layout loosely similar to Swing test browser, or plugin for testing with real browser on local system Web [Application] Frameworks conventional approach to building a web service write ad hoc client code in HTML, CSS, Javascript,... by hand write ad hoc server code in [whatever] by hand write ad hoc access

More information

GWT - INTERNATIONALIZATION

GWT - INTERNATIONALIZATION GWT - INTERNATIONALIZATION http://www.tutorialspoint.com/gwt/gwt_internationalization.htm Copyright tutorialspoint.com GWT provides three ways to internationalize a GWT application, We'll demonstrate use

More information

Ajax and Web 2.0 Related Frameworks and Toolkits. Dennis Chen Director of Product Engineering / Potix Corporation

Ajax and Web 2.0 Related Frameworks and Toolkits. Dennis Chen Director of Product Engineering / Potix Corporation Ajax and Web 2.0 Related Frameworks and Toolkits Dennis Chen Director of Product Engineering / Potix Corporation dennischen@zkoss.org 1 Agenda Ajax Introduction Access Server Side (Java) API/Data/Service

More information

Google Web Toolkit. David Geary. code.google.com/webtoolkit. corewebdeveloper.com

Google Web Toolkit. David Geary. code.google.com/webtoolkit. corewebdeveloper.com Google Web Toolkit code.google.com/webtoolkit David Geary corewebdeveloper.com clarity.training@gmail.com Copyright Clarity Training, Inc. 2009 Code http://coolandusefulgwt.com 2 Copyright Clarity Training,

More information

GWT - DEBUGGING APPLICATION

GWT - DEBUGGING APPLICATION GWT - DEBUGGING APPLICATION http://www.tutorialspoint.com/gwt/gwt_debug_application.htm Copyright tutorialspoint.com GWT provides execellent capability of debugging client side as well as server side code.

More information

GWT - FLEXTABLE WIDGET

GWT - FLEXTABLE WIDGET GWT - FLEXTABLE WIDGET http://www.tutorialspoint.com/gwt/gwt_flextable_widget.htm Copyright tutorialspoint.com Introduction The FlexTable widget represents a flexible table that creates cells on demand.

More information

Google Web Toolkit (GWT) Basics. Sang Shin Java Technology Architect & Evangelist Sun Microsystems, Inc.

Google Web Toolkit (GWT) Basics. Sang Shin Java Technology Architect & Evangelist Sun Microsystems, Inc. Google Web Toolkit (GWT) Basics Sang Shin Java Technology Architect & Evangelist Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com Disclaimer & Acknowledgments Even though Sang Shin is a full-time

More information

The Google Web Toolkit

The Google Web Toolkit The Google Web Toolkit Allen I. Holub Holub Associates www.holub.com allen@holub.com 2010, Allen I. Holub www.holub.com 1 This Talk The point of this talk is to give you an overview of GWT suitable for

More information

Developing Ajax Web Apps with GWT. Session I

Developing Ajax Web Apps with GWT. Session I Developing Ajax Web Apps with GWT Session I Contents Introduction Traditional Web RIAs Emergence of Ajax Ajax ( GWT ) Google Web Toolkit Installing and Setting up GWT in Eclipse The Project Structure Running

More information

Pimp My Webapp (with Google Web Toolkit)

Pimp My Webapp (with Google Web Toolkit) (with Google Web Toolkit) Hermod Opstvedt Chief Architect DnB NOR ITUD Common components Hermod Opstvedt (with Google Web Toolkit) Slide 1 What is Google Web Toolkit (GWT)? Pronounced GWiT. An effort to

More information

GWT - CREATE APPLICATION

GWT - CREATE APPLICATION GWT - CREATE APPLICATION http://www.tutorialspoint.com/gwt/gwt_create_application.htm Copyright tutorialspoint.com As power of GWT lies in Write in Java, Run in JavaScript, we'll be using Java IDE Eclipse

More information

GWT - PUSHBUTTON WIDGET

GWT - PUSHBUTTON WIDGET GWT - PUSHBUTTON WIDGET http://www.tutorialspoint.com/gwt/gwt_pushbutton_widget.htm Copyright tutorialspoint.com Introduction The PushButton widget represents a standard push button with custom styling..

More information

GWT - TOGGLEBUTTON WIDGET

GWT - TOGGLEBUTTON WIDGET GWT - TOGGLEBUTTON WIDGET http://www.tutorialspoint.com/gwt/gwt_togglebutton_widget.htm Copyright tutorialspoint.com Introduction The ToggleButton widget represents a stylish stateful button which allows

More information

Integrating Seam and GWT

Integrating Seam and GWT Integrating Seam and GWT Integrating the JBoss Seam Framework with the GWT Toolkit : Use cases and patterns Ferda Tartanoglu Neox ia 6563 Who we are 2 > Ferda TARTANOGLU, PhD Consultant and Software Architect

More information

generates scaffolding/framework for models, views

generates scaffolding/framework for models, views Django by Adrian Holovaty and Jacob Kaplan-Moss (released July 2005) a collection of Python scripts to create a new project / site generates Python scripts for settings, etc. configuration info stored

More information

The Google Web Toolkit (GWT): Handling History and Bookmarks

The Google Web Toolkit (GWT): Handling History and Bookmarks 2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): Handling History and Bookmarks (GWT 2.5 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html

More information

Say goodbye to the pains of Ajax. Yibo

Say goodbye to the pains of Ajax. Yibo Say goodbye to the pains of Ajax Yibo DOM JavaScript XML CSS Standard Browsers: browser-specific dependencies. d Differences Complexity Exprerience: Minesweeper Google Web Toolkit make Ajax development

More information

Web and Apps 1) HTML - CSS

Web and Apps 1) HTML - CSS Web and Apps 1) HTML - CSS Emmanuel Benoist Spring Term 2017 Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 1 HyperText Markup Language and Cascading Style Sheets

More information

LSI's VMware vcenter Plug-In: A Study in the Use of Open Source Software Erik Johannes Brian Mason LSI Corp

LSI's VMware vcenter Plug-In: A Study in the Use of Open Source Software Erik Johannes Brian Mason LSI Corp LSI's VMware vcenter Plug-In: A Study in the Use of Open Source Software Erik Johannes Brian Mason LSI Corp Goal The goal for the presentation is to share our experience with open source in the hope that

More information

Google Web Toolkit (GWT)

Google Web Toolkit (GWT) Google Web Toolkit (GWT) St. Louis Java SIG April 12, 2007 Brad Busch Andrew Prunicki What is GWT? GWT is a much different way to develop web applications from

More information

GWT integration with Vaadin. Peter expert & trainer

GWT integration with Vaadin. Peter expert & trainer GWT integration with Vaadin Peter Lehto @peter_lehto expert & trainer Vaadin & GWT GWT Transport mechanisms Web components with Polymer QA Vaadin Connectors Vaadin & GWT Server driven UI framework with

More information

Developing Web 2.0 Apps with the Google Web Toolkit

Developing Web 2.0 Apps with the Google Web Toolkit Developing Web 2.0 Apps with the Google Web Toolkit Ajax development hurts, and is not recommended without a bottle of analgesics by your side. Luckily for us there are tools that can make developing Web

More information

GWT: The Technical Advantage. Presenter: Anirudh Dewani Company Name: Google

GWT: The Technical Advantage. Presenter: Anirudh Dewani Company Name: Google GWT: The Technical Advantage Presenter: Anirudh Dewani Company Name: Google What is GWT? 2 How it works Google Web Toolkit Weekly Report 09/01/2008-09/08/200 Code against Java UI libraries 3 How it works

More information

GWT - POPUPPANEL WIDGET

GWT - POPUPPANEL WIDGET GWT - POPUPPANEL WIDGET http://www.tutorialspoint.com/gwt/gwt_popuppanel_widget.htm Copyright tutorialspoint.com Introduction The PopupPanel widget represents a panel that can pop up over other widgets.

More information

GWT - LOGGING FRAMEWORK

GWT - LOGGING FRAMEWORK GWT - LOGGING FRAMEWORK http://www.tutorialspoint.com/gwt/gwt_logging_framework.htm Copyright tutorialspoint.com The logging framework emulates java.util.logging, so it uses the same syntax and has the

More information

GWT - FORMPANEL WIDGET

GWT - FORMPANEL WIDGET GWT - FORMPANEL WIDGET http://www.tutorialspoint.com/gwt/gwt_formpanel_widget.htm Copyright tutorialspoint.com Introduction The FormPanel widget represents a panel that wraps its contents in an HTML

More information

CS506 Web Design & Development Final Term Solved MCQs with Reference

CS506 Web Design & Development Final Term Solved MCQs with Reference with Reference I am student in MCS (Virtual University of Pakistan). All the MCQs are solved by me. I followed the Moaaz pattern in Writing and Layout this document. Because many students are familiar

More information

GWT - LABEL WIDGET. Following default CSS Style rule will be applied to all the labels. You can override it as per your requirements.

GWT - LABEL WIDGET. Following default CSS Style rule will be applied to all the labels. You can override it as per your requirements. http://www.tutorialspoint.com/gwt/gwt_label_widget.htm GWT - LABEL WIDGET Copyright tutorialspoint.com Introduction The Label can contains only arbitrary text and it can not be interpreted as HTML. This

More information

IBM JZOS Meets Web 2.0

IBM JZOS Meets Web 2.0 IBM JZOS Meets Web 2.0 Tuesday, August 3 rd 2010 Session 7637 Steve Goetze Kirk Wolf http://dovetail.com info@dovetail.com Copyright 2010, Dovetailed Technologies Abstract The development and deployment

More information

GWT GWT. Label. Java GWT. com.google.gwt.user.client.ui package

GWT GWT. Label. Java GWT. com.google.gwt.user.client.ui package GWT wzyang@asia.edu.tw GWT GWT Java HTML GWT (Widget) Java com.google.gwt.user.client.ui package 1 2 GWT Label Constructors: public Label() public Label(String text) public Label(String text, boolean wordwrap)

More information

In the early days of the Web, designers just had the original 91 HTML tags to work with.

In the early days of the Web, designers just had the original 91 HTML tags to work with. Web Design Lesson 4 Cascading Style Sheets In the early days of the Web, designers just had the original 91 HTML tags to work with. Using HTML, they could make headings, paragraphs, and basic text formatting,

More information

So far, Wednesday, February 03, :47 PM. So far,

So far, Wednesday, February 03, :47 PM. So far, Binding_and_Refinement Page 1 So far, 3:47 PM So far, We've created a simple persistence project with cloud references. There were lots of relationships between entities that must be fulfilled. How do

More information

GWT in Action by Robert Hanson and Adam Tacy

GWT in Action by Robert Hanson and Adam Tacy SAMPLE CHAPTER GWT in Action by Robert Hanson and Adam Tacy Chapter 10 Copyright 2007 Manning Publications brief contents PART 1 GETTING STARTED...1 1 Introducing GWT 3 2 Creating the default application

More information

HTML Summary. All of the following are containers. Structure. Italics Bold. Line Break. Horizontal Rule. Non-break (hard) space.

HTML Summary. All of the following are containers. Structure. Italics Bold. Line Break. Horizontal Rule. Non-break (hard) space. HTML Summary Structure All of the following are containers. Structure Contains the entire web page. Contains information

More information

The Google Web Toolkit (GWT): Extended GUI Widgets

The Google Web Toolkit (GWT): Extended GUI Widgets 2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): Extended GUI Widgets (GWT 2.5 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Laravel

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Laravel About the Tutorial Laravel is a powerful MVC PHP framework, designed for developers who need a simple and elegant toolkit to create full-featured web applications. Laravel was created by Taylor Otwell.

More information

IBM Forms V8.0 Custom Themes IBM Corporation

IBM Forms V8.0 Custom Themes IBM Corporation IBM Forms V8.0 Custom Themes Agenda 2 Overview Class Names How to Use Best Practice Styling Form Items Test Custom CSS Sample Overview 3 To create custom theme you must be familiar with the basic concept

More information

jmaki Overview Sang Shin Java Technology Architect Sun Microsystems, Inc.

jmaki Overview Sang Shin Java Technology Architect Sun Microsystems, Inc. jmaki Overview Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com Agenda What is and Why jmaki? jmaki widgets Using jmaki widget - List widget What makes up

More information

Taming AJAX with GWT. Scott Blum. Scott Blum Taming AJAX with GWT Page 1

Taming AJAX with GWT. Scott Blum. Scott Blum Taming AJAX with GWT Page 1 Taming AJAX with GWT Scott Blum Scott Blum Taming AJAX with GWT Page 1 Overview Why AJAX? Why GWT? How GWT Works Add GWT to your App Advanced Techniques Summary Q & A Scott Blum Taming AJAX with GWT Page

More information

Introduction to WEB PROGRAMMING

Introduction to WEB PROGRAMMING Introduction to WEB PROGRAMMING Web Languages: Overview HTML CSS JavaScript content structure look & feel transitions/animation s (CSS3) interaction animation server communication Full-Stack Web Frameworks

More information

CSCB20 Week 7. Introduction to Database and Web Application Programming. Anna Bretscher Winter 2017

CSCB20 Week 7. Introduction to Database and Web Application Programming. Anna Bretscher Winter 2017 CSCB20 Week 7 Introduction to Database and Web Application Programming Anna Bretscher Winter 2017 Cascading Style Sheets (CSS) Examples of CSS CSS provides a powerful and stillevolving toolkit of style

More information

Session 4. Style Sheets (CSS) Reading & References. A reference containing tables of CSS properties

Session 4. Style Sheets (CSS) Reading & References.   A reference containing tables of CSS properties Session 4 Style Sheets (CSS) 1 Reading Reading & References en.wikipedia.org/wiki/css Style Sheet Tutorials www.htmldog.com/guides/cssbeginner/ A reference containing tables of CSS properties web.simmons.edu/~grabiner/comm244/weekthree/css-basic-properties.html

More information

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript PHP Curriculum Module: HTML5, CSS3 & JavaScript Introduction to the Web o Explain the evolution of HTML o Explain the page structure used by HTML o List the drawbacks in HTML 4 and XHTML o List the new

More information

Study Guide 2 - HTML and CSS - Chap. 6,8,10,11,12 Name - Alexia Bernardo

Study Guide 2 - HTML and CSS - Chap. 6,8,10,11,12 Name - Alexia Bernardo Study Guide 2 - HTML and CSS - Chap. 6,8,10,11,12 Name - Alexia Bernardo Note: We skipped Study Guide 1. If you d like to review it, I place a copy here: https:// people.rit.edu/~nbbigm/studyguides/sg-1.docx

More information

Stamp Builder. Documentation. v1.0.0

Stamp  Builder. Documentation.   v1.0.0 Stamp Email Builder Documentation http://getemailbuilder.com v1.0.0 THANK YOU FOR PURCHASING OUR EMAIL EDITOR! This documentation covers all main features of the STAMP Self-hosted email editor. If you

More information

Google Wave Client: Powered by GWT. Adam Schuck 28 May, 2009

Google Wave Client: Powered by GWT. Adam Schuck 28 May, 2009 Google Wave Client: Powered by GWT Adam Schuck 28 May, 2009 Google Wave client search abuse detection saved searches folders authentication access control playback waves attachments gadgets contacts presence

More information

Simplifying GWT RPC with

Simplifying GWT RPC with 2012 Yaakov Chaikin Simplifying GWT RPC with Open Source GWT-Tools RPC Service (GWT 2.4 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html

More information

Introduction to using HTML to design webpages

Introduction to using HTML to design webpages Introduction to using HTML to design webpages #HTML is the script that web pages are written in. It describes the content and structure of a web page so that a browser is able to interpret and render the

More information

Fast, Easy, Beautiful: Pick Three Building User Interfaces with Google Web Toolkit. Chris Schalk October 29, 2007

Fast, Easy, Beautiful: Pick Three Building User Interfaces with Google Web Toolkit. Chris Schalk October 29, 2007 Fast, Easy, Beautiful: Pick Three Building User Interfaces with Google Web Toolkit Chris Schalk October 29, 2007 Today s Topics The potential of Ajax - why we re all here GWT brings software engineering

More information

Google Web Toolkit for quick relief of AJAX pain. Kelly Norton & Miguel Méndez

Google Web Toolkit for quick relief of AJAX pain. Kelly Norton & Miguel Méndez Google Web Toolkit for quick relief of AJAX pain. Kelly Norton & Miguel Méndez Overview the pleasure of using AJAX apps. the pain of creating them. getting some pain relief with GWT. the tutorial part.

More information

Index LICENSED PRODUCT NOT FOR RESALE

Index LICENSED PRODUCT NOT FOR RESALE Index LICENSED PRODUCT NOT FOR RESALE A Absolute positioning, 100 102 with multi-columns, 101 Accelerometer, 263 Access data, 225 227 Adding elements, 209 211 to display, 210 Animated boxes creation using

More information

Cooking with GWT: Recipes for the perfect dinner. Alberto Mijares Basel, Switzerland

Cooking with GWT: Recipes for the perfect dinner. Alberto Mijares Basel, Switzerland Cooking with GWT: Recipes for the perfect dinner Alberto Mijares alberto.mijares@canoo.com Basel, Switzerland Introduction Who am I? What do I do? What is GWT? What does GWT try to solve? What does GWT

More information

E-Nature Tutorial for Google Web Toolkit. Dominik Erbsland

E-Nature Tutorial for Google Web Toolkit. Dominik Erbsland E-Nature Tutorial for Google Web Toolkit Dominik Erbsland (de@profzone.ch) Version 0.1 November 2, 2006 Contents 1 Preface 1 1.1 Why this tutorial............................. 1 2 Creating A Project 2

More information

IBM Bluemix Node-RED Watson Starter

IBM Bluemix Node-RED Watson Starter IBM Bluemix Node-RED Watson Starter Cognitive Solutions Application Development IBM Global Business Partners Duration: 45 minutes Updated: Feb 14, 2018 Klaus-Peter Schlotter kps@de.ibm.com Version 1 Overview

More information

PGT T3CHNOLOGY SCOUTING. Google Webtoolkit. JSF done right?

PGT T3CHNOLOGY SCOUTING. Google Webtoolkit. JSF done right? Google Webtoolkit JSF done right? Session topics Web 2.0, Ajax GWT What is it? Java EE and the Web GWT and Java EE JSF done right? Time for a demo? 2 2008 Dipl.-Wing. P. G. Taboada Web 2.0 Hard to define

More information

GWT and jmaki: Expanding the GWT Universe. Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems

GWT and jmaki: Expanding the GWT Universe. Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems GWT and jmaki: Expanding the GWT Universe Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems Learn how to enhance Google Web Toolkit (GWT) to include many Ajax enabled

More information

Google Web Toolkit. Google Web Toolkit. by Chris Seddon CRS Enterprises Ltd 1

Google Web Toolkit. Google Web Toolkit. by Chris Seddon CRS Enterprises Ltd 1 Google Web Toolkit by Chris Seddon 2000-11 CRS Enterprises Ltd 1 Google Web Toolkit 1. Introduction to GWT 2. Introduction JavaScript and CSS 3. GWT : User Interface 4. Events 5. Internationalization and

More information

Index. alt, 38, 57 class, 86, 88, 101, 107 href, 24, 51, 57 id, 86 88, 98 overview, 37. src, 37, 57. backend, WordPress, 146, 148

Index. alt, 38, 57 class, 86, 88, 101, 107 href, 24, 51, 57 id, 86 88, 98 overview, 37. src, 37, 57. backend, WordPress, 146, 148 Index Numbers & Symbols (angle brackets), in HTML, 47 : (colon), in CSS, 96 {} (curly brackets), in CSS, 75, 96. (dot), in CSS, 89, 102 # (hash mark), in CSS, 87 88, 99 % (percent) font size, in CSS,

More information

Introduction Haim Michael. All Rights Reserved.

Introduction Haim Michael. All Rights Reserved. Architecture Introduction Applications developed using Vaadin include a web application servlet based part, user interface components, themes that dictate the look & feel and a data model that enables

More information

Fast, Easy, Beautiful: Pick Three Introducing Google Web Toolkit (GWT)

Fast, Easy, Beautiful: Pick Three Introducing Google Web Toolkit (GWT) Fast, Easy, Beautiful: Pick Three Introducing Google Web Toolkit (GWT) Xin Zhou Google, Beijing, China May 31, 2007 Google s APIs Building no-compromise AJAX applications with Java technology using Google

More information

Hacking Web Sites 3) Insecure Direct Object Reference

Hacking Web Sites 3) Insecure Direct Object Reference Hacking Web Sites 3) Insecure Direct Object Reference Emmanuel Benoist Spring Term 2017 Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 1 Table of Contents Introduction

More information

FINALTERM EXAMINATION Spring 2009 CS506- Web Design and Development Solved by Tahseen Anwar

FINALTERM EXAMINATION Spring 2009 CS506- Web Design and Development Solved by Tahseen Anwar FINALTERM EXAMINATION Spring 2009 CS506- Web Design and Development Solved by Tahseen Anwar www.vuhelp.pk Solved MCQs with reference. inshallah you will found it 100% correct solution. Time: 120 min Marks:

More information

Google Plugin for Eclipse

Google Plugin for Eclipse Google Plugin for Eclipse Not just for newbies anymore Miguel Mendez Tech Lead - Google Plugin for Eclipse 1 Overview Background AJAX Google Web Toolkit (GWT) App Engine for Java Plugin Design Principles

More information

Cascading Style Sheets Level 2

Cascading Style Sheets Level 2 Cascading Style Sheets Level 2 Course Objectives, Session 1 Level 1 Quick Review Chapter 6 Revisit: Web Fonts Chapter 8: Adding Graphics to Web Pages Chapter 9: Sprucing Up Your Site s Navigation Begin

More information

Configuring Hotspots

Configuring Hotspots CHAPTER 12 Hotspots on the Cisco NAC Guest Server are used to allow administrators to create their own portal pages and host them on the Cisco NAC Guest Server. Hotspots created by administrators can be

More information

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery. HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets

More information

HTML + CSS. ScottyLabs WDW. Overview HTML Tags CSS Properties Resources

HTML + CSS. ScottyLabs WDW. Overview HTML Tags CSS Properties Resources HTML + CSS ScottyLabs WDW OVERVIEW What are HTML and CSS? How can I use them? WHAT ARE HTML AND CSS? HTML - HyperText Markup Language Specifies webpage content hierarchy Describes rough layout of content

More information

The Google Web Toolkit (GWT):

The Google Web Toolkit (GWT): 2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): Introduction to Cell Widgets (GWT 2.5 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html

More information

Dynamic Product Options extension for Magento2. User Guide

Dynamic Product Options extension for Magento2. User Guide Dynamic Product Options extension for Magento2 User Guide version 2.0 Website: http://www.itoris.com Page 1 Contents 1. Introduction... 4 2. Installation... 5 2.1. System Requirements... 5 2.2. Installation...

More information

In this exercise we shall be using jsfiddle.net to build a simple data driven web site in HTML5. Building Blocks

In this exercise we shall be using jsfiddle.net to build a simple data driven web site in HTML5. Building Blocks Web Building Blocks In this exercise we are going to look at the four building blocks of the web: structure, style, content and action. This methodology forms the basis of a data driven web site. In this

More information

Lab Introduction to Cascading Style Sheets

Lab Introduction to Cascading Style Sheets Lab Introduction to Cascading Style Sheets For this laboratory you will need a basic text editor and a browser. In the labs, winedt or Notepad++ is recommended along with Firefox/Chrome For this activity,

More information

COPYRIGHTED MATERIAL. Contents. Chapter 1: Creating Structured Documents 1

COPYRIGHTED MATERIAL. Contents. Chapter 1: Creating Structured Documents 1 59313ftoc.qxd:WroxPro 3/22/08 2:31 PM Page xi Introduction xxiii Chapter 1: Creating Structured Documents 1 A Web of Structured Documents 1 Introducing XHTML 2 Core Elements and Attributes 9 The

More information

Unveiling the Basics of CSS and how it relates to the DataFlex Web Framework

Unveiling the Basics of CSS and how it relates to the DataFlex Web Framework Unveiling the Basics of CSS and how it relates to the DataFlex Web Framework Presented by Roel Fermont 1 Today more than ever, Cascading Style Sheets (CSS) have a dominant place in online business. CSS

More information

CIS 408 Internet Computing Sunnie Chung

CIS 408 Internet Computing Sunnie Chung Project #2: CIS 408 Internet Computing Sunnie Chung Building a Personal Webpage in HTML and Java Script to Learn How to Communicate Your Web Browser as Client with a Form Element with a Web Server in URL

More information

yawrap Documentation Release Michal Kaczmarczyk

yawrap Documentation Release Michal Kaczmarczyk yawrap Documentation Release 0.4.0 Michal Kaczmarczyk Jul 12, 2018 Contents 1 Features 3 2 Usage Examples 5 3 Contents 11 4 Indices and tables 19 i ii Yawrap is a powerful, lightweight, pythonic pseudo-static

More information

Hacking Web Sites Cross Site Scripting

Hacking Web Sites Cross Site Scripting Hacking Web Sites Cross Site Scripting Emmanuel Benoist Spring Term 2018 Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 1 Table of Contents Presentation Stored

More information

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject

More information

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments. Web Development WEB101: Web Development Fundamentals using HTML, CSS and JavaScript $2,495.00 5 Days Replay Class Recordings included with this course Upcoming Dates Course Description This 5-day instructor-led

More information

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. Preface p. xiii Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. 11 Creating the Deployment Descriptor p. 14 Deploying Servlets

More information

5.1 Registration and Configuration

5.1 Registration and Configuration 5.1 Registration and Configuration Registration and Configuration Apache Wink provides several methods for registering resources and providers. This chapter describes registration methods and Wink configuration

More information

welcome to BOILERCAMP HOW TO WEB DEV

welcome to BOILERCAMP HOW TO WEB DEV welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js

More information

User Interaction: jquery

User Interaction: jquery User Interaction: jquery Assoc. Professor Donald J. Patterson INF 133 Fall 2012 1 jquery A JavaScript Library Cross-browser Free (beer & speech) It supports manipulating HTML elements (DOM) animations

More information

Implementing a chat button on TECHNICAL PAPER

Implementing a chat button on TECHNICAL PAPER Implementing a chat button on TECHNICAL PAPER Contents 1 Adding a Live Guide chat button to your Facebook page... 3 1.1 Make the chat button code accessible from your web server... 3 1.2 Create a Facebook

More information

GWT MOCK TEST GWT MOCK TEST I

GWT MOCK TEST GWT MOCK TEST I http://www.tutorialspoint.com GWT MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to GWT. You can download these sample mock tests at your local machine

More information

CSS: formatting webpages

CSS: formatting webpages CSS: formatting webpages Why CSS? separate content from formatting (style) style can be changed easily without rewriting webpages keep formatting consistent across website allows more advanced formatting

More information

HTMLnotesS15.notebook. January 25, 2015

HTMLnotesS15.notebook. January 25, 2015 The link to another page is done with the

More information

Google Web Toolkit. Can help you create amazing apps. San Francisco Java User Group Oct 13, 2009

Google Web Toolkit. Can help you create amazing apps. San Francisco Java User Group Oct 13, 2009 Google Web Toolkit Can help you create amazing apps San Francisco Java User Group Oct 13, 2009 Fred Sauer Developer Advocate fredsa@google.com Twitter: @fredsa 1 Agenda Introduction Selecting a language

More information

7) Malicious File Execution

7) Malicious File Execution 7) Malicious File Execution Emmanuel Benoist Spring Term 2017 Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 1 Table of Contents Examples of Attacks Presentation

More information

Creating a Job Aid using HTML and CSS

Creating a Job Aid using HTML and CSS Creating a Job Aid using HTML and CSS In this tutorial we will apply what we have learned about HTML and CSS. We will create a web page containing a job aid about how to buy from a vending machine. Optionally,

More information

Overview of Web Application Development

Overview of Web Application Development Overview of Web Application Development Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Web Apps 2018 1 / 34 Table of Contents Overview Architecture 1 Overview

More information

THE NEW ERA OF WEB DEVELOPMENT. qooxdoo. Andreas Ecker, Derrell Lipman

THE NEW ERA OF WEB DEVELOPMENT. qooxdoo. Andreas Ecker, Derrell Lipman THE NEW ERA OF WEB DEVELOPMENT qooxdoo Andreas Ecker, Derrell Lipman The Ajax Experience, 25-27 July 2007 1 Introduction Client-side JavaScript framework Professional application development Comprehensive

More information

<body bgcolor=" " fgcolor=" " link=" " vlink=" " alink=" "> These body attributes have now been deprecated, and should not be used in XHTML.

<body bgcolor=  fgcolor=  link=  vlink=  alink= > These body attributes have now been deprecated, and should not be used in XHTML. CSS Formatting Background When HTML became popular among users who were not scientists, the limited formatting offered by the built-in tags was not enough for users who wanted a more artistic layout. Netscape,

More information

Lab 1: Introducing HTML5 and CSS3

Lab 1: Introducing HTML5 and CSS3 CS220 Human- Computer Interaction Spring 2015 Lab 1: Introducing HTML5 and CSS3 In this lab we will cover some basic HTML5 and CSS, as well as ways to make your web app look and feel like a native app.

More information