Using GWT and Eclipse to Build Great Mobile Web Apps
|
|
- Lesley Byrd
- 6 years ago
- Views:
Transcription
1
2 Using GWT and Eclipse to Build Great Mobile Web Apps Chris Ramsdale Product Manager, GWT and Google Plugin for Eclipse Feedback: Twitter: #io2011 #gwt
3 Why Are We Here? 3
4 The Problems Mobile devices...have smaller screens...can have different orientations...have slower processors...can be disconnected 4
5 The Solution Use GWT and Google's Plugin for Eclipse (GPE) to build great mobile web apps for iphone and Android And helps you...build great mobile UIs for any form factor...optimize the user experience...make it snappy...work without a connection 5
6 Example App: Cloud Tasks Web based task mgmt app UIs for Android, iphone, ipad, and desktop browsers Orientation change handling Offline support Source code available at the end 6
7 Build great UIs for any form factor Optimize the user experience Make it snappy Work without a connection
8 Build Great Mobile UIs For Any Form Factor UI code like you expect it Declarative UI layout with UiBinder Speed up UI development with WYSIWYG tools Using GWT Designer to build great UIs 8
9 Build Great Mobile UIs For Any Form Factor UI code like you expect it <ui:uibinder> <ui:style>.addbutton { color: white; font-size: 18pt; background: none; border: none; text-align: right; font-weight: bold; } </ui:style>... </ui:uibinder> 9
10 Build Great Mobile UIs For Any Form Factor UI code like you expect it <ui:uibinder> <ui:style>.addbutton { color: white; font-size: 18pt; background: none; border: none; text-align: right; font-weight: bold; } </ui:style>... </ui:uibinder> 10
11 Build Great Mobile UIs For Any Form Factor UI code like you expect it <ui:uibinder> <g:docklayoutpanel> <!-- Header --> <g:north size="32"> <g:htmlpanel></g:htmlpanel> </g:north> <g:center> <g:docklayoutpanel> <!-- Task List. --> <g:west size="30"> <g:simplelayoutpanel addstylenames="{style.tasklist}"/> </g:west> <!-- Content. --> <g:center> <g:decklayoutpanel></g:decklayoutpanel> </g:center> </g:docklayoutpanel> </g:center> </g:docklayoutpanel> </ui:uibinder> 11
12 Build Great Mobile UIs For Any Form Factor UI code like you expect it <ui:uibinder> <g:docklayoutpanel> <!-- Header --> <g:north size="32"> <g:htmlpanel></g:htmlpanel> </g:north> <g:center> <g:docklayoutpanel> <!-- Task List. --> <g:west size="30"> <g:simplelayoutpanel addstylenames="{style.tasklist}"/> </g:west> <!-- Content. --> <g:center> <g:decklayoutpanel></g:decklayoutpanel> </g:center> </g:docklayoutpanel> </g:center> </g:docklayoutpanel> </ui:uibinder> 12
13 Build Great Mobile UIs For Any Form Factor UI code like you expect it 13
14 Build Great Mobile UIs For Any Form Factor UI code like you expect it <ui:uibinder> <g:docklayoutpanel> <!-- Header --> <g:north size="32"> <g:htmlpanel></g:htmlpanel> </g:north> <g:center> <g:docklayoutpanel> <!-- Task List. --> <g:west size="30"> <g:simplelayoutpanel addstylenames="{style.tasklist}"/> </g:west> <!-- Content. --> <g:center> <g:decklayoutpanel></g:decklayoutpanel> </g:center> </g:docklayoutpanel> </g:center> </g:docklayoutpanel> </ui:uibinder> 14
15 Build Great Mobile UIs For Any Form Factor UI code like you expect it 15
16 Build Great Mobile UIs For Any Form Factor UI code like you expect it <ui:uibinder> <g:docklayoutpanel> <!-- Header --> <g:north size="32"> <g:htmlpanel></g:htmlpanel> </g:north> <g:center> <g:docklayoutpanel> <!-- Task List. --> <g:west size="30"> <g:simplelayoutpanel addstylenames="{style.tasklist}"/> </g:west> <!-- Content. --> <g:center> <g:decklayoutpanel></g:decklayoutpanel> </g:center> </g:docklayoutpanel> </g:center> </g:docklayoutpanel> </ui:uibinder> 16
17 Build Great Mobile UIs For Any Form Factor UI code like you expect it 17
18 Build Great Mobile UIs For Any Form Factor Speed up UI development with WYSIWYG tools 18
19 Build Great Mobile UIs For Any Form Factor Speed up UI development with WYSIWYG tools 19
20 Build Great Mobile UIs For Any Form Factor Device-specific, declarative UIs 20 ListViewTablet.ui.xml ListViewPhone.ui.xml
21 Build great UIs for any form factor Optimize the user experience Make it snappy Work without a connection
22 Optimize the User Experience Desktops, tablets, and phones...oh my! Deferred binding to sort them out Landscape vs. portrait Capture and respond to orientation changes Icing on the cake Maximize code reuse by using the Model-View-Presenter (MVP) design pattern 22
23 Optimize the User Experience Select the right UI using deferred binding Deferred what? 23
24 Optimize the User Experience Deferred binding - optimize for the browser 24
25 Optimize the User Experience Select the right UI using deferred binding 25
26 Optimize the User Experience Select the right UI using deferred binding 26
27 Optimize the User Experience Select the right UI using deferred binding CloudTasks.gwt.xml (GWT app config) <!-- Use ViewFactoryImplMobile for mobile form factor. --> <replace-with class="com.google.mobilecalendar.client.viewfactoryimplmobile"> <when-type-is class="com.google.mobilecalendar.client.viewfactory"/> <when-property-is name="formfactor" value="mobile"/> </replace-with> 27
28 Optimize the User Experience Select the right UI using deferred binding CloudTasks.gwt.xml (GWT app config) <!-- Use ViewFactoryImplMobile for mobile form factor. --> <replace-with class="com.google.mobilecalendar.client.viewfactoryimplmobile"> <when-type-is class="com.google.mobilecalendar.client.viewfactory"/> <when-property-is name="formfactor" value="mobile"/> </replace-with> 28
29 Optimize the User Experience Select the right UI using deferred binding CloudTasks.gwt.xml (GWT app config) <!-- Use ViewFactoryImplMobile for tablet form factor. --> <replace-with class="com.google.mobilecalendar.client.viewfactoryimpltablet"> <when-type-is class="com.google.mobilecalendar.client.viewfactory"/> <when-property-is name="formfactor" value="tablet"/> </replace-with> 29
30 Optimize the User Experience Select the right UI using deferred binding CloudTasks.gwt.xml (GWT app config) <!-- Use ViewFactoryImplMobile for tablet form factor. --> <replace-with class="com.google.mobilecalendar.client.viewfactoryimpltablet"> <when-type-is class="com.google.mobilecalendar.client.viewfactory"/> <when-property-is name="formfactor" value="tablet"/> </replace-with> 30
31 Optimize the User Experience Select the right UI using deferred binding 31 FormFactor.gwt.xml <property-provider name="formfactor"> <![CDATA[ var ua = navigator.useragent.tolowercase(); if (ua.indexof("ipad")!= -1) { return "tablet"; } else if (ua.indexof("iphone")!= -1 ) { return "mobile"; } else if (ua.indexof("android")!= -1) { } ]]> // Overly complex hueristic for determining Android form factor... </property-provider>
32 Optimize the User Experience Select the right UI using deferred binding 32 FormFactor.gwt.xml <property-provider name="formfactor"> <![CDATA[ var ua = navigator.useragent.tolowercase(); if (ua.indexof("ipad")!= -1) { return "tablet"; } else if (ua.indexof("iphone")!= -1 ) { return "mobile"; } else if (ua.indexof("android")!= -1) { } ]]> // Overly complex hueristic for determining Android form factor... </property-provider>
33 Optimize the User Experience Select the right UI using deferred binding 33 FormFactor.gwt.xml <property-provider name="formfactor"> <![CDATA[ var ua = navigator.useragent.tolowercase(); if (ua.indexof("ipad")!= -1) { return "tablet"; } else if (ua.indexof("iphone")!= -1 ) { return "mobile"; } else if (ua.indexof("android")!= -1) { } ]]> // Overly complex hueristic for determining Android form factor... </property-provider>
34 Optimize the User Experience Select the right UI using deferred binding 34 FormFactor.gwt.xml <property-provider name="formfactor"> <![CDATA[ var ua = navigator.useragent.tolowercase(); if (ua.indexof("ipad")!= -1) { return "tablet"; } else if (ua.indexof("iphone")!= -1 ) { return "mobile"; } else if (ua.indexof("android")!= -1) { } ]]> // Overly complex heuristic for determining Android form factor... </property-provider>
35 Optimize the User Experience Select the right UI using deferred binding CloudTasks.gwt.xml (GWT app config) <!-- Use ViewFactoryImplMobile for tablet form factor. --> <replace-with class="com.google.mobilecalendar.client.viewfactoryimpltablet"> <when-type-is class="com.google.mobilecalendar.client.viewfactory"/> <when-property-is name="formfactor" value="tablet"/> </replace-with> 35
36 Optimize the User Experience Select the right UI using deferred binding 36
37 Build Great Mobile UIs For Any Form Factor Device-specific, declarative UIs 37 ListViewTablet.ui.xml ListViewPhone.ui.xml
38 Optimize the User Experience Capture and respond to orientation changes 38
39 Optimize the User Experience Capture and respond to orientation changes 39
40 Optimize the User Experience Capture and respond to orientation changes 40
41 Optimize the User Experience Capture and respond to orientation changes /* * Listen for changes in the window size so we can adjust the * orientation of the app. This will also catch orientation changes * on mobile devices. */ windowresizehandler = Window.addResizeHandler(new ResizeHandler() { public void onresize(resizeevent event) { } }); if (isorientationportrait!= calculateorientationportrait()) { } isorientationportrait =!isorientationportrait; adjustorientation(isorientationportrait); 41
42 Optimize the User Experience Capture and respond to orientation changes /* * Listen for changes in the window size so we can adjust the * orientation of the app. This will also catch orientation changes * on mobile devices. */ windowresizehandler = Window.addResizeHandler(new ResizeHandler() { public void onresize(resizeevent event) { } }); if (isorientationportrait!= calculateorientationportrait()) { } isorientationportrait =!isorientationportrait; adjustorientation(isorientationportrait); 42
43 Optimize the User Experience Capture and respond to orientation changes private static boolean calculateorientationportrait() { } return Window.getClientHeight() > Window.getClientWidth(); 43
44 Optimize the User Experience Capture and respond to orientation changes /* * Listen for changes in the window size so we can adjust the * orientation of the app. This will also catch orientation changes * on mobile devices. */ windowresizehandler = Window.addResizeHandler(new ResizeHandler() { public void onresize(resizeevent event) { } }); if (isorientationportrait!= calculateorientationportrait()) { } isorientationportrait =!isorientationportrait; adjustorientation(isorientationportrait); 44
45 Optimize the User Experience Capture and respond to orientation changes 45
46 Optimize the User Experience Capture and respond to orientation changes 46
47 Optimize the User Experience Maximize code reuse using the MVP pattern 47
48 Optimize the User Experience Maximize code reuse using the MVP pattern MVP recap Model-View-Presenter design pattern Similar to MVC - less logic in the View Business logic goes are part of Model/Presenter Keep Views as simple as possible Faster test cycles: run tests as vanilla JRE tests 48
49 Optimize the User Experience Maximize code reuse using the MVP pattern Tablet vs Phone Business logic is the same Views change Ideal design pattern for supporting multiple form factors 49
50 Optimize the User Experience Maximize code reuse using the MVP pattern 50
51 Optimize the User Experience Maximize code reuse using the MVP pattern 51
52 Optimize the User Experience Select the right UI using deferred binding CloudTasks.gwt.xml (GWT module config) <!-- Use ViewFactoryImplTablet for tablet form factor. --> <replace-with class="com.google.mobilecalendar.client.viewfactoryimpltablet"> <when-type-is class="com.google.mobilecalendar.client.viewfactory"/> <when-property-is name="formfactor" value="tablet"/> </replace-with> 52
53 Build great UIs for any form factor Optimize the user experience Make it snappy Work without a connection
54 Make it Snappy Increase responsiveness Problem: HTTP requests are expensive over 3G connections Minimize startup time Problem: Mobile processing power still trails desktops/laptops Problem: Parsing large amounts of Javascript can be a large source of latency 54
55 Make it Snappy Increase responsiveness Solution: Use GWT's Client Bundle to batch resource fetches Minimize startup time Solution: Use Code Splitting to grab only the code you need Solution: Remove unused code, reduce overall code size using GWT compiler optimizations 55
56 Make it Snappy Increase responsiveness by bundling resource fetches Demo 56
57 Make it Snappy Increase responsiveness by bundling resource fetches Even worse, mobile browsers limit the number of concurrent requests Ex http request waterfall chart for Android - 4 concurrent TCP connections 57
58 Make it Snappy Increase responsiveness by bundling resources public interface Resources extends ClientBundle public ImageResource public ImageResource image1(); }... 58
59 Make it Snappy Increase responsiveness by deferring resource fetching void onshowimagesbuttonclicked() { } GWT.runAsync(new RunAsyncCallback() { } public void onsuccess() { } showimagesdialog(); 59
60 Make it Snappy Increase responsiveness by deferring resource fetching void onshowimagesbuttonclicked() { } GWT.runAsync(new RunAsyncCallback() { } public void onsuccess() { } showimagesdialog(); 60
61 Make it Snappy Increase responsiveness by deferring resource fetching Total time spent waiting (ms) 2000 HTTP Request Overhead Not bundled: 1409ms Bundled: 594ms Bundled and code split: 664ms Not bundled Bundled Bundled/code split Startup Image dialog 61
62 Make it Snappy Reduce overall code size, reduce startup time More Javascript == more parsing == increased load time, cpu cycles Increased cpu cycles == battery drain == poor user experience GWT compiler optimizations can help Dead code elimination Duplicate function removal Obfuscation Optimized vs Unoptimized Output Size of Javascript in KB Optimized Unoptimized 62
63 Build great UIs for any form factor Optimize the user experience Make it snappy Work without a connection
64 Work Without a Connection Run wherever, whenever Use Application Cache to load resources locally Access data wherever, whenever Use Local Storage as a caching mechanism for RPCs 64
65 Work Without a Connection Run wherever, whenever using Application Cache Part of the HTML5 feature set Loads resources like HTML, CSS, and JS from disk Works with iphone and Android (+ Chrome, Safari, and Firefox) 65
66 Work Without a Connection Run wherever, whenever using Application Cache appcache.nocache.manifest Lists all of the files that you want to browser to cache Include HTML, CSS, JS Exclude GWT-RPC-related files (security) "nocache" - always requested web.xml mime-type for manifest files (text/plain) <your_app>.html include <html manifest="app.nocache.manifest"> 66
67 Work Without a Connection Run wherever, whenever using Application Cache...or check out the GWT 2.4 SDK :-) 67
68 Work Without a Connection Run wherever, whenever using Application Cache <!-- Define a custom App Cache linker --> <define-linker name="appcachelinker" class="com.google.gwt.sample.mobilewebapp.linker.appcachelinker"/> <!-- Use it --> <add-linker name="appcachelinker"/> 68
69 Work Without a Connection Access data wherever, whenever using Local Storage Part of the HTML5 feature set Utilizes a local database for reading/writing data Key/value-pair persistence Works with iphone and Android (+ Chrome, Safari, and Firefox) Included in the GWT 2.3 SDK 69
70 Work Without a Connection Access data wherever, whenever using Local Storage Grab an instance of the Local Storage interface localstorage = Storage.getLocalStorageIfSupported(); Read cache and then request any updates public List<Tasks> gettasks() { String taskliststring = localstorage.getitem(tasklist_save_key); List<Tasks> tasks = deserialize(taskliststring); requestfactory.taskrequest().queryforupdates().fire(...) {... } return tasks; } 70
71 Work Without a Connection Access data wherever, whenever using Local Storage Upon response, update cache and any listeners public List<Tasks> gettasks() { }... requestfactory.taskrequest().queryforupdates().fire(... new Receiver<List<Tasks>>() { public onsuccess(list<tasks> tasks) { }}); String tasksliststring = serialize(tasks); localstorage.setitem(taskslist_save_key, tasksliststring); // update everyone listening for task list updates 71
72 Summary There are many challenges when building great mobile web apps GWT and GPE can help Tools for quickly building great UIs Frameworks for optimizing the user experience Compilers and code generators to improve speed API support for working offline 72
73 More Info... You can download the source and tools here: Other sessions to check out Use Page Speed to Optimize Your Web Site For Mobile (Check back for YouTube link) Mobile Web Development: From Zero to Hero (12:30pm) HTML5 versus Android: Apps or Web for Mobile Development? (3pm) 73
74 Q&A 74
75 75 </presentation>
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 informationUse Page Speed to Optimize Your Web Site for Mobile
Use Page Speed to Optimize Your Web Site for Mobile Bryan McQuade and Libo Song, May 10, 2011 Hashtags: #io2011 #DevTools Feedback: http://goo.gl/ce1zu Page Speed Background Help developers optimize their
More informationClient-side Debugging. Gary Bettencourt
Client-side Debugging Gary Bettencourt Overview What is client-side debugging Tool overview Simple & Advanced techniques Debugging on Mobile devices Overview Client debugging involves more then just debugging
More informationThe paper shows how to realize write-once-run-anywhere for such apps, and what are important lessons learned from our experience.
Paper title: Developing WebRTC-based team apps with a cross-platform mobile framework. Speaker: John Buford. Track: Mobile and Wearable Devices, Services, and Applications. Hello everyone. My name is John
More informationmgwt Cross platform development with Java
mgwt Cross platform development with Java Katharina Fahnenbruck Consultant & Trainer! www.m-gwt.com Motivation Going native Good performance Going native Good performance Device features Going native Good
More informationUsing HTML5 Offline Storage. Brady Eidson Safari and WebKit Engineer
Using HTML5 Offline Storage Brady Eidson Safari and WebKit Engineer 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 So what can I do without the cloud? 22 What You ll Learn Make apps accessible offline
More informationGoogle 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 informationAndroid System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015
Android System Architecture Android Application Fundamentals Applications in Android All source code, resources, and data are compiled into a single archive file. The file uses the.apk suffix and is used
More informationPGT 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 informationBasics of Web Technologies
Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for Web Designing Given below is the brief description for the course you are looking for: Introduction to Web Technologies
More informationeclipse rich ajax platform (rap)
eclipse rich ajax platform (rap) winner Jochen Krause CEO Innoopract Member of the Board of Directors Eclipse Foundation jkrause@innoopract.com GmbH outline rich ajax platform project status and background
More informationSimple AngularJS thanks to Best Practices
Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it
More informationGRITS AJAX & GWT. Trey Roby. GRITS 5/14/09 Roby - 1
AJAX & GWT Trey Roby GRITS 5/14/09 Roby - 1 1 Change The Web is Changing Things we never imagined Central to people s lives Great Opportunity GRITS 5/14/09 Roby - 2 2 A Very Brief History of Computing
More informationThe Impact on Performance of Mobile Devices & Connections
The Impact on Performance of Mobile Devices & Connections Prepared by: Paul Bianciardi Contents 1 Mobile Access to Mobile Sites...3 2 Impact of Latency...4 3 Non Mobile Site?...6 4 Redirects to Mobile
More informationIntroduction to Sencha Ext JS
Introduction to Sencha Ext JS Olga Petrova olga@sencha.com Sales Engineer EMEA Agenda Use Case How It Works Advantages Demo Use case Ext JS a Javascript framework for building enterprise data-intensive
More informationSystem Requirements and Technical Prerequisites for SAP SuccessFactors HCM Suite
System Requirements and Technical Prerequisites for SAP SuccessFactors HCM Suite SAP SuccessFactors HCM Suite is a fully web-based offering. You will need an Internet connection and a system that meets
More informationSAS Mobile BI 8.14 for ipad and iphone: Help
SAS Mobile BI 8.14 for ipad and iphone: Help 2 Welcome Getting Started How Do I Use the App? Check out the new features. View the videos: SAS Mobile BI for ipad and iphone playlist on YouTube Use VoiceOver?
More informationSoftware Architecture Documentation for the JRC MYGEOSS app for Invasive Species project
Software Architecture Documentation for the JRC MYGEOSS app for Invasive Species project 2015.3724 Table of Contents 1 Architecture View... 2 2 Application... 3 2.1 Technologies Used... 3 2.1.1 Apache
More informationThe Google Web Toolkit (GWT): Advanced Control of Layout with UiBinder
2012 Yaakov Chaikin The Google Web Toolkit (GWT): Advanced Control of Layout with UiBinder (GWT 2.4 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html
More informationSession 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes
Session 8 Deployment Descriptor 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/_status_codes
More informationFlexible and LEAN Ads
Flexible and LEAN Ads The IAB New Ad Portfolio emphasizes LEAN (Light, Encrypted, AdChoices supported, and Non-invasive) ad experience and flexible size ad specifications. LEAN ad experience for digital
More informationCopyright 2014, Oracle and/or its affiliates. All rights reserved.
1 Introduction to the Oracle Mobile Development Platform Dana Singleterry Product Management Oracle Development Tools Global Installed Base: PCs vs Mobile Devices 3 Mobile Enterprise Challenges In Pursuit
More informationTraditional Ajax vs. New business targeted Ajax
Traditional Ajax vs. New business targeted Ajax By Itzik Spitzen Introduction This article compares between the traditional Ajax represented by ASP.NET to that of the new Ajax approach represented by Visual
More informationCHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application
BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive
More informationResponsive Design for Web Applications R.I.T. S. Ludi/R. Kuehl p. 1 R I T. Software Engineering
Responsive Design for Web Applications S. Ludi/R. Kuehl p. 1 What is the Problem? S. Ludi/R. Kuehl p. 2 Credit: Matt Griffin What is the Problem? Mobile web access is ubiquitous One interface design does
More informationUnit 3 - Week 2 lectures: Building your webapp
X Courses» Modern Application Development Announcements Course Forum Progress Mentor Discourse forum Discussion Forum Unit 3 - Week 2 lectures: Building your webapp Course outline How to access the portal?
More informationBuilding Native Apps with ArcGIS API for JavaScript Using PhoneGap and jquery. Andy Gup, Lloyd Heberlie
Building Native Apps with ArcGIS API for JavaScript Using PhoneGap and jquery Andy Gup, Lloyd Heberlie Agenda Getting to know PhoneGap jquery overview jquery and ArcGIS API for JavaScript Putting it all
More informationBuilding Native Mapping Apps with PhoneGap: Advanced Techniques Andy
Building Native Mapping Apps with PhoneGap: Advanced Techniques Andy Gup @agup Agenda Application life-cycle Working with UI frameworks Security Geolocation Offline Expectations Experience with PhoneGap
More informationServing QML applications over the network. Jeremy Lainé Wifirst
Serving QML applications over the network Jeremy Lainé Wifirst Jeremy Lainé Using Qt since 2001 (desktop, mobile, embedded) Occasional Qt contributor (QDnsLookup) Head of software development at Wifirst
More informationBuilding a Mapping Application Start-to-Finish
Esri International User Conference San Diego, CA Technical Workshops July 12, 2011 Building a Mapping Application Start-to-Finish Sathya Prasad Introductions Sathya Prasad - Applications Prototype Lab,
More informationOverview of WebAdmin and UI Frameworks
Overview of WebAdmin and UI Frameworks ovirt Workshop - Bangalore October 2012 Kanagaraj Mayilsamy RedHat 1 Agenda The heart of ovirt UI GWT GWT Development Lifecycle Deferred Binding MVP Architecture
More informationPop-up. File format/ size: Must provide (.gif or.jpg) still image - max. 75KB for Mobile - max. 400KB for Tablet
Pop-up Dimensions: Mobile: 640 (W) x 960 (H) pixels Tablet Portrait - 1536 (W) x 2048 (H) pixels [For mytv SUPER only] Tablet Landscape - 2048 (W) x 1536 (H) pixels [For mytv SUPER only] File format/ size:
More informationAjax Performance Analysis. Ryan Breen
Ajax Performance Analysis Ryan Breen Ajax Performance Analysis Who Goals Ryan Breen: VP Technology at Gomez and blogger at ajaxperformance.com Survey tools available to developers Understand how to approach
More informationReader Release Notes. January 7, Release version: 3.1
Reader Release Notes January 7, 2019 Release version: 3.1 MindManager Reader Version 3.1... 2 General Information... 2 New in Version 3.1... 2 Supported Features... 2 Elements... 2 Text... 3 Navigation...
More informationCreating Web Mapping Applications. Nikki Golding
Creating Web Mapping Applications Nikki Golding Agenda Web Mapping and Map Services Fundamentals ArcGIS Web Mapping Applications - ArcGIS.com Viewer - ArcGIS Explorer Online - ArcGIS Viewer for Flex -
More informationSelenium Testing Course Content
Selenium Testing Course Content Introduction What is automation testing? What is the use of automation testing? What we need to Automate? What is Selenium? Advantages of Selenium What is the difference
More informationThe Google Web Toolkit (GWT): Declarative Layout with UiBinder Advanced Topics
2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): Declarative Layout with UiBinder Advanced Topics (GWT 2.5 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html
More informationSuccessMaker 9 Home User System Requirements
Home User System 2/10/2017 Overview Based on current hardware and software technologies, Pearson has determined that the system requirements listed in this document will deliver acceptable operation and
More informationAndroid Online Training
Android Online Training IQ training facility offers Android Online Training. Our Android trainers come with vast work experience and teaching skills. Our Android training online is regarded as the one
More informationRich Web Applications in Server-side Java without. Plug-ins or JavaScript
Rich Web Applications in Server-side Java without twitter: #vaadin @joonaslehtinen Plug-ins or JavaScript Joonas Lehtinen, PhD Vaadin Ltd - CEO joonas@vaadin.com ? Vaadin is a UI framework for desktop-like
More informationBrocade Virtual Traffic Manager and Parallels Remote Application Server
White Paper Parallels Brocade Virtual Traffic Manager and Parallels Deployment Guide 01 Contents Preface...4 About This Guide...4 Audience...4 Contacting Brocade...4 Internet...4 Technical Support...4
More informationCreating Extensions for Safari
Creating Extensions for Safari Part One Timothy Hatcher Safari and WebKit Engineer 2 3 HTML5 CSS3 JavaScript Native Code 4 Cross Platform Secure Crashes 5 What You ll Learn When to make a Safari Extension
More informationJCCC Virtual Labs. Click the link for more information on installing on that device type. Windows PC/laptop Apple imac or MacBook ipad Android Linux
JCCC Virtual Labs Revision 9/21/2017 http://ats.web. Welcome to the JCCC Virtual Lab Environment. This system allows students to access campus software titles on their personal computers from almost anywhere.
More informationLiving through Flash to ipad/html5 Conversion and Development
Living through Flash to ipad/html5 Conversion and Development Dave Goodman SoftAssist, Inc. 610.265.8484 ext 14 dgood@softassist.com www.softassist.com The Issue Your Courses How do we get from here to
More informationQCon - Mobile Maps HTML5 Team Andrea
QCon London @Nokia - Mobile Maps HTML5 Team Andrea Giammarchi @WebReflection the what the whole story, in 8 words the whole story, in 8 words one does not simply create an HTML5 Application Nokia Mobile
More informationHTML5 and Mobile: New Markup & Styles for the Mobile Web. Jason Clark Head of Digital Access & Web Services Montana State University Libraries
HTML5 and Mobile: New Markup & Styles for the Mobile Web Jason Clark Head of Digital Access & Web Services Montana State University Libraries Overview Demos View some code bits New Features and Functions
More informationThe Road to the Native Mobile Web. Kenneth Rohde Christiansen
The Road to the Native Mobile Web Kenneth Rohde Christiansen Kenneth Rohde Christiansen Web Platform Architect at Intel Europe Blink core owner and former active WebKit reviewer Works on Chromium, Crosswalk
More informationContents FORMAT 3. Specifications STATIC ADVERTISING 4. Interstitial HTML5 ADVERTISING 5-12
Advertising specs Contents FORMAT 3 Specifications STATIC ADVERTISING 4 Interstitial HTML5 ADVERTISING 5-12 Interstitial Responsive Technical info Testing Environment Quality assurance Best practice DESIGN
More informationHTML5 and CSS3: New Markup & Styles for the Emerging Web. Jason Clark Head of Digital Access & Web Services Montana State University Library
HTML5 and CSS3: New Markup & Styles for the Emerging Web Jason Clark Head of Digital Access & Web Services Montana State University Library Overview Revolution or Evolution? New Features and Functions
More informationSAS Mobile BI 8.15 for Android: Help
SAS Mobile BI 8.15 for Android: Help Welcome Getting Started How Do I Use the App? Check out the new features. View the videos: SAS Mobile BI for Android playlist on YouTube Use TalkBack? Learn the specialized
More informationBeyond Cookies: Persistent Storage for Web Applications. Brad Neuberg Google
Beyond Cookies: Persistent Storage for Web Applications Brad Neuberg Google What? What? 4K What? 4K 100K What? 4K 100K 500K What? 4K 100K 500K >1 MB What? Name/Value Storage Database Static Files Why?
More informationForce.com Mobile Web with Sencha Touch
Force.com Mobile Web with Sencha Touch Don Robins Outformations, Inc. www.forcementor.com www.outformations.com Who Am I? 1. Technical Instructor (since 2009) 2. Developer (since 1984) 3. Community Activist
More informationBest Practices. For developing a web game in modern browsers. Colt "MainRoach" McAnlis
Best Practices For developing a web game in modern browsers Colt "MainRoach" McAnlis 3.05.2012 The call me "web game" Content Server Database Gameplay Server Google App Engine Google Analytics Social Graph
More informationGWT: 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 informationIntegrating Mobile Applications - Contrasting the Browser with Native OS Apps. Cary FitzGerald
Integrating Mobile Applications - Contrasting the Browser with Native OS Apps Cary FitzGerald caryfitz@employees.org Workshop Leaders Peter Dunkley Acision Adam van den Hoven Frozen Mountain Integrating
More informationStrategies for Building Mobile Apps Using ArcGIS API for JavaScript
Strategies for Building Mobile Apps Using ArcGIS API for JavaScript Kelly Hutchins, Lloyd Heberlie Esri UC 2014 Technical Workshop Welcome Introductions Expectations Agenda Why are we here? Mobile resources
More informationEclipse Scout. Release Notes. Scout Team. Version 7.0
Eclipse Scout Release Notes Scout Team Version 7.0 Table of Contents About This Release.......................................................................... 1 Service Releases..........................................................................
More informationUnifying the Flash and HTML5 Video Experience
Unifying the Flash and HTML5 Video Experience Kaltura Inspire Webinar November 29, 2011 Twitter hashtag: #Kaltura Who uses Kaltura? Over 150,000 websites; over 20,000 community members Market leadership
More informationModule 6 Node.js and Socket.IO
Module 6 Node.js and Socket.IO Module 6 Contains 2 components Individual Assignment and Group Assignment Both are due on Wednesday November 15 th Read the WIKI before starting Portions of today s slides
More informationGoogle 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 informationAll India Council For Research & Training
WEB DEVELOPMENT & DESIGNING Are you looking for a master program in web that covers everything related to web? Then yes! You have landed up on the right page. Web Master Course is an advanced web designing,
More informationDATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016
DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.
More informationCisco Spark Widgets Technical drill down
DEVNET-1891 Cisco Spark Widgets Technical drill down Adam Weeks, Engineer @CiscoSparkDev Stève Sfartz, API Evangelist @CiscoDevNet Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker
More informationEnd User Monitoring. AppDynamics Pro Documentation. Version 4.2. Page 1
End User Monitoring AppDynamics Pro Documentation Version 4.2 Page 1 End User Monitoring....................................................... 4 Browser Real User Monitoring.............................................
More informationCity of Mobile GIS Web Mapping Applications: New Technology, New Expectations
City of Mobile GIS Web Mapping Applications: New Technology, New Expectations Presenters : Scott Kearney GIS Manager Patricia Creamer GIS Analyst Background: GIS Department Developing web mapping apps
More informationWebSphere Puts Business In Motion. Put People In Motion With Mobile Apps
WebSphere Puts Business In Motion Put People In Motion With Mobile Apps Use Mobile Apps To Create New Revenue Opportunities A clothing store increases sales through personalized offers Customers can scan
More informationIBM Forms Experience Builder
IBM Forms Experience Builder Bernd Beilke Digital Experience Solutions Architect Introduction Web forms are part of an engaging experience Natural part of the page no plug-ins required Highly dynamic and
More informationOracle Mobile Application Framework
Oracle Mobile Application Framework Oracle Mobile Application Framework (Oracle MAF) is a hybrid-mobile development framework that enables development teams to rapidly develop single-source applications
More informationNODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js
NODE.JS SERVER SIDE JAVASCRIPT Introduc)on Node.js Node.js was created by Ryan Dahl starting in 2009. For more information visit: http://www.nodejs.org 1 What about Node.js? 1. JavaScript used in client-side
More informationADOBE CAPTIVATE 8. Content Planning Guide
ADOBE CAPTIVATE 8 Content Planning Guide Summer 2014 Table of Contents Using Captivate 8 on Your OnPoint Learning Platform... 2 What are the Advantages and Disadvantages of Captivate?... 2 Use Cases for
More informationI, J, K. Eclipse, 156
Index A, B Android PhoneGap app, 158 deploying and running, 172 New Eclipse project, 158 Activity dialog, 162 application properties, 160 AVD, 170 configuration, 167 Launcher Icon dialog, 161 PhoneGap
More informationHTML5 MOCK TEST HTML5 MOCK TEST I
http://www.tutorialspoint.com HTML5 MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to HTML5 Framework. You can download these sample mock tests at your
More informationProperties Sidebar: Make editing much easier
Properties Sidebar: Make editing much easier Yang Jin Fang, Presentation Dev Lead Ma Li, Symphony UX Designer Wang Qiang, Symphony UX Designer IBM Agenda What's Symphony Symphony UI overview How does properties
More informationMobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue
Mobile Web Applications Gary Dubuque IT Research Architect Department of Revenue Summary Times are approximate 10:15am 10:25am 10:35am 10:45am Evolution of Web Applications How they got replaced by native
More informationOracle APEX 18.1 New Features
Oracle APEX 18.1 New Features May, 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated
More informationSession 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers
Session 9 Deployment Descriptor Http 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/http_status_codes
More informationHTTP, WebSocket, SPDY, HTTP/2.0
HTTP, WebSocket, SPDY, HTTP/2.0 Evolution of Web Protocols Thomas Becker tbecker@intalio.com 1 Intalio Intalio Jetty Services, Training and Support for Jetty and CometD Intalio BPMS Business Process Management
More informationEnGiNeErInG HtMl5 applications for better performance
EnGiNeErInG HtMl5 applications for better performance LaUrI SvAn @laurisvan Sc5 OnLiNe @sc5 HtMl5 expertise at your service GiVe me something that I can UsE 15 YeArS ReTrOsPeCtIvE of My PeRsOnAl GeAr 1000
More informationCopyright 2012, Oracle and/or its affiliates. All rights reserved.
1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. Developing Mobile Applications for ios and Android the Oracle Way Frédéric Desbiens Principal Product Manager Application Development
More informationComet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios
Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket
More informationReview of Mobile Web Application Frameworks
Review of Mobile Web Application Frameworks Article Number: 909 Rating: Unrated Last Updated: Mon, May 9, 2011 at 10:57 AM If you are serious about getting your website or web application mobile-friendly,
More informationPower BI Architecture
What is Power BI? Power BI is a collection of software services, apps, and connectors that work together to turn unrelated sources of data into coherent, visually immersive, and interactive insights. -
More informationSuccessMaker Home User System Requirements
Home User System Overview Based on current hardware and software technologies, Pearson has determined that the system requirements listed in this document will deliver acceptable operation and performance
More informationBuilding mobile app using Cordova and AngularJS, common practices. Goran Kopevski
Building mobile app using Cordova and AngularJS, common practices Goran Kopevski Agenda What is cordova? How to choose proper JS framework Building mobile app using Cordova and AngularJS Common fails,
More informationBuilding Mobile Force.com Apps for the iphone and ipad
Building Mobile Force.com Apps for the iphone and ipad Quinton Wall Sr. Developer Evangelist, Salesforce.com @quintonwall Mike Leach Manager, Cloud Services, Facebook @dlog Safe Harbor Salesforce.com Safe
More informationWeb Site Design Small Screen Design Responsive Design R.I.T. S. Ludi/R. Kuehl p. 1 R I T. Software Engineering
Web Site Design Small Screen Design Responsive Design S. Ludi/R. Kuehl p. 1 Design Principles and Guidelines User Populations (Shared human ability and behavior) (Problem domains) Computing Paradigms (Platform
More informationScaling App Engine Applications. Justin Haugh, Guido van Rossum May 10, 2011
Scaling App Engine Applications Justin Haugh, Guido van Rossum May 10, 2011 First things first Justin Haugh Software Engineer Systems Infrastructure jhaugh@google.com Guido Van Rossum Software Engineer
More informationSite Speed: To Measure Is To Know. Sava Sertov QA Technical Lead ecommera
Site Speed: To Measure Is To Know Sava Sertov QA Technical Lead ecommera We want to be faster than our competitors "80-90% of the end-user response time is spent on the front-end. Start there. Someone
More informationThe Economist Apps. Advertising specs
The Economist Apps Advertising specs Contents APPS AND FORMATS 3-4 Overview Specifications STATIC ADVERTISING 5-6 Sponsor logo Interstitial HTML5 ADVERTISING 7-14 Interstitial Responsive Technical info
More informationOracle Utilities Customer Self Service
Oracle Utilities Customer Self Service Whitepaper: Creating and Deploying the Sample Mobile Client Application Release 2.1.0 Service Pack 1 E38172-05 June 2014 Oracle Utilities Customer Self Service Whitepaper:
More informationFlexJS. OmPrakash Apache Flex PMC Member Advisory Software Engineer, IBM
FlexJS OmPrakash Muppirala @bigosmallm bigosmallm@apache.org Apache Flex PMC Member Advisory Software Engineer, IBM Who am I? Advisory Software Engineer at IBM Apache Flex Committer and PMC Member UI Architect
More informationRich Web Applications in Server-side Java without. Plug-ins or JavaScript
Rich Web Applications in Server-side Java without twitter: #vaadin @joonaslehtinen Plug-ins or JavaScript Joonas Lehtinen, PhD Vaadin Ltd - CEO joonas@vaadin.com ? Vaadin is a UI framework for desktop-like
More informationLocally Deployed System Requirements SuccessMaker 10 DRAFT 3/31/2017
3/31/2017 March 31, 2017 Copyright 2017 Pearson Education, Inc. or one or more of its direct or indirect affiliates. All rights reserved. Pearson and SuccessMaker are registered trademarks, in the U.S.
More informationMC Android Programming
MC1921 - Android Programming Duration: 5 days Course Price: $3,395 Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse
More informationDeveloping Cross-Platform Native Apps with AppStudio for ArcGIS. Jo Fraley Erwin Soekianto
Developing Cross-Platform Native Apps with AppStudio for ArcGIS Jo Fraley Erwin Soekianto AppStudio for ArcGIS ios Android Linux 1App Windows Mac What is AppStudio for ArcGIS? A suite of productivity tools
More informationInternet Explorer Faqs Page Setup Not Saving
Internet Explorer Faqs Page Setup Not Saving How to use the site FAQ Contact Site map Because Modern UI version of Internet Explorer 11 does not support ActiveX or other Home page settings are shared between
More informationFixed Size Ad Specifications
Fixed Size Ad Specifications The following fixed size ad units are recommended as part of the new ad portfolio. These have been recommended based on Attitudes and Usage Study to determine which of the
More informationEnd User Monitoring. AppDynamics Pro Documentation. Version Page 1
End User Monitoring AppDynamics Pro Documentation Version 4.1.5 Page 1 End User Monitoring....................................................... 4 Browser Real User Monitoring.............................................
More informationHow to Install (then Test) the NetBeans Bundle
How to Install (then Test) the NetBeans Bundle Contents 1. OVERVIEW... 1 2. CHECK WHAT VERSION OF JAVA YOU HAVE... 2 3. INSTALL/UPDATE YOUR JAVA COMPILER... 2 4. INSTALL NETBEANS BUNDLE... 3 5. CREATE
More informationN/A. JSN PageBuilder 2 Configuration Manual Introduction. System Requirements. Product Usage. Joomla Requirements. Server Requirement
JSN PageBuilder 2 Configuration Manual Introduction About JSN PageBuilder 3 JSN PageBuilder 3 is the latest innovation from Joomla! PageBuilder, with great improvements to the interface, features, and
More information