Learn to Compose and Utilise GWT
|
|
- Samuel Strickland
- 3 years ago
- Views:
Transcription
1 Developers
2 GWT History, Present & Future Daniel Kurka Software Engineer Developers
3 2
4 GWT 3
5 mgwt gwt-phonegap 4
6 5
7 GWT Day History, Present and Future of GWT, Daniel Kurka, Google GWT Team Papick G. Taboada - GWT - Architectures and Lessons learned - Client-Server-Kommunikation mit dem Command Pattern Eintauchen in MVP und Internationalisierung, Andreas Hubmer GWT - write once run everywhere, Katharina Fahnenbruck 6
8 GWT 7
9 GWT toolbox to write Javascript apps in Java clientside framework write, run, test & debug in Java with all the tools not swing for browsers! 8
10 Dev Mode 9
11 GWT Compiler compiles Java to Javascript one Javascript per Browser generated Javascript is highly efficient 100 lines of Javascript => use Javascript after that GWT is better in execution speed & size 10
12 Performance dead code removal inlining renaming zipping secure caching that works! 11
13 Example 12
14 Example Shape s = new Circle(2); // radius 2 12
15 Example Shape s = new Circle(2); // radius 2 double a = s.getarea(); 12
16 Example Shape s = new Circle(2); // radius 2 double a = s.getarea(); Inlining to: 12
17 Example Shape s = new Circle(2); // radius 2 double a = s.getarea(); Inlining to: Circle s = new Circle(2); // radius 2 12
18 Example Shape s = new Circle(2); // radius 2 double a = s.getarea(); Inlining to: Circle s = new Circle(2); // radius 2 double a = (s.radius * s.radius * Math.PI); 12
19 Example Shape s = new Circle(2); // radius 2 double a = s.getarea(); Inlining to: Circle s = new Circle(2); // radius 2 double a = (s.radius * s.radius * Math.PI); gets optimized to (constant removal): 12
20 Example Shape s = new Circle(2); // radius 2 double a = s.getarea(); Inlining to: Circle s = new Circle(2); // radius 2 double a = (s.radius * s.radius * Math.PI); gets optimized to (constant removal): double a = ; 12
21 deferred binding like reflection at compile time select the implementation per browser => Javascript only contains relevant parts to the specific client 13
22 What about Javascript? like assembler in C: private native void dosomething()/*-{ //your js code... }-*/; 14
23
24 GWT 16
25 GWT 17
26 GWT JavaScript 18
27 GWT JavaScript Browsers 19
28 JavaScript the fun part do not get me wrong I like JavaScript but there are some problems lets take a look at them 20
29 Double equals 21
30 Demo 22
31 functional programming language has its problems you need to learn it in order to use it can be lots of fun 23
32 GWT 24
33 Understand how the browser works 25
34 26
35 A browsers job present a web resource - request it from a server - analyze it - display it defined by standards, WC3 Committee (HTML spec, CSS spec,..) for a long time browsers did not conform to the spec this what HTML5 changed 27
36 High level structure User Interface Browser engine Data Persistence Rendering engine Networking JavaScript Interpreter UI Backend 28
37 Rendering engine 29
38 Parsing HTML to construct the DOM tree 30
39 Parsing HTML to construct the DOM tree Render tree construction 31
40 Parsing HTML to construct the DOM tree Render tree construction Layout of the render tree 32
41 Parsing HTML to construct the DOM tree Render tree construction Layout of the render tree Painting the render tree 33
42 Webkit HTML Style Sheets 34
43 Webkit HTML HTMLParser Style Sheets 35
44 Webkit HTML HTMLParser DOM Tree Style Sheets 36
45 Webkit HTML HTMLParser DOM Tree Style Sheets CSS Parser 37
46 Webkit HTML HTMLParser DOM Tree Style Sheets CSS Parser Style rules 38
47 Webkit HTML HTMLParser DOM Tree Attachment Style Sheets CSS Parser Style rules 39
48 Webkit HTML HTMLParser DOM Tree Attachment Render tree Style Sheets CSS Parser Style rules 40
49 Webkit HTML HTMLParser DOM Tree Layout Attachment Render tree Style Sheets CSS Parser Style rules 41
50 Webkit HTML HTMLParser DOM Tree Layout Attachment Render tree Painting Style Sheets CSS Parser Style rules 42
51 Webkit HTML HTMLParser DOM Tree Layout Attachment Render tree Painting Display Style Sheets CSS Parser Style rules 43
52 Webkit DOM HTML HTMLParser DOM Tree Layout Attachment Render tree Painting Display Style Sheets CSS Parser Style rules 44
53 Layout thrashing 45
54 Order of execution JavaScript parsing model is synchronous script tag blocks parsing (needs to be fetched and executed) - defer, async speculative parsing => prefetch resources stylesheets are treated different (can not alter the DOM) - they block initial painting PageSpeed - great tool to help you with this!
55 Rendering Engine Threads single threaded for almost anything network IO is in a different thread main thread does everything either execute layout engine or javascript 47
56 Performance 48
57 Performance understand the platform different kind of performances - startup - runtime - javascript performance - layout engine performance 49
58 GWT helps you building on the web platform you have to understand the underlying platform GWT is not about hiding the web GWT makes the web a better place for developers and users - better development tools - faster apps 50
59 History 51
60 Why? 52
61
62 The future of the web? 54
63 Flash 55
64 Silverlight 56
65
66
67 JavaScript had major flaws in 2005 no real tooling (alert debugging) no people with knowledge of the language Google needed a better tool 59
68 Java lots of tools many developers but: no web apps in Java 60
69 What if? 61
70 Leverage the Java ecosystem reuse knowledge reuse all the tools, like IDEs many developers 62
71 Why don t we compile Java to JavaScript 63
72 basic idea 64
73 GWT is not about hiding the web GWT does not hide the web brings tools and engineering to the platform GWT wants to make the web a better place for developers and users 65
74 The web is a great platform does not depend on one company reaches every device is build on standards has evolved so fast in the last years 66
75 GWT is massive GWT 1.0 (2006) GWT 1.3 (2007) First Open Source Release, OSX support GWT 1.4 (2007) JUnit and ImageBundle GWT 1.5 (2008) Java 1.5 support, Overlay Types, DOM API, CSS Themes, Linkers GWT 1.6 (2009) EventHandlers, EMMA Support, WAR support, Parallelized Builds GWT 1.7 (2009) Newer browser support, IE8, GPE and AppEngine GWT 2.0 (2009) DevMode, DraftCompile, UIBinder, LayoutPanel, CodeSplitter, ClientBundle, CssResource GWT 2.1 (2010) RequestFactory, Editor Framework, Validation, MVP, Cell Widgets GWT 2.2 (2011) GWT Designer, HTML5 support GWT 2.3 (2011) Better AppEngine integration GWT 2.4 (2011) Maven and RequestFactory enhancements GWT 2.5 (2012) Super Dev mode, massive compiler improvements, Source maps, massive speed improvements, Elemental 67
76 Present 68
77 Today SDK downloaded over a million times 100,000+ active developers deep integration with many tools like Eclipse, IntelliJ, String STS/Roo Used by many Google products such as Adwords, Flights, Blogger, Wallet and many more Fun things: GwtQuake, Angry Birds for the web GWT is a mature, high quality code base 69
78 GWT 2.5 New Compiler Optimizations Closure Compiler Integration Code Splitter Improvements Better Stack Traces with SourceMaps Real Time Compiles with SuperDevMode UiBinder and CellWidget updates I18N and ARIA/Accessibility improvements Elemental - High performance, feature complete, HTML5 70
79 Ray Cromwell, Google I/O 2012
80 Ray Cromwell, Google I/O 2012
81 Ray Cromwell, Google I/O 2012
82 Ray Cromwell, Google I/O 2012
83 Ray Cromwell, Google I/O 2012
84 Source maps Bidirectional Mapping between Source Language and Compiled JavaScript Supported by GWT, Closure, CoffeeScript Emerging standard for Javascript cross-compilers Permits de-obfuscation of Javascript Allows GWT to construct more accurate Java stack traces when something goes wrong Chrome only for now, Firefox support on the way 76
85 Super Dev mode Fast Refresh without Browser Plugins Compile to Javascript in seconds (typically less than 10) Source level Java debugging right in your Browser supporting mobile browser debugging for Chrome and Mobile Safari 77
86 UiBinder and CellWidget enhancements Support for rendering CellWidget Cells via UiBinder templates - introduces new tagging interface UiRenderer associated with.ui.xml file - GWT.create() on UiRenderer generates implementation - Rather than bind elements, it is invoked like I18N Message or SafeHtmlTemplate classes - Returns HTML with values from Java objects substituted into it UiBinder construction/instantiation improvements - New IsRenderable/RenderablePanel - Binds a UI in a 2-pass process First generate all HTML collecting it into a large string Second install it into the DOM via innerhtml and bind elements to fields - Significantly reduce latency and improve rendering speed - Case Study: Orkut. Startup latency reduced by 20%, rendering speed 300% faster 78
87 Elemental Auto-generated completely from actual WebIDL browser files used by JS engines - Don t wait for hand wrappers, track the actual browser vendor specs/source 100% JavaScript overlay types behind Java interfaces which melt away after compilation Practically zero overhead Every HTML5 feature supported, even the bleeding edge - WebGL, WebAudio, WebSockets, WebRTC, Web Intents, Shadow DOM, File API, etc New Collection classes optimized for size and performance - map directly to underlying JS collections with no overhead New JSON library, no wrappers, no overhead, high performance - Collections and JSON work on server in non-gwt/non-js environments too Excellent thin library for direct mobile device development or desktop 79
88 GWT Steering committee To make contributing features or fixes to GWT as effortless as possible Maintain a high level of quality you ve come to expect Allow the community a greater level of participation in GWT s future Google goes from gatekeeper to a peer amongst equals Responsible for setting project Guidelines, Policies, and Philosophy Determines who gets direct commit access to the master branch Sets overall future roadmap 80
89 GWT Steering committee members Ray Cromwell (Google) Artur Signell (Vaadin) Colin Alworth (Sencha, GXT) Mike Brock (RedHat, Errai/JBoss) Thomas Broyer (individual contributor) Stephen Haberman (Bizo) Daniel Kurka (Google) Christian Goudreau (Arcbees, GWTP Library) Konstantin Solomatov (JetBrains, IntelliJ) 81
90 Open source improve community feedback get people involved we happily accepted many contributions and plan to do so in the future feel free to contact us 82
91 gwtproject.org community driven home for GWT build with GWT (GWTQuery) everyone can edit and update using normal contribution workflow contribute via markdown & git 83
92 Issue tracker closed around 2500 issues fast responding to new issues fixed many issues for GWT
93 Future 85
94 Tick-tock two releases per year expect GWT 2.6 sometime in December, maybe at GWT.create? it is done when it is done, high quality 86
95 Incremental compile Only compile the changes you need to compile Makes a significant impact on your round trip time Biggest change to the GWT compiler ever Experimental in GWT 2.6, Ready with GWT
96 Java 8 support Java 8 will reset the Java eco system boiler plate will melt away, especially in GWT code already got a prototype using Java 8 committed to get it out asap after Java 8 release 88
97 JS interop use any JavaScript library in GWT without JSNI no more hand wrapping no more extra price merge the closure AST with GWT compile JavaScript and Java code together will allow GWT developers to consume web compontents 89
98 JavaScript speedups Run GWT code as d8 benchmarks understand how this impacts VM performance make all GWT code run faster recent improvement 6x for Arrays (benchmark, FF) 90
99 first class mobile support 91
100 GWT has a bright future many new things coming this year and next year watch out for GWT IO 2014 great participation from the community updating GWT to be a great tool for the next years 92
101 GWT 93
102 Java ecosystem is large GWT is an important part of that ecosystem closes the loop for great web front ends used by many people world wide used in many Google products we continue to invest one of the best tools out there 94
103 GWT vs. Dart Google is a big company with many engineers each team chooses their tools some like JavaScript, some like GWT, some like Dart Google is not one tools fits all Dart has great ideas and they help GWT GWT inspired some ideas in Dart Google loves friendly competition, it makes our tools better! If you like JavaScript use Closure or Angular -... Java use GWT -... something new try Dart more choice is good! 95
104 Who else? dependency injection IDE support code splitting CSS optimizations Java tool support client side templating integrate with all other JavaScript run very fast be as small as possible testing tools with code coverage a big community with many support OS projects make your app faster with a recompile 96
105 97
106 12-13th Dec. - San Francisco 17-18th Dec. - Frankfurt community organized about 60 talks, including many talks from the GWT team 98
107 Community 99
108
109 Daniel Kurka gplus: google.com/+danielkurka
110 Developers
111 10 ways to improve your GWT app 102
112 1. Blocking is bad Avoid blocking script tags GWT knows how to load async => use it Inline Resources and inject them (if you really need external JS, CSS) 103
113 //Inline the resource public interface Bundle extends ClientBundle TextResource yourjs(); } //in your code Bundle bundle = GWT.create(Bundle.class); String script = bundle.yourjs().gettext(); ScriptInjector.fromString(script).inject(); 104
114 2. HTTP Batching Browser only have a certain amount of parallel connections Use batching to get more throughput different ways 105
115 Batching with GWT RPC use the command pattern e.g. gwt-dispatch use Scheduler.scheduleFinally to do batching 106
116 Batching with RequestFactory don t call fire immediately call fire at last batching support across different context 107
117 3. Batch DOM updates reduces flickering use Scheduler.scheduleFinally() 108
118 4. Make Async stuff Sync GWT.runAsync is hard to read AsyncProxy records all calls while getting the actual object and replays them 109
119 5. Change DOM offscreen some browser repaint on update (IE) manipulate of screen to reduce repaints be faster 110
120 6. RPC type explosion GWT RPC generates Serializers for every type compile time increase, script size increase use plain DTOs without Polymorphism use concrete types (e.g. ArrayList instead of List) black list unwanted types (Issue 4438) 111
121 7. Use HTML where possible widgets are slower than pure HTML use widgets only where necessary use CellWidgets if possible combine HTML and widgets in UiBinder 112
122 8. Code splitting code splitting can dramatically reduce startup time combine it with AsyncProxy Activities as a code splitting point (automated, see Issue 5129) 113
123 9. Compiler tricks tune the compiler for your project set variables while developing (e.g. user agent safari) 114
124 -XdisableClassMetadata no class meta data e.g. no java.util.class.getname() save space if you don t need it 115
125 -XdisableCastChecking JavaScript errors if you do things wrong no warnings no instanceof 116
126 Tune compilereport <set-property name="compiler.stackmode" value="strip"/> <set-configuration-property name="cssresource.obfuscationprefix" value="emtpy"/> <set-configuration-property name="compiler.enum.obfuscate.names" value="true"/> 117
127 10. Prefer GWT libs instead of wrappers GWT can only optimize on Java code wrapping means no optimizations prefer complete GWT implementations 118
128
129 Daniel Kurka gplus: daniel-kurka.de/+
130 Developers
Progressive Enhancement With GQuery and GWT. Ray Cromwell ray@timefire.com
Progressive Enhancement With GQuery and GWT Ray Cromwell ray@timefire.com Web Application Models Web 1.0, 1 Interaction = 1 Page Refresh Pure JS, No Navigation Away from Page Mixed Model, Page Reloads
More informationGoogle Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy
Google Web Toolkit Introduction to GWT Development Ilkka Rinne & Sampo Savolainen / Spatineo Oy GeoMashup CodeCamp 2011 University of Helsinki Department of Computer Science Google Web Toolkit Google Web
More informationHTML5, The Future of App Development
HTML5, The Future of App Development Gautam Agrawal Director, Product Management 3 June 2015 Copyright Sencha Inc. 2015 Fragmentation on Steroids The Global 2000 8,000,000 +1,000,000 Source: IDG Research,
More informationCoding for Desktop and Mobile with HTML5 and Java EE 7
Coding for Desktop and Mobile with HTML5 and Java EE 7 Coding for Desktop and Mobile with HTML5 and Java EE 7 Geertjan Wielenga - NetBeans - DukeScript - VisualVM - Jfugue Music Notepad - Java - JavaScript
More informationIBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience
IBM Digital Experience Using Modern Web Development Tools and Technology with IBM Digital Experience Agenda The 2015 web development landscape and IBM Digital Experience Modern web applications and frameworks
More informationLearning HTML5 Game Programming
Learning HTML5 Game Programming A Hands-on Guide to Building Online Games Using Canvas, SVG, and WebGL James L. Williams AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York
More informationFront-End Performance Testing and Optimization
Front-End Performance Testing and Optimization Abstract Today, web user turnaround starts from more than 3 seconds of response time. This demands performance optimization on all application levels. Client
More informationMobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013
Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone
More informationAngularJS for the enterprise
Jan- Kees van Andel So0ware Architect, JPoint, @jankeesvanandel 1 1 What I always liked about programming 2 2 And it keeps getting better... 3 3 Also for the web 4 4 Not only games 5 5 And not only WebGL
More informationEnterprise Mobile Application Development: Native or Hybrid?
Enterprise Mobile Application Development: Native or Hybrid? Enterprise Mobile Application Development: Native or Hybrid? SevenTablets 855-285-2322 Contact@SevenTablets.com http://www.seventablets.com
More informationIntroducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010
Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache
More informationAn introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0
An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains
More informationJavaFX Session Agenda
JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user
More informationUSING RUST TO BUILD THE NEXT GENERATION WEB BROWSER
USING RUST TO BUILD THE NEXT GENERATION WEB BROWSER Lars Bergstrom Mozilla Research Mike Blumenkrantz Samsung R&D America Why a new web engine? Support new types of applications and new devices All modern
More informationUnlocking the Java EE Platform with HTML 5
1 2 Unlocking the Java EE Platform with HTML 5 Unlocking the Java EE Platform with HTML 5 Overview HTML5 has suddenly become a hot item, even in the Java ecosystem. How do the 'old' technologies of HTML,
More informationWeb App Development Session 1 - Getting Started. Presented by Charles Armour and Ryan Knee for Coder Dojo Pensacola
Web App Development Session 1 - Getting Started Presented by Charles Armour and Ryan Knee for Coder Dojo Pensacola Tools We Use Application Framework - Compiles and Runs Web App Meteor (install from https://www.meteor.com/)
More informationWebCenter User experience. John Sim @JRSim_UIX
WebCenter User experience ipads - Xbox John Sim @JRSim_UIX About Fishbowl Solutions Specializing on portals & content management for 13 years Customers throughout North America & EMEA Enterprise-wide consulting
More informationtorsdag den 13. oktober 11
http://www.doxdesk.com/updates/2009.html Design, techniques and tools for larger JavaScript applications Karl Krukow (kkr@trifork.com), Goto Amsterdam, Oct. 13th, 2011 About me PhD, University of Aarhus,
More informationUsing Steelhead Appliances and Stingray Aptimizer to Accelerate Microsoft SharePoint WHITE PAPER
Using Steelhead Appliances and Stingray Aptimizer to Accelerate Microsoft SharePoint WHITE PAPER Introduction to Faster Loading Web Sites A faster loading web site or intranet provides users with a more
More informationRich Internet Applications
Rich Internet Applications [Image coming] Ryan Stewart Rich Internet Application Evangelist rstewart@adobe.com Ryan Stewart Flex Developer for 3 years Rich Internet Application Blogger for 2 years http://blogs.zdnet.com/stewart/
More informationBridging the Gap: from a Web App to a Mobile Device App
Bridging the Gap: from a Web App to a Mobile Device App or, so how does this PhoneGap* stuff work? *Other names and brands may be claimed as the property of others. 1 Users Want Mobile Apps, Not Mobile
More informationMobile development with Apache OFBiz. Ean Schuessler, co-founder @ Brainfood
Mobile development with Apache OFBiz Ean Schuessler, co-founder @ Brainfood Mobile development For the purposes of this talk mobile development means mobile web development The languages and APIs for native
More informationplace/business fetch details, 184 185 removefromfavorite () function, 189 search button handler bind, 190 191 B BlackBerry build environment
Index A addtofavorite() method, 175 177, 188 189 Android ADT Plugin for Eclipse installation, 22 24 application, GWT Build Path, 244 device info, 247 directory structure, 244, 245 Eclipse classpath, 244
More informationMobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00
Course Page - Page 1 of 12 Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00 Course Description Responsive Mobile Web Development is more
More informationYouTrack MPS case study
YouTrack MPS case study A case study of JetBrains YouTrack use of MPS Valeria Adrianova, Maxim Mazin, Václav Pech What is YouTrack YouTrack is an innovative, web-based, keyboard-centric issue and project
More informationRIA Technologies Comparison
RIA Technologies Comparison Focus Since the subject is huge I will first present a general view and then focus on more ( hopefully ) interesting parts Also, some key points need to be established: Technologies
More informationANDROID INTRODUCTION TO ANDROID
ANDROID JAVA FUNDAMENTALS FOR ANDROID Introduction History Java Virtual Machine(JVM) JDK(Java Development Kit) JRE(Java Runtime Environment) Classes & Packages Java Basics Data Types Variables, Keywords,
More informationQML and JavaScript for Native App Development
Esri Developer Summit March 8 11, 2016 Palm Springs, CA QML and JavaScript for Native App Development Michael Tims Lucas Danzinger Agenda Native apps. Why? Overview of Qt and QML How to use JavaScript
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 informationGUI and Web Programming
GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program
More informationJRuby Now and Future Charles Oliver Nutter JRuby Guy Sun Microsystems
JRuby Now and Future Charles Oliver Nutter JRuby Guy Sun Microsystems Except where otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution Share Alike 3.0 United
More informationPower Tools for Pivotal Tracker
Power Tools for Pivotal Tracker Pivotal Labs Dezmon Fernandez Victoria Kay Eric Dattore June 16th, 2015 Power Tools for Pivotal Tracker 1 Client Description Pivotal Labs is an agile software development
More informationGoogle Web Toolkit (GWT) Architectural Impact on Enterprise Web Application
Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application First Generation HTTP request (URL or Form posting) W HTTP response (HTML Document) W Client Tier Server Tier Data Tier Web CGI-Scripts
More informationModern Web Development with Dart. Alan Knight Google
Modern Web Development with Dart Alan Knight Google Smalltalk Industry Conference 2013 The Web As an application platform We want... Large, extensible widget set Simple, clean APIs Model/View separation
More informationDrupal Performance Tuning
Drupal Performance Tuning By Jeremy Zerr Website: http://www.jeremyzerr.com @jrzerr http://www.linkedin.com/in/jrzerr Overview Basics of Web App Systems Architecture General Web
More informationDevelopment Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin
Development Techniques for Native/Hybrid Tizen Apps Presented by Kirill Kruchinkin Agenda Introduction and Definitions Practices Case Studies 2 Introduction & Definitions 2 App Types Browser Apps Installable
More informationFrom Desktop to Browser Platform: Office Application Suite with Ajax
From Desktop to Browser Platform: Office Application Suite with Ajax Mika Salminen Helsinki University of Technology mjsalmi2@cc.hut.fi Abstract Web applications have usually been less responsive and provided
More informationTrends in HTML5. Matt Spencer UI & Browser Marketing Manager
Trends in HTML5 Matt Spencer UI & Browser Marketing Manager 6 Where to focus? Chrome is the worlds leading browser - by a large margin 7 Chrome or Chromium, what s the difference Chromium is an open source
More informationHTML5 / NATIVE / HYBRID
HTML5 / NATIVE / HYBRID Ryan Paul Developer Evangelist @ Xamarin NATIVE VERSUS HTML5? REFRAMING THE DEBATE It s not a battle to the death. It s a choice: what solution will work best for your application?
More informationThis course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.
20486B: Developing ASP.NET MVC 4 Web Applications Course Overview This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. Course Introduction Course Introduction
More information<Insert Picture Here> Java, the language for the future
1 Java, the language for the future Adam Messinger Vice President of Development The following is intended to outline our general product direction. It is intended for information
More informationSymfony2 and Drupal. Why to talk about Symfony2 framework?
Symfony2 and Drupal Why to talk about Symfony2 framework? Me and why Symfony2? Timo-Tuomas Tipi / TipiT Koivisto, M.Sc. Drupal experience ~6 months Symfony2 ~40h Coming from the (framework) Java world
More informationGrunt, Gulp & fabs. Build-System and Development-Workflow for modern Web-Applications
Grunt, Gulp & fabs Build-System and Development-Workflow for modern Web-Applications ABOUT ME Philipp Burgmer Software Engineer / Consultant / Trainer Focus: Frontend, Web Technologies WeigleWilczek GmbH
More informationHtmlUnit: An Efficient Approach to Testing Web Applications
HtmlUnit: An Efficient Approach to Testing Web Applications Marc Guillemot Independent Consultant mguillemot@yahoo.fr Daniel Gredler Sr. Software Developer DHL Global Mail daniel.gredler@gmail.com Your
More informationUpdate logo and logo link on A Master. Update Date and Product on B Master
Cover Be sure to: Update META data Update logo and logo link on A Master Update Date and Product on B Master Web Performance Metrics 101 Contents Preface...3 Response Time...4 DNS Resolution Time... 4
More informationMobile Performance Management Tools Prasanna Gawade, Infosys April 2014
Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014 Computer Measurement Group, India 1 Contents Introduction Mobile Performance Optimization Developer Tools Purpose and Overview Mobile
More informationThe Google Web Toolkit (GWT): Overview & Getting Started
2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): Overview & Getting Started (GWT 2.5 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html
More informationRich User Interfaces for Web-Based Corporate Applications
Rich User Interfaces for Web-Based Corporate Applications Ivan Zapevalov, Software Engineer 1 Outline RIA technologies AJAX technology Widgets Demo application in JavaScript Demo application in GWT Web-catalog
More informationWebsite Performance: Kyle Simpson
Website Performance: Kyle Simpson (Video: 0_Introduction.mp4): Introduction 00:00:0000:07:50: An introduction and a discussion about how developers need to change their mindset to think about web performance
More informationDeveloping Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory. 2012 IBM Corporation 1
Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory 1 Agenda Mobile web applications and Web Experience Factory High-level tour of Web Experience Factory automation
More informationDevelop native android apps And port to other platforms
Develop native android apps And port to other platforms Robin Puthli, 24 October 2013 Droidcon UK 1 Me Mobile developer 2001 - present Run a 11 strong development shop Netherlands based 2 Itude Mobile
More informationWeb application Architecture
2014 Cesare Pautasso 1 / 29 Very Thin Client 6 / 29 AJAX Input/ Output Prof. Cesare Pautasso http://www.pautasso.info cesare.pautasso@usi.ch Client/Server 7 / 29 @pautasso 5 / 29 Web application Architecture
More informationBuilding Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7
Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7 Jeff Linwood 1st Chapter, Early Release Introduction... 3 Prerequisites... 3 Introduction to Mobile Apps...
More informationSoftware Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T: 072 511 12 23
Microsoft SharePoint year SharePoint 2013: Search, Design and 2031 Publishing New SharePoint 2013: Solutions, Applications 2013 and Security New SharePoint 2013: Features, Delivery and 2010 Development
More informationTHE BUSINESS CASE FOR HYBRID HTML5 MOBILE APPS
Exploring the business case for building hybrid HTML5 mobile applications for enterprise mobility projects compared to implementing with a purely native development approach. THE BUSINESS CASE FOR HYBRID
More informationKentico CMS 5 Developer Training Syllabus
Kentico CMS 5 Developer Training Syllabus June 2010 Page 2 Contents About this Course... 4 Overview... 4 Audience Profile... 4 At Course Completion... 4 Course Outline... 5 Module 1: Overview of Kentico
More informationHTML5 : carrier grade
HTML5 : carrier grade Alex Rutgers / CTO@Momac / February 2013. Introduction Since HTML5 became mainstream media around April 2010 and I decided to create an overview article on HTML5 in the mobile space,
More informationDynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT
Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT AGENDA 1. Introduction to Web Applications and ASP.net 1.1 History of Web Development 1.2 Basic ASP.net processing (ASP
More informationDrupal CMS for marketing sites
Drupal CMS for marketing sites Intro Sample sites: End to End flow Folder Structure Project setup Content Folder Data Store (Drupal CMS) Importing/Exporting Content Database Migrations Backend Config Unit
More informationBasic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development Mobile Development Trends Need an App... 3 4 Popular Devices in Latvia
More informationFIVE WAYS TO OPTIMIZE MOBILE WEBSITE PERFORMANCE WITH PAGE SPEED
WHITE PAPER: MOBILE WEBSITE PERFORMANCE FIVE WAYS TO OPTIMIZE MOBILE WEBSITE PERFORMANCE WITH PAGE SPEED SNOOZE, YOU LOSE. TODAY S MOBILE USERS EXPECT PERFORMANCE DELIVERED FAST. For those of us who depend
More informationThe Decaffeinated Robot
Developing on without Java Texas Linux Fest 2 April 2011 Overview for Why? architecture Decaffeinating for Why? architecture Decaffeinating for Why choose? Why? architecture Decaffeinating for Why choose?
More informationWompMobile Technical FAQ
WompMobile Technical FAQ What are the technical benefits of WompMobile? The mobile site has the same exact URL as the desktop website. The mobile site automatically and instantly syncs with the desktop
More informationDeveloping Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory
Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory IBM Corporation 2011 Web Experience Factory formerly known as WebSphere Portlet Factory Note we are currently
More informationLoad and Performance Load Testing. RadView Software October 2015 www.radview.com
Load and Performance Load Testing RadView Software October 2015 www.radview.com Contents Introduction... 3 Key Components and Architecture... 4 Creating Load Tests... 5 Mobile Load Testing... 9 Test Execution...
More informationShipbeat Magento Module. Installation and user guide
Shipbeat Magento Module Installation and user guide This guide explains how the Shipbeat Magento Module is installed, used and uninstalled from your Magento Community Store. If you have questions or need
More informationHow To Write An Ria Application
Document Reference TSL-SES-WP-0001 Date 4 January 2008 Issue 1 Revision 0 Status Final Document Change Log Version Pages Date Reason of Change 1.0 Draft 17 04/01/08 Initial version The Server Labs S.L
More informationAmplify Service Integration Developer Productivity with Oracle SOA Suite 12c
Amplify Service Integration Developer Productivity with Oracle SOA Suite 12c CON7598 Rajesh Kalra, Sr. Principal Product Manager Robert Wunderlich, Sr. Principal Product Manager Service Integration Product
More informationHTML5 - Key Feature of Responsive Web Design
Volume A.13-10 Publish Date: 09 th August 2013 Author(s): Gateway Team HTML5 - Key Feature of Responsive Web Design ARTICLE Gateway TechnoLabs Pvt. Ltd. (ISO 9001:2008) B 81, Corporate House, Judges Bungalow
More informationPerformance Testing for Ajax Applications
Radview Software How to Performance Testing for Ajax Applications Rich internet applications are growing rapidly and AJAX technologies serve as the building blocks for such applications. These new technologies
More informationLucy Zhang UI Developer Lucyzhang3630@gmail.com/sales@besthtech.net Contact: 646-896-9088
Lucy Zhang UI Developer Lucyzhang3630@gmail.com/sales@besthtech.net Contact: 646-896-9088 SUMMARY Over 7 years of extensive experience in the field of front-end Web Development including Client/Server
More informationWeb Application Development
Web Application Development Seminar OHJ-1820 Tampere University of Technology Fall 2007 http://www.cs.tut.fi/~taivalsa/kurssit/wads2007 Prof. Tommi Mikkonen & Dr. Antero Taivalsaari Background and Motivation
More informationAjaxScope: Remotely Monitoring Client-side Web-App Behavior
AjaxScope: Remotely Monitoring Client-side Web-App Behavior Emre Kıcıman emrek@microsoft.com Ben Livshits livshits@microsoft.com Internet Services Research Center Microsoft Research Runtime Analysis &
More informationGUI Test Automation How-To Tips
www. routinebot.com AKS-Labs - Page 2 - It s often said that First Impression is the last impression and software applications are no exception to that rule. There is little doubt that the user interface
More informationCredits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf
1 The Web, revisited WEB 2.0 marco.ronchetti@unitn.it Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)
More informationHow To Write A Web Server In Javascript
LIBERATED: A fully in-browser client and server web application debug and test environment Derrell Lipman University of Massachusetts Lowell Overview of the Client/Server Environment Server Machine Client
More informationDeepak Patil (Technical Director) pdeepak@iasys.co.in iasys Technologies Pvt. Ltd.
Deepak Patil (Technical Director) pdeepak@iasys.co.in iasys Technologies Pvt. Ltd. The term rich Internet application (RIA) combines the flexibility, responsiveness, and ease of use of desktop applications
More informationWA 2. GWT Martin Klíma
WA 2 GWT Martin Klíma GWT What is it? Google Web Toolkig Compiler from Java to JavaScript + HTML Set of JavaScript and Java scripts / classes Development environment SDK Integration with IDE Eclipse, Netbeans,
More informationGoogle Web Toolkit. Progetto di Applicazioni Software a.a. 2011/12. Massimo Mecella
Google Web Toolkit Progetto di Applicazioni Software a.a. 2011/12 Massimo Mecella Introduction Ajax (Asynchronous JavaScript and XML) refers to a broad range of techniques Beyond the technical jargon,
More informationEMPLOYEE LOCATION TRACKING SERVICE
WES T ST R EET AWE SOM E STR EET EMPLOYEE LOCATION TRACKING SERVICE Web & Android OVERVIEW GPS fleet tracking services have been on the market for some years now but with the explosion of smartphone usage,
More informationCURRENT BEST PRACTISES FOR BUILDING ENTERPRISE MOBILE APPLICATIONS
DEVELOPER-CENTERED ENTERPRISE-FOCUSED FUTURE-READY CURRENT BEST PRACTISES FOR BUILDING ENTERPRISE MOBILE APPLICATIONS Darryn Campbell RhoMobile Development Lead MOTOROLA, MOTO, MOTOROLA SOLUTIONS and the
More informationBuilding Cross Platform Mobile Apps Dev Tools, MBaaS, Architecture, APIs
Building Cross Platform Mobile Apps Dev Tools, MBaaS, Architecture, APIs So You Want to Build a Mobile App What Mobile Platforms to Support? What backend services to integrate? What login credentials are
More informationJC Now. Case Study in Building an App on the Cheap. Nick O Day GIS Manager. be the exception
\ JC Now Case Study in Building an App on the Cheap Nick O Day GIS Manager 1 Background Within Metro Atlanta area (30 minute drive to downtown Atlanta) Within Fulton County Population: ~1,000,000 Johns
More informationQL Integration into Scala and Excel. Martin Dietrich
QL Integration into Scala and Excel Martin Dietrich E.ON Global Commodities Over 1000 professionals, active on over 20 exchanges in more than 40 countries Over 1000 counterparties in more than 50 countries
More informationWeb Apps The Next Generation
Web Apps The Next Generation Access Opportunity Or Challenge? T. V. Raman Google Research Web Apps The Next Generation p. 1 Outline Web Applications The access challenge What does accessible mean? Web
More informationBest practices building multi-platform apps. John Hasthorpe & Josh Venman
Best practices building multi-platform apps John Hasthorpe & Josh Venman It s good to have options Android 4.3 10 Tablet Windows 7 14 Laptop Windows 7 15 Laptop Mac OSX 15 Laptop ios 6 4.6 Phone Android
More informationTake full advantage of IBM s IDEs for end- to- end mobile development
Take full advantage of IBM s IDEs for end- to- end mobile development ABSTRACT Mobile development with Rational Application Developer 8.5, Rational Software Architect 8.5, Rational Developer for zenterprise
More informationRich Web Applications in Server-side Java without Plug-ins or JavaScript
Rich Web Applications in Server-side Java without Plug-ins or JavaScript Joonas Lehtinen, PhD Vaadin Ltd - CEO vaadin.com/vaadin @joonaslehtinen Rich Web Applications in Server-side Java without Plug-ins
More informationOrion: Software Development in the Browser
Orion: Software Development in the Browser Slides from Boris Bokowski IBM Ottawa Lab Orion: Software Development in the Browser Slides from Boris Bokowski IBM Ottawa Lab What is Orion? Software development
More informationWeb Development with the Eclipse Platform
Web Development with the Eclipse Platform Open Source & Commercial tools for J2EE development Jochen Krause 2004-02-04 Innoopract Agenda Currently available Tools for web development Enhancements in Eclipse
More informationMobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.
Mobile Development Frameworks Overview Understand the pros and cons of using different mobile development frameworks for mobile projects. Mobile Solution Frameworks One of the biggest technological decisions
More informationFirefox for Android. Reviewer s Guide. Contact us: press@mozilla.com
Reviewer s Guide Contact us: press@mozilla.com Table of Contents About Mozilla Firefox 1 Move at the Speed of the Web 2 Get Started 3 Mobile Browsing Upgrade 4 Get Up and Go 6 Customize On the Go 7 Privacy
More informationDemystifying Page Load Performance with WProf
Demystifying Page Load Performance with WProf Xiao (Sophia) Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall University of Washington Web is the critical part of the Internet 1 Page
More informationAndroid Developer Fundamental 1
Android Developer Fundamental 1 I. Why Learn Android? Technology for life. Deep interaction with our daily life. Mobile, Simple & Practical. Biggest user base (see statistics) Open Source, Control & Flexibility
More informationWhat s New in IBM Web Experience Factory 8.5. 2014 IBM Corporation
What s New in IBM Web Experience Factory 8.5 2014 IBM Corporation Recent history and roadmap Web Experience Factory 8.0 2012 Multi-channel Client-side mobile Aligned with Portal 8 Developer productivity
More informationModern Web Development:
: HTML5, JavaScript, LESS and jquery Shawn Wildermuth One of the Minds, Wilder Minds LLC Microsoft MVP @shawnwildermuth http://wilderminds.com What it was like
More informationJavaScript Programming
JavaScript Programming Pushing the Limits ADVANCED APPLICATION DEVELOPMENT WITH JAVASCRIPT & HTML5 Jon Raasch WILEY Contents About the Author vi Dedication vii About the Contributor ix Acknowledgments
More informationSOA @ ebay : How is it a hit
SOA @ ebay : How is it a hit Sastry Malladi Distinguished Architect. ebay, Inc. Agenda The context : SOA @ebay Brief recap of SOA concepts and benefits Challenges encountered in large scale SOA deployments
More informationAn introduction to creating JSF applications in Rational Application Developer Version 8.0
An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create
More informationTeamCity A Professional Solution for Delivering Quality Software, on Time
TeamCity A Professional Solution for Delivering Quality Software, on Time Vaclav Pech Senior Software Developer JetBrains, Inc. About Us Vaclav Pech Professional software developer for 9 years IntelliJ
More information