jQuery: The World's Most Popular JavaScript Library Comes to XPagesTeamstudio
Whether you want to add some serious eye candy to your XPages Applications or just want to do more with less code, jQuery, the world’s most popular JavaScript framework can help you. Come to this webinar and find out how you can use some of the thousands of jQuery plugins, in harmony with Dojo, within your XPages applications to create a better experience not only for your users, but for you as a developer. In this webinar, we'll look at how jQuery works, how to add it to your XPages, and how a complete JavaScript beginner can take advantage of its power. We'll demonstrate many working examples -- and a sample database will be provided.
Tecnologias Free e Open Source na Plataforma MicrosoftGustavo Malheiros
Conheça as principais iniciativas da Microsoft para aproveitar uma plataforma aberta e flexível, tanto para infraestrutura, como para desenvolvimento de software utilizando tecnologias livres e de código aberto.
Whether you want to add some serious eye candy to your XPages Applications or just want to do more with less code, jQuery, the world’s most popular JavaScript framework can help you. Come to this webinar and find out how you can use some of the thousands of jQuery plugins, in harmony with Dojo, within your XPages applications to create a better experience not only for your users, but for you as a developer. In this webinar, we'll look at how jQuery works, how to add it to your XPages, and how a complete JavaScript beginner can take advantage of its power. We'll demonstrate many working examples -- and a sample database will be provided.
The document summarizes the history of Mozilla and Firefox, from the initial open sourcing of the Netscape browser code in 1998 to the present. It discusses key milestones like the releases of Mozilla 1.0 and Firefox 1.0, and how Firefox was developed in response to limitations in Netscape and Internet Explorer. It also outlines Mozilla's vision for an open web and how the non-profit organization and browser development community operates.
DrupalCamp ATL 2010: Not all CMSs are created equalandrewmriley
How many times have you had a client say to you "But my kid brother says we should really use CMS X", "Our IT guy says Drupal isn't 'Enterprise'" or "We're moving from CMS Y and we hate it, why should we go with CMS X?"
This talk will be a comparison of various CMS platforms across PHP, ASP.NET and JAVA (closed source, open source, free and pay) to better enable you to make informed decisions for yourself and your customers. This session won't be overly technical but it will be focused for users who understand basic CMS concepts. I highly recommend it for anybody who will be involved in the CMS decision making or sales process for a CMS based project.
I have a small confession to make, Drupal was the first CMS I used and interestingly enough it gave me a very warped view of the landscape. When the time came for me to use other CMSs, I was shocked at the features (or lack of) that some offered. Fast forward to a few years later, I had a client come to me and ask which CMS I would use for their large project. After about 10 seconds deliberation I said Drupal, it's been my go-to for over three years now -- of course Drupal would work for what they wanted. Well, it turned out that Drupal couldn't offer exactly what the client actually needed so it was time to put on the research cap and really take a look at what's out there. To make a long story short I fell for the classic "When all you have is a hammer..." when it turns out for some parts of the project there were better tools (and for some parts, Drupal was the still right CMS).
Join me as I walk you through the decision making proces that we followed, the CMSs we reviewed, their strengths, weakness and overall questions that you just know the client is going to ask.
Disclamer: This won't be a Drupal, Drupal, rah-rah-rah (biased) talk.
I'll cover:
Why choose one CMS over another?
Strengths and weaknesses of the CMSs.
Comparison projects between two CMSs to show the time/cost difference.
Saas CMS vs hosting your own.
The dreaded "Enterprise" word
How does Drupal 6/7 stack up?
What I won't cover:
Language vs Language
Hosting architectures (aside from SaaS)
This document discusses the planning and initial development of an interactive wiki application called Criki using PHP and MySQL. It will cover designing the database schema and basic application scaffolding in the first part. Future parts will add functionality like wiki markup, file uploads, user permissions, calendaring/milestones, and an open blog. The goal is to build a fully-featured wiki from scratch to understand the considerations that go into such an application.
Building Mobile Web Apps with jQM and Cordova on AzureBrian Lyttle
This document provides an overview of building mobile web apps with jQuery Mobile (jQM) and Apache Cordova on the Microsoft Azure platform. It discusses:
- Using Azure for hosting, data storage, and backend services for mobile apps
- Choosing jQM for the frontend framework due to its ease of use and integration with third party libraries
- Common issues encountered like data access across domains and debugging tools
- Packaging the app into a native format for iOS and Android using Cordova
- Tips for caching, maps integration, and avoiding duplicate event handling code
This document summarizes a presentation about the Play web framework. The presentation covers the background of Play, why it was created, its key features, and a demo. Play is described as a full-stack Java web framework that aims to provide rapid development, deployment, and a productive developer experience compared to traditional Java EE stacks. Some of Play's highlighted features include being pure Java, having no compile/deploy cycle, built-in support for routing, parameters, and testing.
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!ddrschiw
This session gives you the grand tour of XPages in the Lotus Notes client. You'll discover how easy it is to take your XPages Web apps offline, and then add custom client behaviors that really adapt your application to Lotus Notes client platform. Spread your wings and integrate your application with other client components using real-world use cases that can make a real difference to your business. Learn how to test and debug your XPages client app along the way, and see how XPages supports traditional Lotus Notes client features and get a glimpse of where these integration points will lead in the future. If you have plans for XPages on the Lotus Notes client, this session is a must for you!
The document discusses user interface development for Java ME. It covers Netbeans support for visual design and localization of mobile applications. It also discusses graphics APIs for Java ME, including LCDUI, JSR 184 for 3D graphics, and JSR 226 for scalable vector graphics. The document demonstrates how to optimize applications for different devices by handling resources and configurations.
HTML5: An Introduction To Next Generation Web DevelopmentTilak Joshi
HTML5 is the next generation web development standard that improves upon HTML4 and XHTML. It focuses on features rather than syntax, and includes new elements like <article> and <section>, native audio/video support, drawing APIs, geolocation, drag and drop, web forms 2.0, and more. HTML5 aims to improve multimedia capabilities while keeping code readable by humans and machines. It is supported by all major browsers, though support for specific features may vary, and polyfills can help with backwards compatibility.
WebWorks Development for BlackBerry PlayBook and SmartphonesKyle McInnes
One way to create apps for the PlayBook is using HTML standards that are packaged into a file that can be executed on the PlayBook. This uses an SDK called WebWorks provided by RIM. Here is an overview of that platform.
Netbeans is an open source IDE and development platform for Java applications. It began as a student project in 1996 and was later acquired by Sun Microsystems. As a platform, it provides reusable components for building desktop applications and includes features like user interface management. As an IDE, it offers tools like an integrated debugger and version control system. It supports development in languages beyond Java like JavaScript, PHP, and Python. Various download bundles provide support for different frameworks and platforms.
Last year at Lotusphere, XPages burst onto the Lotus Domino application development landscape. Since then, the developer community has embraced XPages and delivered compelling Lotus Domino Web solutions. 8.5.1 delivered on the vision by providing the ability to build an application once for the Web, the Notes client or expose as an iWidget.Come hear about other 8.5.1 enhancements, what is coming in 8.5.2 and glimpse towards the future.
This document discusses how web components and the Polymer library can help build progressive web apps (PWAs). It defines what PWAs are and their key characteristics like being responsive, working offline, and being installable. It then introduces web components and how they help address issues with traditional frameworks. The Polymer library is described as making it easier to create reusable web components and build complete applications. Examples are given of how to define a web component using Polymer and why Polymer is useful for PWAs by enabling standards-based sharing of UI components across frameworks in a performance-focused way. Demo PWAs built with these technologies are linked to as examples.
AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...ddrschiw
Come to this session to learn about how developers can benefit from OpenNTF. We'll start with an overview and show how you can leverage various assets within your projects, then focus on the next generation of the Lotus Notes Discussion template and demonstrate the improved user experience for both Web and rich client. In the main part of this session, we'll then describe how the application has been built technically, and we'll explain how we've used the JavaViews in the client. Finally, we'll walk you through the XPages design and show how you can take home the techniques and custom controls to re-use in your applications.
HTML5DevConf 2013 (October): WebGL is a game changer!Iker Jamardo
WebGL is getting everywhere. The recent announcement from Microsoft that Internet Explorer is finally supporting WebGL is just another example of the importance that this technology is getting among web technologies. For the first time, web developers can access complex graphics features that were only available for native game development. But, what are the real advantages of WebGL over other web based games development technologies? What are the different game engines that support it? Is WebGL ready for cross-platform game development? Can only 3D games benefit from WebGL? All these questions and more will be answered in this talk full of code snippets and useful tips that will try to show that the web environment (and specially WebGL) can be great for developing successful games, and could become in a real game changer.
The document summarizes the ContactOffice company's decision to reengineer its web interface using the Google Web Toolkit (GWT) framework. It discusses why GWT was chosen, the development process, and some of the key enhancements developed for ContactOffice using GWT, such as drag and drop, property pages for dialog boxes, and integration of legacy pages. It also provides an overview of the ContactOffice application and some before and after examples of the new GWT-based interface.
Tony Parisi is a serial entrepreneur and consultant architect who has worked on several game startups and 3D technologies. He authored a book on WebGL and provides his contact information. The document discusses what WebGL is, how it works, frameworks for building WebGL games like Three.js and Sim.js, and considerations for game development using WebGL such as loading models, animation, interaction, effects, sound, and robustness. While WebGL has limitations, the document argues it is solid for game development due to its OpenGL underpinnings and growing support in browsers and devices.
XPages and Java (DanNotes 50th conference, November 2013)Per Henrik Lausten
This document provides an introduction to using Java and beans in XPages. It discusses the differences between POJOs and beans, examples of scoped beans, how to call Java methods from XPages, and debugging techniques. It recommends using Java for as much logic as possible for performance benefits and access to libraries. The presenter is an experienced XPages developer who provides consulting and mentoring.
Cross the boundaries with the upcoming XPages public API! You'll see how you can extend XPages by providing your own native controls, like a scrolling grid or outlines. You'll also see how to create your own data sources, secured REST services, simple actions, and IBM Lotus Sametime awareness rendering. See how you can increase your productivity -- and push your application to the highest standard.
jQuery - the world's most popular java script library comes to XPagesMark Roden
This document discusses using jQuery with XPages. It begins with an introduction to jQuery, explaining that it is a popular JavaScript library that simplifies document manipulation, events, animation, and AJAX. It then compares jQuery to Dojo and provides guidance on when each should be used. The document demonstrates how jQuery works via its API and methods. It also explains how to add jQuery to an XPages application either directly in code or via a theme. Finally, it discusses jQuery plugins and how they can provide ready-made functionality to solve requirements.
AD112 -- Development and Deployment of Lotus Product Documentation Wikisddrschiw
Come learn how the IBM Lotus product documentation team developed and deployed live production wikis using the Lotus Domino XPages template available from OpenNTF.org. We'll tell the story of how we learned XPages ourselves, developed the template to allow IBMers and customers to contribute to product documentation, and deployed XPages wiki applications into a Lotus Domino Web production environment with 300,000 visitors a month!
AD111 -- Harnessing the Power of Server-Side JavaScript and Other Advanced XP...ddrschiw
XPages have ushered in a new era for application development on the IBM Lotus Domino platform. This session will take you beneath the surface of XPages and into the inner workings of server-side JavaScript, the language that allows you to easily add truly advanced features to your applications. By the end of this deep-dive session, you'll know how to use server-side JavaScript in the following ways: create events that dynamically manipulate interface components based on user interaction; and use scope caching to improve performance and usability and leverage closures
and other design patterns to create reusable object-oriented server-side JavaScript. You'll also learn how to make your XPages more powerful with "managed beans" and other Java classes, as well as create advanced re-usable components by passing Java and server-side JavaScript objects to custom controls.
The document discusses the WebKit project and how to contribute to it. It describes WebKit as an open source web browser engine used in browsers and other applications. It provides information on WebKit's architecture, goals, features, ports to different platforms, and the WebKit2 API. It also discusses the large WebKit community, how work is tracked, and how developers can contribute through bug fixing, new features, or creating new ports.
The document discusses several popular JavaScript libraries including Dojo, Prototype, jQuery, Mochikit, and Yahoo UI. It compares the libraries based on their focus, DOM support, events/effects handling, documentation, community, file size, and popularity. The libraries provide a variety of features like DOM manipulation, Ajax capabilities, and animations to make JavaScript development easier.
Architecture of a Modern Web App - SpringOne IndiaJeremy Grelle
The document discusses the evolution of web application architectures from static HTML pages to modern single-page applications. It outlines the progression from server-side applications to client-side applications that utilize smart clients and services. The document recommends simplifying views, treating client-side code as a first-class citizen, thinking in terms of messaging between clients and servers, and embracing both client-side and server-side development.
This is a presentation on Google Web Toolkit given at Devfest 2009 in Buenos Aires Argentina on Nov 17, 2009 by Google Developer Advocate, Chris Schalk
State of jQuery - AspDotNetStorefront Conferencedmethvin
The document discusses the state of jQuery and the jQuery Foundation. It provides an overview of the non-profit jQuery Foundation organization and its projects. It also summarizes the jQuery team's initiatives and contributors from around the world. The document outlines the plans for future versions of jQuery, including jQuery 1.11/2.1, and discusses strategies and tools for web performance and browser compatibility.
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!ddrschiw
This session gives you the grand tour of XPages in the Lotus Notes client. You'll discover how easy it is to take your XPages Web apps offline, and then add custom client behaviors that really adapt your application to Lotus Notes client platform. Spread your wings and integrate your application with other client components using real-world use cases that can make a real difference to your business. Learn how to test and debug your XPages client app along the way, and see how XPages supports traditional Lotus Notes client features and get a glimpse of where these integration points will lead in the future. If you have plans for XPages on the Lotus Notes client, this session is a must for you!
The document discusses user interface development for Java ME. It covers Netbeans support for visual design and localization of mobile applications. It also discusses graphics APIs for Java ME, including LCDUI, JSR 184 for 3D graphics, and JSR 226 for scalable vector graphics. The document demonstrates how to optimize applications for different devices by handling resources and configurations.
HTML5: An Introduction To Next Generation Web DevelopmentTilak Joshi
HTML5 is the next generation web development standard that improves upon HTML4 and XHTML. It focuses on features rather than syntax, and includes new elements like <article> and <section>, native audio/video support, drawing APIs, geolocation, drag and drop, web forms 2.0, and more. HTML5 aims to improve multimedia capabilities while keeping code readable by humans and machines. It is supported by all major browsers, though support for specific features may vary, and polyfills can help with backwards compatibility.
WebWorks Development for BlackBerry PlayBook and SmartphonesKyle McInnes
One way to create apps for the PlayBook is using HTML standards that are packaged into a file that can be executed on the PlayBook. This uses an SDK called WebWorks provided by RIM. Here is an overview of that platform.
Netbeans is an open source IDE and development platform for Java applications. It began as a student project in 1996 and was later acquired by Sun Microsystems. As a platform, it provides reusable components for building desktop applications and includes features like user interface management. As an IDE, it offers tools like an integrated debugger and version control system. It supports development in languages beyond Java like JavaScript, PHP, and Python. Various download bundles provide support for different frameworks and platforms.
Last year at Lotusphere, XPages burst onto the Lotus Domino application development landscape. Since then, the developer community has embraced XPages and delivered compelling Lotus Domino Web solutions. 8.5.1 delivered on the vision by providing the ability to build an application once for the Web, the Notes client or expose as an iWidget.Come hear about other 8.5.1 enhancements, what is coming in 8.5.2 and glimpse towards the future.
This document discusses how web components and the Polymer library can help build progressive web apps (PWAs). It defines what PWAs are and their key characteristics like being responsive, working offline, and being installable. It then introduces web components and how they help address issues with traditional frameworks. The Polymer library is described as making it easier to create reusable web components and build complete applications. Examples are given of how to define a web component using Polymer and why Polymer is useful for PWAs by enabling standards-based sharing of UI components across frameworks in a performance-focused way. Demo PWAs built with these technologies are linked to as examples.
AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...ddrschiw
Come to this session to learn about how developers can benefit from OpenNTF. We'll start with an overview and show how you can leverage various assets within your projects, then focus on the next generation of the Lotus Notes Discussion template and demonstrate the improved user experience for both Web and rich client. In the main part of this session, we'll then describe how the application has been built technically, and we'll explain how we've used the JavaViews in the client. Finally, we'll walk you through the XPages design and show how you can take home the techniques and custom controls to re-use in your applications.
HTML5DevConf 2013 (October): WebGL is a game changer!Iker Jamardo
WebGL is getting everywhere. The recent announcement from Microsoft that Internet Explorer is finally supporting WebGL is just another example of the importance that this technology is getting among web technologies. For the first time, web developers can access complex graphics features that were only available for native game development. But, what are the real advantages of WebGL over other web based games development technologies? What are the different game engines that support it? Is WebGL ready for cross-platform game development? Can only 3D games benefit from WebGL? All these questions and more will be answered in this talk full of code snippets and useful tips that will try to show that the web environment (and specially WebGL) can be great for developing successful games, and could become in a real game changer.
The document summarizes the ContactOffice company's decision to reengineer its web interface using the Google Web Toolkit (GWT) framework. It discusses why GWT was chosen, the development process, and some of the key enhancements developed for ContactOffice using GWT, such as drag and drop, property pages for dialog boxes, and integration of legacy pages. It also provides an overview of the ContactOffice application and some before and after examples of the new GWT-based interface.
Tony Parisi is a serial entrepreneur and consultant architect who has worked on several game startups and 3D technologies. He authored a book on WebGL and provides his contact information. The document discusses what WebGL is, how it works, frameworks for building WebGL games like Three.js and Sim.js, and considerations for game development using WebGL such as loading models, animation, interaction, effects, sound, and robustness. While WebGL has limitations, the document argues it is solid for game development due to its OpenGL underpinnings and growing support in browsers and devices.
XPages and Java (DanNotes 50th conference, November 2013)Per Henrik Lausten
This document provides an introduction to using Java and beans in XPages. It discusses the differences between POJOs and beans, examples of scoped beans, how to call Java methods from XPages, and debugging techniques. It recommends using Java for as much logic as possible for performance benefits and access to libraries. The presenter is an experienced XPages developer who provides consulting and mentoring.
Cross the boundaries with the upcoming XPages public API! You'll see how you can extend XPages by providing your own native controls, like a scrolling grid or outlines. You'll also see how to create your own data sources, secured REST services, simple actions, and IBM Lotus Sametime awareness rendering. See how you can increase your productivity -- and push your application to the highest standard.
jQuery - the world's most popular java script library comes to XPagesMark Roden
This document discusses using jQuery with XPages. It begins with an introduction to jQuery, explaining that it is a popular JavaScript library that simplifies document manipulation, events, animation, and AJAX. It then compares jQuery to Dojo and provides guidance on when each should be used. The document demonstrates how jQuery works via its API and methods. It also explains how to add jQuery to an XPages application either directly in code or via a theme. Finally, it discusses jQuery plugins and how they can provide ready-made functionality to solve requirements.
AD112 -- Development and Deployment of Lotus Product Documentation Wikisddrschiw
Come learn how the IBM Lotus product documentation team developed and deployed live production wikis using the Lotus Domino XPages template available from OpenNTF.org. We'll tell the story of how we learned XPages ourselves, developed the template to allow IBMers and customers to contribute to product documentation, and deployed XPages wiki applications into a Lotus Domino Web production environment with 300,000 visitors a month!
AD111 -- Harnessing the Power of Server-Side JavaScript and Other Advanced XP...ddrschiw
XPages have ushered in a new era for application development on the IBM Lotus Domino platform. This session will take you beneath the surface of XPages and into the inner workings of server-side JavaScript, the language that allows you to easily add truly advanced features to your applications. By the end of this deep-dive session, you'll know how to use server-side JavaScript in the following ways: create events that dynamically manipulate interface components based on user interaction; and use scope caching to improve performance and usability and leverage closures
and other design patterns to create reusable object-oriented server-side JavaScript. You'll also learn how to make your XPages more powerful with "managed beans" and other Java classes, as well as create advanced re-usable components by passing Java and server-side JavaScript objects to custom controls.
The document discusses the WebKit project and how to contribute to it. It describes WebKit as an open source web browser engine used in browsers and other applications. It provides information on WebKit's architecture, goals, features, ports to different platforms, and the WebKit2 API. It also discusses the large WebKit community, how work is tracked, and how developers can contribute through bug fixing, new features, or creating new ports.
The document discusses several popular JavaScript libraries including Dojo, Prototype, jQuery, Mochikit, and Yahoo UI. It compares the libraries based on their focus, DOM support, events/effects handling, documentation, community, file size, and popularity. The libraries provide a variety of features like DOM manipulation, Ajax capabilities, and animations to make JavaScript development easier.
Architecture of a Modern Web App - SpringOne IndiaJeremy Grelle
The document discusses the evolution of web application architectures from static HTML pages to modern single-page applications. It outlines the progression from server-side applications to client-side applications that utilize smart clients and services. The document recommends simplifying views, treating client-side code as a first-class citizen, thinking in terms of messaging between clients and servers, and embracing both client-side and server-side development.
This is a presentation on Google Web Toolkit given at Devfest 2009 in Buenos Aires Argentina on Nov 17, 2009 by Google Developer Advocate, Chris Schalk
State of jQuery - AspDotNetStorefront Conferencedmethvin
The document discusses the state of jQuery and the jQuery Foundation. It provides an overview of the non-profit jQuery Foundation organization and its projects. It also summarizes the jQuery team's initiatives and contributors from around the world. The document outlines the plans for future versions of jQuery, including jQuery 1.11/2.1, and discusses strategies and tools for web performance and browser compatibility.
In this talk, I'd go through the Evolution of JavaScript build tools, their features of most javascript build tools and what we should be expecting in the future from build tools.
jQuery is a JavaScript library that makes coding JavaScript easier by providing modular and concise functions. It is updated regularly to maintain compatibility with evolving web standards and browsers. While JavaScript syntax resembles C, JavaScript and Java are different languages. JavaScript is commonly used for client-side web development due to its support across browsers, ability to validate forms and interact with servers, and availability of libraries like jQuery. It also allows for local data storage and geo-location capabilities in web applications.
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine that allows for writing server-side code in JavaScript. It has a single-threaded, event-driven architecture that makes it efficient for data-intensive real-time applications. Some key advantages of Node.js include using JavaScript for both client-side and server-side code, high performance due to event-driven and non-blocking model, and rich ecosystem of third-party modules. Mobile web apps can be built with Node.js by using HTML5 features and JavaScript on the server and client sides.
This document provides an overview of the Google Web Toolkit (GWT), including why it was created, its advantages and disadvantages, and how to install, set up, and test GWT projects. GWT allows developers to write client-side code in Java that is compiled into optimized JavaScript, enabling complex Java code to run in browsers. It aims to solve issues with traditional AJAX development by eliminating JavaScript errors and allowing code reuse between the client and server. The document discusses GWT's installation process, creating and testing projects in development and production modes, and deploying projects to application servers.
The document discusses how JavaScript can be used from the user interface on mobile and web apps through to the server and database using techniques like Node.js. It provides examples of how Node.js allows for high performance server-side JavaScript and how MongoDB can be used as a database. The document outlines lessons learned around challenges of multi-platform development and benefits of outsourcing databases and other services.
GWT + Gears : The browser is the platformDidier Girard
- GWT (Google Web Toolkit) allows developers to build applications for the web using Java instead of JavaScript. It compiles Java code into optimized JavaScript that runs across browsers.
- GWT features include cross-browser compatibility, support for Ajax, widgets, internationalization, unit testing, and more. It produces lightweight, fast JavaScript code.
- Google Gears provides additional features for building offline web applications, including local data storage, database support, and workers. It can be used with GWT for offline functionality.
- The presenter discusses how GWT and Gears allow building rich web applications using a Java-based approach, cutting development costs and improving productivity over traditional web development. Many companies are now using
The document introduces Google Web Toolkit (GWT), describing its features and benefits. GWT allows developing web applications in Java that are compiled into optimized JavaScript for cross-browser support. It supports internationalization, debugging, widgets, asynchronous requests, and more. GWT applications can be 5 times faster to develop than traditional Java web apps and allow for a stateless server architecture. The document demonstrates GWT capabilities and provides tips for development.
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...Igalia
By Julie Kim.
Julie will be presenting the work that has been done over the last months to develop for the AGL platform a modern Chromium based Web Application Manager (WAM) that enables running HTML5 IVI applications on the system.
These different applications can define specific levels of integration and security on the platform, and can be run seamlessly on different hardware architectures.
Automotive Grade Linux All Member Meeting Japan 2019
March 5 - 6, 2019
Tokyo, Japan
https://events.linuxfoundation.org/events/agl-all-member-meeting-japan/
“Node's goal is to provide an easy way to build scalable Network programs”
Asynchronous i/o framework
Core in c++ on top of v8
Rest of it in javascript
Swiss army knife for network Related stuffs
Can handle thousands of Concurrent connections with Minimal overhead (cpu/memory) on a single process
It’s NOT a web framework, and it’s also NOT a language
• Created by Ryan Dahl in 2009
• Development && maintenance sponsored by Joyent
• License MIT
• Last release : 0.10.31
• Based on Google V8 Engine
• +99 000 packages
GWT - Building Rich Internet Applications Using OO Toolsbarciszewski
Google Web Toolkit (GWT) allows developers to build rich web applications using Java instead of JavaScript. It compiles Java code into optimized JavaScript and HTML that runs across browsers. GWT provides widgets, remote procedure calls, internationalization and other tools. It allows code reuse on both the client-side and server-side. While the compile can be slow, GWT offers advantages like full Java tooling, one codebase, and optimized browser code. The speaker demonstrates a sample GWT application and discusses how StudyBlue uses it.
Moving to the Client - JavaFX and HTML5Stephen Chin
Stephen Chin presented on moving applications to the client using JavaFX and HTML5. He provided a history of HTML and discussed key HTML5 features like Canvas, offline storage, and WebSockets. He demonstrated displaying HTML in JavaFX using the WebView control and calling JavaScript from JavaFX. Chin also showed responsive design techniques and discussed using JavaScript frameworks like jQuery for cross-browser compatibility. Finally, he highlighted Oracle Cloud Platform services for running databases and Java applications in the cloud.
Talk Paris Infovis 091207132953 Phpapp01(2)johnnybiz
This document discusses using web standards to create interactive data visualizations for the web. It provides an overview of the JavaScript InfoVis Toolkit, which allows creating multiple graph and tree layouts using web standards and JavaScript. It also discusses upcoming improvements to browser engines and JavaScript that will further improve performance of interactive visualizations. Finally, it introduces WebGL and V8-GL as emerging web standards that will enable hardware-accelerated 3D graphics directly from JavaScript.
Using Web Standards to create Interactive Data Visualizations for the Webphilogb
This document discusses using web standards to create interactive data visualizations for the web. It provides an overview of the JavaScript InfoVis Toolkit, which allows creating multiple graph and tree layouts using web standards and JavaScript. It also discusses upcoming improvements to browser engines and JavaScript that will further improve performance of interactive visualizations. Finally, it introduces WebGL and V8-GL as emerging web standards that bring hardware-accelerated 3D graphics to the web through JavaScript.
This document discusses the benefits of using JavaScript as a universal language. It can be used everywhere due to its huge reach and ability to run on any browser or device. The document then discusses various JavaScript tooling options available in Visual Studio 2013 like WebEssentials, TypeScript, and Node.js tools. It also demonstrates how JavaScript can be used on the server side with Node.js and Azure Mobile Services. Finally, it mentions using JavaScript to build Windows 8, Windows Phone, and universal apps.
Rapid and Reliable Developing with HTML5 & GWT.
Manuel Carrasco Moñino proposes using modern web technologies like HTML5 and JavaScript to build rich internet applications that can run on desktops, mobile devices, and tablets from a single codebase. He suggests frameworks like Google Web Toolkit (GWT), Apache Cordova, PlayN, and NoSQL databases to develop cross-platform applications in a high-level language like Java. Carrasco provides examples of projects using these techniques and encourages contributing to open source.
This document provides an overview comparison of JavaFX and HTML5 for building mobile applications. It includes a demo of a sailboat racing application built with both JavaFX and HTML5. The technical comparison section analyzes the architectures, controls, data binding, tables, multimedia support and other features of JavaFX and HTML5. It finds that while HTML5 has broader deployment options, JavaFX provides more robust and integrated core features out of the box. The document also discusses the perspectives and limitations of both JavaFX and HTML5.
jQuery released new versions 1.4.3 and 1.4.4 with improvements to modularity, CSS, performance, and support for HTML5 data attributes. A JSLint tool was integrated to improve code quality. jQuery Mobile was introduced as a new official plugin to build websites and applications for multiple mobile platforms using progressive enhancement. Testing strategies were discussed including using simulators, TestSwarm for automation, and drawing a line to determine which browsers to support.
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxAnoop Ashok
In today's fast-paced retail environment, efficiency is key. Every minute counts, and every penny matters. One tool that can significantly boost your store's efficiency is a well-executed planogram. These visual merchandising blueprints not only enhance store layouts but also save time and money in the process.
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
Mobile App Development Company in Saudi ArabiaSteve Jonas
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
Role of Data Annotation Services in AI-Powered ManufacturingAndrew Leo
From predictive maintenance to robotic automation, AI is driving the future of manufacturing. But without high-quality annotated data, even the smartest models fall short.
Discover how data annotation services are powering accuracy, safety, and efficiency in AI-driven manufacturing systems.
Precision in data labeling = Precision on the production floor.
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfSoftware Company
Explore the benefits and features of advanced logistics management software for businesses in Riyadh. This guide delves into the latest technologies, from real-time tracking and route optimization to warehouse management and inventory control, helping businesses streamline their logistics operations and reduce costs. Learn how implementing the right software solution can enhance efficiency, improve customer satisfaction, and provide a competitive edge in the growing logistics sector of Riyadh.
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersToradex
Toradex brings robust Linux support to SMARC (Smart Mobility Architecture), ensuring high performance and long-term reliability for embedded applications. Here’s how:
• Optimized Torizon OS & Yocto Support – Toradex provides Torizon OS, a Debian-based easy-to-use platform, and Yocto BSPs for customized Linux images on SMARC modules.
• Seamless Integration with i.MX 8M Plus and i.MX 95 – Toradex SMARC solutions leverage NXP’s i.MX 8 M Plus and i.MX 95 SoCs, delivering power efficiency and AI-ready performance.
• Secure and Reliable – With Secure Boot, over-the-air (OTA) updates, and LTS kernel support, Toradex ensures industrial-grade security and longevity.
• Containerized Workflows for AI & IoT – Support for Docker, ROS, and real-time Linux enables scalable AI, ML, and IoT applications.
• Strong Ecosystem & Developer Support – Toradex offers comprehensive documentation, developer tools, and dedicated support, accelerating time-to-market.
With Toradex’s Linux support for SMARC, developers get a scalable, secure, and high-performance solution for industrial, medical, and AI-driven applications.
Do you have a specific project or application in mind where you're considering SMARC? We can help with Free Compatibility Check and help you with quick time-to-market
For more information: https://www.toradex.com/computer-on-modules/smarc-arm-family
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
GWT HJUG Presentation
1. Google Web Toolkit
Houston Java Users Group February 29, 2012
Peter Haynes, Derrick Bowen
The Business of IT®
The Business of
www.parivedasolutions.com
2. Agenda
► Rich Internet Applications & AJAX
► Google Web Toolkit
► 3rd Party Accelerators
► Parting Thoughts
2
3. Users now expect significantly more interactivity from websites
► Desktop application experience in the browser
► Very interactive, low latency
► Rich Internet Application experience in the browser
provided by technologies such as
• Silverlight
• Flash
• JavaFX
• AJAX
• Dart
3
4. There are several options for providing interactivity in the browser
Technology Description Examples
Flash • Proprietary - Adobe • Hulu
• Requires browser plugin • Dish Network
• First released in 1996 • YouTube
• Ubiquitous - 98% install base • Disney
• Many reported security vulnerabilities • Toshiba
Silverlight • Proprietary - Microsoft • Netflix Movie Picker
• Requires browser plugin • Bing Maps
• Future is uncertain, as Microsoft is emphasizing • Often used to stream video
HTML5 & JavaScript for Windows 8 development • NBC Sunday Night Football
• 2008 Summer Olympics
• 2010 Winter Olympics
• Netflix streaming
AJAX • AJAX – Asynchronous JavaScript and XML • Google Maps
• Many open source & proprietary frameworks • Gmail
• More of a pattern than any particular product • YouTube
• Almost every modern website uses AJAX to some • Facebook tabs
extent • Vimeo
• Google Docs
• SalesForce
4
5. JavaScript combined with asynchronous XML requests to the server enable desktop style
interactivity on the web
► AJAX stands for Asynchronous JavaScript and
XML
► JavaScript is an interpreted language supported
by all modern browsers
► Asychnronous background requests instead of
waiting for a full page load
• XMLHttpRequest
• JSON
• RPC serialization
► Reduces the apparent latency when sending
requests to the server
► Results in smaller but more frequent requests
without blocking the user
5
6. Large-scale AJAX development can be challenging
► Organizations typically have few resources with expertise in JavaScript, CSS, DOM
► Cross browser quirks - Internet Explorer 6 is still the standard for many companies
► Maintenance is difficult for large / complex applications
• Interpreted languages such as JavaScript often lead to long debug cycles
• Unit testing can be difficult in JavaScript
• Complex event-based programming model with a scripting language
• JavaScript has limited OO capabilities
• Managing asynchronous calls to the backend
► Optimizing JavaScript performance is difficult
6
7. Agenda
► Rich Internet Applications & AJAX
► Google Web Toolkit
► 3rd Party Accelerators
► Parting Thoughts
7
8. Google Web Toolkit provides blazing fast performance and a rich development experience
Google Web Toolkit (GWT) is a development toolkit for building and
optimizing complex browser-based applications. Its goal is to enable
productive development of high-performance web applications without
the developer having to be an expert in browser
quirks, XMLHttpRequest, and JavaScript. GWT.
► Write code in object-oriented java, and GWT compiles
it into cross-browser compatible JavaScript
► Minifies and optimizes the resulting JavaScript – better
than hand-coded in most cases
► Provides simple classes for programmatic interaction
with the DOM, CSS, and browser events
► Manages asynchronous calls from the client to the
server
8
9. GWT provides tools for efficient development
► Fast and easy code – deploy – test – fix cycle
• Test most code with normal, everyday jUnit tests
• GWT provides a jUnit extension allowing GUI components to be unit tested in the browser
• Development mode provides debugger support of the java code – eg, set break points, click a button in
the browser, and step through code
► Good Eclipse integration, WYSIWYG editor, maven support
► Internationalization & localization support
► Integration with Google App Engine
► Speed Tracer profiler
Executing in Development Mode allows debugging java code in the IDE
9
10. GWT provides a rich set of widgets and panels out of the box
► See the Widget Gallery and Showcase sample application
► Widgets
Button PushButton RadioButton CheckBox DatePicker ToggleButton TextBox PasswordTextBox TextArea
Hyperlink ListBox CellList MenuBar Tree CellTree SuggestBox RichTextArea FlexTable Grid CellTable
CellBrowser TabBar DialogBox
► Panels
PopupPanel StackPanel StackLayoutPanel HorizontalPanel VerticalPanel FlowPanel VerticalSplitPanel
HorizontalSplitPanel SplitLayoutPanel DockPanel DockLayoutPanel TabPanel TabLayoutPanel DisclosurePanel
10
11. The development cycle in GWT is only slightly different than typical java development
► Typical GWT development cycle
1. Write java unit tests – normal, everyday tests using jUnit
2. Implement the production classes in java
3. Compile and execute unit tests – normal, everyday java execution in the IDE or from command line
4. Compile java to JavaScript
5. Execute integration tests in the browser to verify functionality
► If implementing GUI widgets, then the cycle changes a bit to run unit tests in the browser
1. Steps 1-3 as above, then for any classes that must run in the browser,
2. Implement a unit test extending GWTTestCase. Executing a GWTTestCase causes an embedded browser to spin up, so
the test can execute in container
3. Once all unit tests pass, compile everything to JavaScript and integration test in the browser
► There were a few more WTF moments than normal, as we all learned the limitations and quirks
• CellTable class had limitations we didn’t expect, so we coded a replacement
• Currency support was lacking
► If things break beyond the abstraction layer, it can be difficult to debug
• Zero width table column IE crash
• Choosing which browser event handler to implement was sometimes difficult
• Interactions with non-GWT JavaScript
► Short demo
11
12. Not all java classes can be compiled into JavaScript
► Most commonly used classes and operations from the JDK will work on the client side
• java.lang
• java.lang.annotation
• java.math
• java.io – limited set
• java.sql – only date and time classes
• java.util – most classes are included, including generic Collections
• java.util.logging
► Notable omissions include
• Reflection
• Calendar and its subclasses, Currency
• Threading, Concurrency, Timer
► Some classes are translated into the JavaScript equivalent functions, with subtle differences from java
behavior
• Regular expression classes can be used, but have minor differences from server to client side (z [end of String] not
supported in JavaScript, had to use $ [end of line] )
• Care must be taken to test thoroughly in both client and server containers
► In several instances, we coded different server and client implementations to work around limitations
Using Class Interface
Inject appropriate
implementing class into
using class, based on
where it is running
Server-side Client-side
Implementation Implementation
12
13. Demos are cool
► Inheritance
► Passing data between client and server (RPC)
► MVP Pattern
► Unit Testing
► Internationalization
► Back button
► Widgets
13
14. Agenda
► Rich Internet Applications & AJAX
► Google Web Toolkit
► 3rd Party Accelerators
• Gin & Guice
• GWT presenter
• GWT dispatcher
• Widget Libraries
► Parting Thoughts
14
15. GIN and Guice provide dependency injection for GWT
► GIN (Gwt INjection) brings automatic dependency injection to GWT client-side code
► GIN is built on top of Google’s general purpose dependency injection framework,
Guice, and uses a subset of Guice's binding language
► GIN cannot provide the full set of Guice functionality mainly because GWT does not
emulate reflection
► Bindings direct GIN to inject a particular implementation, any time a constructor
requires an interface
• Most cases are satisfied by this simple configuration
• Factory methods can also be implemented for more sophisticated bindings
bind(EventBus.class).to(DefaultEventBus.class).in(Singleton.class);
bind(PlaceManager.class).to(ZaastraPlaceManager.class).in(Singleton.class);
bind(TokenFormatter.class).to(ParameterTokenFormatter.class).in(Singleton.class);
bind(DateUtility.class).to(GuiDateUtility.class).in(Singleton.class);
bind(RpcExamplePlace.class).in(Singleton.class);
bind(I18nExamplePlace.class).in(Singleton.class);
bind(WidgetExamplePlace.class).in(Singleton.class);
bind(GreetingServiceAsync.class).in(Singleton.class);
bind(I18nExampleView.class);
15
16. GWT-Presenter is a popular implementation of the MVP pattern for GWT
► Model-View-Presenter pattern is a variation of Model-View-Controller that allows more logic to be tested
• Widgets and logic that interacts with them are hard to unit test because widgets must be executed within the browser
• MVP addresses this challenge by reducing the responsibility of the View to merely wiring together the GUI components
• The Presenter is a controller that also takes on almost all of the logic from the view (enabling / disabling, hiding /
showing, setting focus, etc)
► GWT-Presenter provides core MVP abstractions without dictating implementation of the View or Model
• Base Presenter interfaces and abstract classes
• Dependency injection helpers for GIN
• Abstractions for interacting with GWT’s browser history support classes
• The View implements an interface that limits the Presenter’s direct dependency on View implementation classes
MVC Action MVP
Display to Screen View
View
Presentation Logic
Presenter
Controller Application Logic
Note: Diagram from ―Design Patterns for ASP.NET Developers, Part 1: Basic Patterns‖, Alex Homer, Link Model Domain Objects Model
16
17. GWT-dispatch simplifies the interaction between client and server
► GWT-dispatch implements a reusable command pattern for communication with the server
• Creates a single servlet on the backend
• Client code instantiates an Action and passes it asynchronously to the DispatchServlet
• The DispatchServlet routes the Action to the appropriate Handler
• The Handler invokes server-side business logic to produce the Result, which is passed back to the client
► Benefits
• Clean, simple pattern for remote request / response
• Limits the threat surface, because only one Servlet must be secured
► We really liked this implementation, but had already implemented a similar pattern
• Our client did not want to lose time ripping it out to implement yet another third party framework
• We did lift a few ideas to improve our design, and migrating to GWT-dispatch is in the product backlog
17
18. GWT can be extended by creating custom widgets or using 3rd party widget libraries
► SmartGWT http://www.smartclient.com/smartgwt/showcase/
• Slick looking widgets
• Thin GWT wrapper around existing JavaScript widgets
• Can be difficult to integrate plain GWT widgets with SmartGWT widgets
• LGPL & commercial licenses starting at $750
• Originally named GWT EXT
► Vaadin
• Widgets are native GWT
• Free to use under Apache Software License 2.0
• Paid support and commercial plugins
► Sencha Ext GWT http://www.sencha.com/products/extgwt/examples/
• Native GWT
• GPL v3 & commercial licenses starting at $595
► Several others…
18
19. Agenda
► Rich Internet Applications & AJAX
► Google Web Toolkit
► 3rd Party Accelerators
► Parting Thoughts
19
20. Pros & Cons
► Cons
• Takes more time to started with than direct JavaScript coding
• Adds a number of dependencies and compile processes, more than you need for a simple project
• Many 3rd party java libraries cannot be used for client-side code, because they cannot be compiled to JavaScript
• Difficult to impossible to write native JavaScript code external to your GWT project that can interact with GWT
components
• Abstraction away from HTML is not complete, so if you are doing anything fancy you will still need to understand
web/http/browser fundamentals
• Not many public examples of GWT in production sites (apart from Google adsense/adwords and Angry Birds)
• Dart has created anxiety that Google may eventually phase out GWT
► Pros
• Code is compiled and easily testable!
• Debugging support!
• Highly optimized JavaScript, minified to include only code required for a particular browser / locale combination
• Google takes care of the nastiest cross-browser support issues, so you don’t have to
• Leverage existing knowledge of java
• Open source & active community
• Does not require browser plugins
• Several highly optimized options for communicating between client and server
• Google Apps Engine integration
20
21. When would we recommend GWT?
► When would we recommend
• Strong java team, with little experience with JavaScript, CSS, DOM coding
• Starting from scratch
• Building a real ―web application‖ not a content site with a few dynamic features
• Long term maintenance is expected
• Tight response time requirements
• Cross browser support is required
► When would we not recommend
• Large existing web application already in place
• Simple, page based website, i.e. flashy consumer marketing site
• Small and quick addition to an existing application
• Many custom / 3rd party JavaScript widgets already in use
• Team has little java experience, or already has strong JavaScript, CSS or
html experience
21
23. So what about Dart?
► What is Dart?
• Dart is a programming language built by Google to replace JavaScript in web development
• The goal is to create a structured yet flexible language that feels natural to programmers and is built for high
performance
• There has been significant backlash from the web standards community accusing Google of trying to take over the web
• For now, programmers write client side code in Dart and a special compiler converts it to JavaScript to be included on
the web page
► That sounds an awfully lot like GWT. What does that mean for GWT?
• Meanwhile, rest assured that GWT will continue to be a productive and reliable way to build the most ambitious web
apps — and even games like Angry Birds. Key projects within Google rely on GWT every day, and we plan to continue
improving (and open-sourcing) GWT based on their real-world needs.
- Posted by Bruce Johnson - Thursday, November 10, 2011 at 7:39:00 AM (http://googlewebtoolkit.blogspot.com/2011/11/gwt-and-
dart.html)
• Your existing GWT/Java code shouldn't become useless any more than the gobs of such code inside Google would.
That's really the key point of the blog post -- nothing precipitous is happening. That said, I feel a lot of momentum
around Dart.
- Comment by Bruce Johnson – November 19, 2011 (https://plus.google.com/117487419861992917007/posts/6YWpsHpqMqZ)
• Many of Google's services are still being written in GWT and won't change anytime soon, for example AdWords and
AdSense, from which Google derives the majority of their revenue, are written in GWT, so given that fact alone, GWT
will be around for a long time and continue to be improved.
[…] Obviously, we want Dart to be a huge success, but even if it is, Java isn't going away anytime soon. :)
- Ray Cromwell – December 6, 2011 (https://plus.google.com/117487419861992917007/posts/6YWpsHpqMqZ)
23
24. Other stuff
► Security
• GWT makes it easy to deploy sophisticated logic to execute in the browser
• Code is obfuscated
• Avoid sending sensitive data to the client and validate all data received on the server side
- Users can bypass the code to view / manipulate data directly
- Even though the code is obfuscated, someone with time on their hands can hack it
► Caching data on the client side
• Prior to GWT 2.3, GWT did not provide a built in mechanism for client-side persistence or caching
• GWT 2.3 includes support for the WC3 LocalStorage standard for persisting data between sessions
24
25. Comparison vs other JavaScript frameworks
► Table showing primary differences
► Info from:
• Forester/gartner comparisons?
• http://google.wikia.com/wiki/Google_Web_Toolkit#Comparison_of_GWT_with_other_AJAX_frameworks
• http://aarendar.wordpress.com/2010/03/03/flex-vs-gwt-comparison-part-1/
• http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
• http://stackoverflow.com/questions/394601/which-javascript-framework-jquery-vs-dojo-vs
• http://www.thoughtworks.com/sites/www.thoughtworks.com/files/images/26/radar-platforms-january-2011.jpg
25