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.
One of the key features of JavaFX 2.0 is having full-fledged embedded browser. This enables JavaFX apps to embed web contents, and also to work together with HTML5 apps.
This session focuses on JavaFX's web component, WebEngine, and show how JavaFX can work together with web technologies (HTML/CSS/JavaScript) by using demos and sample codes.
(Session JS1-13 / Apr 4th, JavaOne Tokyo 2012)
Presentation given to the Dallas Spring User Group on how to use JavaFX technology together with the Spring Framework. Covers a basic pattern for loading the Spring context in a JavaFX application thread as well as how to leverage Spring Security on the front end.
One of the key features of JavaFX 2.0 is having full-fledged embedded browser. This enables JavaFX apps to embed web contents, and also to work together with HTML5 apps.
This session focuses on JavaFX's web component, WebEngine, and show how JavaFX can work together with web technologies (HTML/CSS/JavaScript) by using demos and sample codes.
(Session JS1-13 / Apr 4th, JavaOne Tokyo 2012)
Presentation given to the Dallas Spring User Group on how to use JavaFX technology together with the Spring Framework. Covers a basic pattern for loading the Spring context in a JavaFX application thread as well as how to leverage Spring Security on the front end.
[Note that this talk is not available outside some very specific settings but this deck is here for you as a basic resource to form a basis for your own analysis based on my reasonably objective extensive professional experience using both technology sets in the real world]
Java EE 7 has been one of the most significant overhauls of the platform. Just some of the changes include retiring EJB 2 entity beans and JAX-RPC, greater alignment with CDI, WebSocket/HTML 5 support, a standard API for JSON processing, the next version of JAX-RS, an overhaul of JMS, long-awaited concurrency utilities, batch processing in Java EE and much, much more. In order to make educated choices for adoption, one should understand how the widely-used Spring Framework aligns with Java EE.
This session will compare and contrast the Spring Framework with Java EE 7. We will focus on key areas that include the component development model, dependency injection, persistence, UI, REST, messaging, security and testing. Beyond API/features, the analysis will take a holistic view in covering concerns such as ease-of-use, manageability, ecosystem and vendor-neutrality.
WebLogic 12.1.3 was released late last year. It brings a large set of changes including support for some key new Java EE 7 APIs such as WebSocket, JAX-RS 2, JSON-P and JPA 2.1, support for Java SE 8, WebSocket fallback support, support for Server-Sent Events (SSE), improved Maven support, enhanced REST administration support, Oracle Database 12c driver support and much, much more. In this session we will take a detailed tour of these features. In addition we will also cover updated WebLogic support in the Oracle Cloud, the new Oracle public Maven repository, using WebLogic with Arquillian for testing and well as official Docker support for WebLogic.
Towards the end of the session we will discuss what's coming in WebLogic 12.2.1 this year including full support for Java EE 7, multi-tenancy and more.
The current state of the Apache Wicket framework in 2014 as presented at the DEVdev meetup held in Deventer, the Netherlands.
- A critique of ThoughtWorks' Technology Review 2014 where they slam JSF (jay) as a concept (nay)
- A look back at 10 years of Wicket
- A review of the current Wicket versions
- An outlook and roadmap for Wicket 7 and Wicket 8
The DEVdev (Deventer Developers) is a new meetup for any developer in the eastern part of the Netherlands (the right side of the IJssel river). This presentation was delivered at the first meetup, and was kindly sponsored by Topicus B.V.
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
The Spring Framework has no-doubt played a major role in evolving the way we write enterprise applications on the Java platform today. However, it is still a proprietary framework owned by a single company. The age of having to rely on such proprietary frameworks in order to develop decent enterprise applications is now over and Java EE 6 has become an even easier way to develop enterprise applications based on standards which makes it the best choice for any enterprise application. In this session you will experience how to migrate a typical full stack Spring application to a standards based, completely portable, Java EE 6 application including integration tests.
jDays2015 - JavaEE vs. Spring SmackdownMert Çalışkan
From the heavy weight authors of Wiley, on Java EE side Murat Yener with Professional Java EE Design Patterns (http://www.amazon.com/Professional-JavaEE-Design-Patterns-Murat/dp/111884341X) and on Spring side Mert Caliskan with Professional Spring (http://www.amazon.com/Beginning-Spring-Mert-Caliskan/dp/1118892925). The talk will expose good, bad and the ugly sides of both Java EE and Spring by hands on illustration of creating a crud app from scratch. Both speakers will introduce best parts of their platform on demos meanwhile point out weaknesses of the opponent. Both platforms will demonstrate their strengths on best practices, tool support, 3rd party libraries, community support and design patterns. Get ready for a family size huge fun while watching two most commonly used platform on Java.
With the Tenth Anniversary of Wicket behind us, Wicket is still one of the thriving survivors of the Great Web Framework Wars of the mid 00's. Is there a future for server-side frameworks? In this presentation Martijn Dashorst provides a brief history of Wicket.
With a State of the Wicket, Martijn will look at who is currently using Wicket, the community and current release plans.
The majority of this session will be dedicated to the future of Wicket: does a component oriented, Java web framework have a future in the era of native clients and client side JavaScript frameworks? Martijn will layout the plans of making Wicket more productive for current users, on integrating better with JavaEE technologies and much more.
The Apache Wicket community is working hard to build the new major release of Wicket. One of the tentpole features is the move to Java 8 as a minimum requirement. Why did we do that, and how does this improve my Wicket code? Learn how to apply Java 8 features such as lambdas and the new DateTime API in your Wicket applications, and learn what else the community is creating for your benefit.
Presentation on how to use Vaadin and Scala to build web applications on top of HTML5. Most of the presentation is live coding, so you might to want to check these examples:
http://vj.jole.fi/
https://github.com/jojule/Stocks
This session compares the Spring and Java EE stacks in terms of Web frameworks. It re-examines the motivations behind the Spring framework and explores the emergence of the Java EE programming model to meet the challenges posed. The presentation provides insight into when Spring and/or Java EE is appropriate for a building Web applications and if they can coexist.
In September 2017 the long-awaited release of Java 9 gave us a new module system in Java. It also kick-started the release-train of frequent Java releases, with Java 11 being the first long-term supported Java version poised to take modules into the mainstream. So what has happened since the introduction of the module system?
This talk will provide an overview adoption of modules in open-source libraries, IDEs, build tools, and so on. It will also feature tools that have emerged to make working with modules easier. Expect an honest overview of the current state of modules in Java, with lots of demos to show what's possible. After this talk you can start developing your own modular Java application without hesitation!
Vaadin is Java framework for rapid development of highly interactive HTML5-based web applications. Because of server-driven nature Vaadin can easily be integrated with server-side Java EE features such as EJBs and JPA. During this speech we will look in detail on how multi-view Vaadin applications are built and coupled with Java EE based business systems using Context and Dependency Injection (CDI). Important topics covered within the session are the best practices of developing Model-View-Presenter (MVP) based Vaadin views as well as the as pointers and guidelines on how to use Vaadin with Java EE. Attending the speech does not require thorough understanding of Java EE or web technologies in general.
Java APIs- The missing manual (concurrency)Hendrik Ebbers
This isn’t a talk about microservices, NoSQL, container solutions or hip new frameworks. This talk will show some of the standard Java APIs that are part of Java since version 5, 6, 7 or 8. All those features are very helpful to create maintainable and future-proof applications, regardless of whether JavaEE, Spring, JavaFX or any other framework is used. The talk will give an overview of some important standard concepts and APIs of Java like annotations, null values and concurrency.
Testing Java EE Applications Using ArquillianReza Rahman
This session outlines how to effectively test Java EE APIs like JSF, Servlet, CDI, EJB 3, JPA, WebSocket and JAX-RS. Java EE includes a number of new features that enhance testability like generic dependency injection, CDI @Alternative, portable extensions, embedded containers and JSF project stages.
Using these features and best of breed tools like JUnit and Arquillian it is possible to perform unit, integration, system and functional testing for Java EE APIs at all layers of the application. In addition to discussing tools and features, the session will also demonstrate testing techniques like designing for testability, mock objects, isolation and test configuration.
JavaFX and HTML5 - Like Curds and RiceStephen Chin
JavaFX 2 is an exciting new platform for developing rich user interfaces with animation, media, and advanced controls with pure Java code. HTML5 is the next standard for web technologies promising richer graphics, native media support, and offline storage among other features. So which technology should you choose? We say you can have your curds with your rice! With one HTML5 expert and one JavaFX wizard on stage, we will show how you can leverage both of these technologies to create a new breed of application that goes beyond your expectations.
Moving to the Client - JavaFX and HTML5Stephen Chin
Talk given at JavaOne India about taking the best parts of JavaFX and HTML5 and leveraging them together. This talk contains an integration of Google Maps into a native Java application with interactive controls.
[Note that this talk is not available outside some very specific settings but this deck is here for you as a basic resource to form a basis for your own analysis based on my reasonably objective extensive professional experience using both technology sets in the real world]
Java EE 7 has been one of the most significant overhauls of the platform. Just some of the changes include retiring EJB 2 entity beans and JAX-RPC, greater alignment with CDI, WebSocket/HTML 5 support, a standard API for JSON processing, the next version of JAX-RS, an overhaul of JMS, long-awaited concurrency utilities, batch processing in Java EE and much, much more. In order to make educated choices for adoption, one should understand how the widely-used Spring Framework aligns with Java EE.
This session will compare and contrast the Spring Framework with Java EE 7. We will focus on key areas that include the component development model, dependency injection, persistence, UI, REST, messaging, security and testing. Beyond API/features, the analysis will take a holistic view in covering concerns such as ease-of-use, manageability, ecosystem and vendor-neutrality.
WebLogic 12.1.3 was released late last year. It brings a large set of changes including support for some key new Java EE 7 APIs such as WebSocket, JAX-RS 2, JSON-P and JPA 2.1, support for Java SE 8, WebSocket fallback support, support for Server-Sent Events (SSE), improved Maven support, enhanced REST administration support, Oracle Database 12c driver support and much, much more. In this session we will take a detailed tour of these features. In addition we will also cover updated WebLogic support in the Oracle Cloud, the new Oracle public Maven repository, using WebLogic with Arquillian for testing and well as official Docker support for WebLogic.
Towards the end of the session we will discuss what's coming in WebLogic 12.2.1 this year including full support for Java EE 7, multi-tenancy and more.
The current state of the Apache Wicket framework in 2014 as presented at the DEVdev meetup held in Deventer, the Netherlands.
- A critique of ThoughtWorks' Technology Review 2014 where they slam JSF (jay) as a concept (nay)
- A look back at 10 years of Wicket
- A review of the current Wicket versions
- An outlook and roadmap for Wicket 7 and Wicket 8
The DEVdev (Deventer Developers) is a new meetup for any developer in the eastern part of the Netherlands (the right side of the IJssel river). This presentation was delivered at the first meetup, and was kindly sponsored by Topicus B.V.
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
The Spring Framework has no-doubt played a major role in evolving the way we write enterprise applications on the Java platform today. However, it is still a proprietary framework owned by a single company. The age of having to rely on such proprietary frameworks in order to develop decent enterprise applications is now over and Java EE 6 has become an even easier way to develop enterprise applications based on standards which makes it the best choice for any enterprise application. In this session you will experience how to migrate a typical full stack Spring application to a standards based, completely portable, Java EE 6 application including integration tests.
jDays2015 - JavaEE vs. Spring SmackdownMert Çalışkan
From the heavy weight authors of Wiley, on Java EE side Murat Yener with Professional Java EE Design Patterns (http://www.amazon.com/Professional-JavaEE-Design-Patterns-Murat/dp/111884341X) and on Spring side Mert Caliskan with Professional Spring (http://www.amazon.com/Beginning-Spring-Mert-Caliskan/dp/1118892925). The talk will expose good, bad and the ugly sides of both Java EE and Spring by hands on illustration of creating a crud app from scratch. Both speakers will introduce best parts of their platform on demos meanwhile point out weaknesses of the opponent. Both platforms will demonstrate their strengths on best practices, tool support, 3rd party libraries, community support and design patterns. Get ready for a family size huge fun while watching two most commonly used platform on Java.
With the Tenth Anniversary of Wicket behind us, Wicket is still one of the thriving survivors of the Great Web Framework Wars of the mid 00's. Is there a future for server-side frameworks? In this presentation Martijn Dashorst provides a brief history of Wicket.
With a State of the Wicket, Martijn will look at who is currently using Wicket, the community and current release plans.
The majority of this session will be dedicated to the future of Wicket: does a component oriented, Java web framework have a future in the era of native clients and client side JavaScript frameworks? Martijn will layout the plans of making Wicket more productive for current users, on integrating better with JavaEE technologies and much more.
The Apache Wicket community is working hard to build the new major release of Wicket. One of the tentpole features is the move to Java 8 as a minimum requirement. Why did we do that, and how does this improve my Wicket code? Learn how to apply Java 8 features such as lambdas and the new DateTime API in your Wicket applications, and learn what else the community is creating for your benefit.
Presentation on how to use Vaadin and Scala to build web applications on top of HTML5. Most of the presentation is live coding, so you might to want to check these examples:
http://vj.jole.fi/
https://github.com/jojule/Stocks
This session compares the Spring and Java EE stacks in terms of Web frameworks. It re-examines the motivations behind the Spring framework and explores the emergence of the Java EE programming model to meet the challenges posed. The presentation provides insight into when Spring and/or Java EE is appropriate for a building Web applications and if they can coexist.
In September 2017 the long-awaited release of Java 9 gave us a new module system in Java. It also kick-started the release-train of frequent Java releases, with Java 11 being the first long-term supported Java version poised to take modules into the mainstream. So what has happened since the introduction of the module system?
This talk will provide an overview adoption of modules in open-source libraries, IDEs, build tools, and so on. It will also feature tools that have emerged to make working with modules easier. Expect an honest overview of the current state of modules in Java, with lots of demos to show what's possible. After this talk you can start developing your own modular Java application without hesitation!
Vaadin is Java framework for rapid development of highly interactive HTML5-based web applications. Because of server-driven nature Vaadin can easily be integrated with server-side Java EE features such as EJBs and JPA. During this speech we will look in detail on how multi-view Vaadin applications are built and coupled with Java EE based business systems using Context and Dependency Injection (CDI). Important topics covered within the session are the best practices of developing Model-View-Presenter (MVP) based Vaadin views as well as the as pointers and guidelines on how to use Vaadin with Java EE. Attending the speech does not require thorough understanding of Java EE or web technologies in general.
Java APIs- The missing manual (concurrency)Hendrik Ebbers
This isn’t a talk about microservices, NoSQL, container solutions or hip new frameworks. This talk will show some of the standard Java APIs that are part of Java since version 5, 6, 7 or 8. All those features are very helpful to create maintainable and future-proof applications, regardless of whether JavaEE, Spring, JavaFX or any other framework is used. The talk will give an overview of some important standard concepts and APIs of Java like annotations, null values and concurrency.
Testing Java EE Applications Using ArquillianReza Rahman
This session outlines how to effectively test Java EE APIs like JSF, Servlet, CDI, EJB 3, JPA, WebSocket and JAX-RS. Java EE includes a number of new features that enhance testability like generic dependency injection, CDI @Alternative, portable extensions, embedded containers and JSF project stages.
Using these features and best of breed tools like JUnit and Arquillian it is possible to perform unit, integration, system and functional testing for Java EE APIs at all layers of the application. In addition to discussing tools and features, the session will also demonstrate testing techniques like designing for testability, mock objects, isolation and test configuration.
JavaFX and HTML5 - Like Curds and RiceStephen Chin
JavaFX 2 is an exciting new platform for developing rich user interfaces with animation, media, and advanced controls with pure Java code. HTML5 is the next standard for web technologies promising richer graphics, native media support, and offline storage among other features. So which technology should you choose? We say you can have your curds with your rice! With one HTML5 expert and one JavaFX wizard on stage, we will show how you can leverage both of these technologies to create a new breed of application that goes beyond your expectations.
Moving to the Client - JavaFX and HTML5Stephen Chin
Talk given at JavaOne India about taking the best parts of JavaFX and HTML5 and leveraging them together. This talk contains an integration of Google Maps into a native Java application with interactive controls.
Presentation about the features of JavaFX. See how to use video, different deployment types, JavaScript integration, annimations and more. Demo's not included.
Java script nirvana in netbeans [con5679]Ryan Cuprak
JavaOne 2016
NetBeans is not just a Java IDE. It supports JavaScript as a first-class citizen and provides a complete integrated development environment. It also provides project types for server-side JavaScript (Node.js) as well as web browsers and mobile (Apache Cordova). In addition, it supports Grunt, Mocha and Selenium, Angular and Knockout, and more. This session provides an update on NetBeans 8.1 and demonstrates the top new JavaScript features. You will see a Node.js application in action, look at the support for JavaScript unit testing, and also see how easy it is to debug an Apache Cordova application running on a tethered iPhone.
When JavaFX Script was released, the mobile component was an important part. It was also one of the reasons many people and analysts believed in JavaFX as a real cross-platform client-side framework. For a number of reasons, JavaFX on mobile disappeared from the official Java roadmap. Fortunately, the OpenJFX team at Oracle made all the required sources available, and the JavaFXPorts initiative worked on providing JavaFX SDK's for the mobile platforms. In this session, we will show the current state of JavaFX on Mobile. We will show how to create a real cross-platform JavaFX Application using an IDE, and how easy it actually is to deploy that application on Android and iOS devices. We will show some of the features and limitations, and talk about the eco-system that is starting to take shape.
Configuring and maintaining a continuous integration environment is quite a bit of work. It requires ongoing resources both in terms of manpower and hardware infrastructure. As an application evolves so does the number of ongoing projects. The challenge is creating a scalable continuous integration environment which does not impede development and can handle the complexities of Java EE testing. This session covers how to setup and configure a cloud-based continuous integration environment for Java EE applications.
The presentation will focus on demonstrating how to use Atlassian Bamboo running on AWS to build and test a Maven/Gradle Java EE project that uses Arquillian for testing. Topics that will be covered include creating a custom AWS VM for use with Bamboo, creating an Amazon VPC (Virtual Private Cloud) along with test database using Amazon RDS. The presentation will delve into the specifics of testing EJBs, WebSocket endpoints, RESTful web services, as well as performing load testing in this environment. Security, cost control, and build monitoring will be covered as well.
Combining R With Java For Data Analysis (Devoxx UK 2015 Session)Ryan Cuprak
Java is a general-purpose language and is not particularly well suited for performing statistical analysis. Special languages and software environments have been created by and for statisticians to use. Statisticians think about programming and data analysis much different from Java programmers. These languages and tools make it easy to perform very sophisticated analyses on large data sets easily. Tools, such as R and SAS, contain a large toolbox of statistical tools that are well tested, documented and validated. For data analysis you want to use these tools.
In this session we will provide an overview of how to leverage the power of R from Java. R is the leading open source statistical package/language/environment. The first part of the presentation will provide an overview of R focusing on the differences between R and Java at the language level. We’ll also look at some of the basic and more advanced tests to illustrate the power of R. The second half of the presentation will cover how to integrate R and Java using rJava. We’ll look at leverage R from the new Java EE Batching (JSR 352) to provide robust statistical analysis for enterprise applications.
JDK.IO 2016 (http://jdk.io)
Java EE 7 introduced a new batch processing API. This session will go over how to use the batch processing API introduced with Java EE 7. This API is makes it easy to implement long running data/compute intensive jobs which need to be scheduled or initiated on-demand. Basics of the API will be demonstrated via code samples. The API will also be compared to Spring Batching and Hadoop to provide context and guidance on when these technologies are appropriate.
JavaOne 2016
JMS is pretty simple, right? Once you’ve mastered topics and queues, the rest can appear trivial, but that isn’t the case. The queuing system, whether ActiveMQ, OpenMQ, or WebLogic JMS, provides many more features and settings than appear in the Java EE documentation. This session looks at some of the important extended features and configuration settings. What would you need to optimize if your messages are large or you need to minimize prefetching? What is the best way to implement time-delayed messages? The presentation also looks at dangerous bugs that can be introduced via simple misconfigurations with pooled beans. The JMS APIs are deceptively simple, but getting an implementation into production and tuned correctly can be a bit trickier.
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)Stephen Chin
JavaFX 2.0 is the next version of a revolutionary rich client platform for developing immersive desktop applications. One of the new features in JavaFX 2.0 is a set of pure Java APIs that can be used from any JVM language, opening up tremendous possibilities. This presentation demonstrates the benefits of using JavaFX 2.0 together with the Scala programming language to provide a type-safe declarative syntax with support for lazy bindings and collections. Advanced language features, such as DelayedInit and @specialized will be discussed, as will ways of forcing prioritization of implicit conversions for n-level cases. Those who survive the pure technical geekiness of this talk will be rewarded with plenty of JavaFX UI eye candy.
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Ryan Cuprak
Java EE 7 provides a strong foundation for developing the back end for your HTML5 mobile applications. This heavily code-driven session shows you how you can effectively utilize Java EE 7 as a back end for your Apache Cordova mobile applications. The session demonstrates Java EE 7 technologies such as JAX-RS 2.0, WebSocket, JSON-P, CDI, and Bean Validation. It provides an overview of the basics of Apache Cordova as well as the tooling support added in NetBeans 8. The session also demonstrates an integrated approach to rapidly developing HTML5 mobile applications with Java EE 7 and NetBeans and concludes with best practices and pitfalls.
Top 50 java ee 7 best practices [con5669]Ryan Cuprak
JavaOne 2016
This session provides 50 best practices for Java EE 7, with examples. The best practices covered focus primarily on JPA, CDI, JAX-WS, and JAX-RS. In addition, topics involving testing and deployment are covered. This presentation points out where best practices have changed, common misconceptions, and antipatterns that should be avoided. This is a fast-paced presentation with many code samples.
50 EJB 3 Best Practices in 50 Minutes - JavaOne 2014Ryan Cuprak
This session provides 50 best practices for EJB 3 in 50 minutes with examples. These best practices involve not only EJB 3.2 but also its integration with other Java EE 7 technologies, not only coding best practices but also testing and production practices. The presentation targets Java EE 7 and also points out where best practices have changed, what patterns you should embrace, and antipatterns to avoid. This is a fast-paced presentation with many code samples. Categories covered include configuration, JPA, concurrency, testing, performance tuning, exception handling, CDI integration, JMS queue patterns, pattern changes, and many more.
JDD2015: Java Everywhere Again—with DukeScript - Jaroslav TulachPROIDEA
JAVA EVERYWHERE AGAIN—WITH DUKESCRIPT
For a long time, Java was perfect for creating cross-platform applications, but the advent of iPhone, iPad, and Android devices changed everything, resulting in a totally fragmented world. Catering to all these platform is troublesome and expensive. That’s why DukeScript was created: to make it easy to create cross-platform Java applications again. The goal of this hands-on lab is to create a cross-platform application from scratch that will run on iOS, Android, desktop, browser, and embedded devices such as the Raspberry Pi. You’ll learn about the Model-View-ViewModel (MVVM) architecture, which enables you to write and test business code totally independently of the view, and, finally, you’ll see it combined with a view to complete a working application.
IMPORTANT
Before conference, please follow the steps to prepare for the session:
- perform the Maven repository initialization by creating the archetype and building it as
described at DukeScript website
- also download NetBeans IDE (either latest beta or at least 8.0.2)
- Installing Android SDK rev. 19 or bringing own Mac Book with XCode installed can be also found beneficial
AngularJS - Architecture decisionsin a large project Elad Hirsch
Architecture Decisions in a large project (Elad Hirsch, Web team Leader @ IDI)
At this session we will take practical road - look into IDI Full-Stack architecture, dive around the spec and explore the challenges developing a large scale web project.
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfJAX London
A deep dive on creating mobile-ready, cloud-enabled, HTML5 applications based on Java EE and modern JavaScript. You will learn how to balance and combine the enterprise Java programming model, based on APIs such as CDI, JAX-RS and EJB 3.1, with JavaScript libraries like jQuery Mobile, Backbone, Require and Underscore, while taking advantage of the ease of deployment and elasticity of the cloud.
Over four year of experience in Full Stack Web Development using JAVA.
Worked on all phases of development life cycle including Analysis, Design Development, Testing, Implementation and Support Excellent web application development skills.
Expert in developing Muti-Tier Web application using JAVA, J2EE Standards, JSP, Spring, Hibernate, Servlets, JSF, JDBC, Core JAVA, XML, HTML, AJAX and JAVA Script.
Experience in deploying the application, and configuring the application servers like Tomcat and Web Logic.
Implemented Connectivity to databases using JDBC API from Servlet and JSP and also through ORM Libraries like Hibernate. Created Mappings for both one-one as well as many-one mappings to Tables as well as Views.
Experienced in MYSQL, DB2 and Microsoft SQL server.
Experienced n design and implementation of projects using concepts of Multi Threading, Singletons, Serialization, Atomicity as well as familiar with JVM Internals.
Implements MVC architecture using STRUTS. Uses MVC, Singleton, DAO, Factory, Service, Locator, Business Delegate, Façade design patterns.
Is a versatile team player with good analytical, communication and interpersonalskills.
Embracing Jakarta EE 10 not only enable you to write better structured applications, it also enables you to write more testable applications. Correctly leveraging CDI enables integration testing where you can simulate a database error and verify that JMS messages are lost due to a RuntimeException. This session will focus on strategies and techniques for testing message handing, transaction management, security, and data model integrity. You will see how you can check message delivery and error handling, session failover, database versioning, and two-phase commits with JMS and databases. All too often assumptions are made that are proven wrong in production. This session will show you how to take your testing to the next level.
DIY Home Weather Station (Devoxx Poland 2023)Ryan Cuprak
Weather is a fascinating and important aspect of our lives, and with the rise of smart home technology, it has become easier than ever to track and monitor weather conditions in your own backyard. In this presentation, I will explore the process of building a home weather station.
I will discuss the hardware components needed to build a weather station, including sensors for temperature, humidity, pressure, and precipitation, as well as the embedded board itself. I will also cover the programming aspect of the project, including how to read data from the sensors and transmit it wirelessly to the cloud.
By the end of this presentation, you will have a solid understanding of how to build and program a home weather station using Arduino, and how to customize and expand the project to fit your specific needs.
Jakarta EE is now over 20 years old and despite its age, it is as relevant today as it was back in 1999. It is one of the few open standards for developing enterprise applications with multiple independent vendor implementations. Its APIs are central to developing Java based cloud solutions. It is as relevant today as it was back in 1999. This presentation will provide context to Jakarta EE and why businesses choose to use it.
The new GraalVM from Oracle supports multiple language including JavaScript, Python, Ruby, R, C++ as well as Java and other JVM languages. This opens up interesting possibilities for polygot enterprise applications. Now you can use a Node library in a Java application or call an R statistical function from an EJB. Previously, this type of integration was extremely challenging. This session will provide recipes to get up and running along with best practices and some cool demos.
Code: https://github.com/rcuprak/graalvm_jee
Exploring Java Heap Dumps (Oracle Code One 2018)Ryan Cuprak
Memory leaks are not always simple or easy to find. Heap dumps from production systems are often gigantic (4+ gigs) with millions of objects in memory. Simple spot checking with traditional tools is woefully inadequate in these situations, especially with real data. Leaks can be entire object graphs with enormous amounts of noise. This session will show you how to build custom tools using the Apache NetBeans Profiler/Heapwalker APIs. Using these APIs, you can read and analyze Java heaps programmatically to ask really hard questions. This gives you the power to analyze complex object graphs with tens of thousands of objects in seconds.
Node.js Development with Apache NetBeansRyan Cuprak
This session covers the basics of developing Node.js applications with NetBeans. NetBeans includes fully integrated support for both JavaScript and Node.js. You’ll get a tour of the features and learn how NetBeans can accelerate your projects. The presentation looks at basic code editing capabilities provided by the IDE, tool integration (npm/Grunt/Bower/Webpack), frameworks such as Express, and debugging capabilities. You’ll see why NetBeans is the best free JavaScript/Node.js IDE.
Java 9 ships in July, are you ready for Java 9 modules? Java 9 modules (aka Project Jigsaw) is the biggest fundamental change to the Java runtime. Code that use Oracle/Sun private APIs will break. This session will cover the basics of Java 9 modules and also the current state of tooling. The ramifications to existing and legacy applications will be covered along with the steps you’ll need to take to harness the power of modules and write more maintainable systems.
Java EE 8 Presentation given at NYC Java SIG on May 4, 2017. This presentation provides the latest information on the forthcoming release of Java EE 8 in June.
Faster java ee builds with gradle [con4921]Ryan Cuprak
JavaOne 2016
It is time to move your Java EE builds over to Gradle! Gradle continues to gain momentum across the industry. In fact, Google is now pushing Gradle for Android development. Gradle draws on lessons learned from both Ant and Maven and is the next evolutionary step in Java build tools. This session covers the basics of switching existing Java EE projects (that use Maven) over to Gradle and the benefits you will reap, such as incremental compiling, custom distributions, and task parallelization. You’ll see demos of all the goodies you’ve come to expect, such as integration testing and leveraging of Docker. Switching is easier than you think, and no refactoring is required.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
In the ever-evolving landscape of technology, enterprise software development is undergoing a significant transformation. Traditional coding methods are being challenged by innovative no-code solutions, which promise to streamline and democratize the software development process.
This shift is particularly impactful for enterprises, which require robust, scalable, and efficient software to manage their operations. In this article, we will explore the various facets of enterprise software development with no-code solutions, examining their benefits, challenges, and the future potential they hold.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
4. Demo Application
Why not Swing?
• JavaFX replaces Swing
• Swing was a 1990s technology – different era
• Swing has significant shortcomings:
• No support for touch
• Hard to customize appearance
• JTable feature poor with complex code
• No support for animation
• No data binding support
• No support for animations
• Some customization require changes to L&F classes
5. Demo Application
Background
• HTML5 has arrived on the desktop
• HTML5 has arrived on mobile
• HTML5 apps are apps!
• Logic written in JavaScript
• UI HTML5/CSS3
• HTML5 apps are gaining device
support:
• Compass/GPS/Accelerometers/BlueToo
th
6. Demo Application
What type of demo application?
• Mobile – using HTML5 and Apache Cordova
• Apps not websites!
• HTML5 enables app development
• Excitement is around app development
• Rich user experiences
• Not talking about JSF + HTML5
10. Demo Application
Sailboat Racing Overview
• Committee boat sets the course and
announces it via radio.
• Boats register via radio specifying their class.
• Start sequence for class:
• Warning horn is sounded
• Start horn is sounded (boats cross start line)
• Start sequence repeated for next class.
• Committee boat monitors progress and
weather.
• Race course altered if wind dies or conditions
deteriorate.
• Finish time for each boat is registered at the
end of the race
• Final results are calculated.
11. Mobile Overview
Native HTML5 Apps
• Single Page Application (SPA)
wrapped in Native application.
• Native application displays a
WebView – embedded browser.
• Logic:
• JavaScript
• JavaScript platform extensions
• UI
• HTML5 markup
• SVG
• Canvas
• WebGL
• All assets are bundled with the
application.
14. Demo Application
Technologies
• JavaFX
• Vanilla JavaFX– designed using Scene
Builder 2.0
• JAX-RS 2.0 (Jersey)
• WebSockets (Tyrus)
• Java API for JSON Processing
• HTML5
• Apache Cordova
(Android/iOS/Windows/Tizen/BlackBe
rry)
• JQuery
• JQuery Mobile
• Knockout JS
15. Mobile Overview
Framework License
jQuery Mobile
http://jquerymobile.com
MIT
Sencha Touch
http://sencha.com
Commercial(Free) & Open
Source (GPLv3)
Intel App Framework
http://app-framework-software.intel.com
MIT
Ionic
http://ionicframework.com
MIT
M-Project
http://www.the-m-project.org
MIT
Kendo UI
http://www.telerik.com
Commercial
Twitter Bootstrap 3
http://getbootstrap.com
MIT
Mobile Frameworks
42. Technical Comparison
Server Communication
Client
Java EE 7
App Server
REST
Request/Response
Web Sockets
Bidirectional
Restful Web Service
Web Socket Endpoint
43. Technical Comparison
Server Communication
• JavaFX
• Not part of Java 8.
• Websocket: Project Tyrus
https://tyrus.java.net/index.html
• REST: Project Jersey
https://jersey.java.net
• JSON Processing
https://jsonp.java.net
• HTML5
• REST – native support:
• Xmlhttp – used to issue AJAX calls.
• WebSocket – native support:
• WebSocket – used to register callbacks and send data.
44. Technical Comparison
HTML5: WebSocket Support
http://caniuse.com/#search=webso
Android Version Date WebSocket Deployed
4.4 JellyBean July 24, 2013 No 26.5% (80% can’t)
4.4 KitKat October 31, 2013 Yes 20% (8/2014)
51. Technical Comparison
Challenges
HTML5 Development Challenges
• Null versus undefined
• Different approaches to defining “classes”
• Global namespace
• IDE coding support
• Threading – Web Workers cannot update the DOM
• IndexDB support/access
• Recovering from fatal errors (application “hung”)
JavaFX Development Challenges
• Mobile support
• Interaction with hardware
53. HTML5 & JavaFX
JavaFX Misconceptions
• JavaFX is irrelevant with the advent of HTML5.
• Java on the desktop is dead.
• JavaFX and HTML5 are mutually exclusive.
• Java does not have good graphics performance.
• JavaFX is only for rich media applications – not desktop apps.
• JavaFX is meant for only building games and mobile apps.
• You would never use JavaFX in a business application.
54. HTML5 & JavaFX
Legacy Technologies
• Java3D, JAI, and JMF are dead.
• Java3D, JAI, and JMF have no relationship to JavaFX.
• JavaFX is not like these technologies:
• Cross-platform – features are available everywhere.
• Integrated into the JRE – no separate download/versioning/etc.
• JavaFX includes support for common video and audio formats.
55. HTML5 & JavaFX
• Retained mode
• SceneGraph
• Scene Builder Tool
• 60+ components
• CSS skinning
• Built-in animation
support
• Audio/video support
• Multi-touch
• 3D Tooling Support
with SceneBuilder
JavaFX Key Features
56. HTML5 & JavaFX
JavaFX in Perspective
Differentiating feature: Scene graph is at the
core of the API.
• UI widgets are nodes like any other node!
• UI widgets are thus like any other node in the
scene graph
• Can be animated, transformed, filtered,
leverage customized event handling
58. HTML5 & JavaFX
HTML5 Major Features
• 2D Canvas
• WebGL – technically not part of HTML5
• CCS3 – WebFonts, Transformations, CSS
Animation
• WebSockets
• Web Workers – background threading
• Data storage – file system access, local storage,
app cache
59. HTML5 & JavaFX
HTML5 vs. Traditional Web Applications
• Not page centric like JSF/JSP/Servlets.
• Single Page Application (SPA) – the app is the page.
• Client is stateful and not stateless.
• Application is coded in JavaScript.
• True asynchronous communication with the server.
• Application may not have a backend server.
• Maybe sold via an App store.
60. HTML5 & JavaFX
HTML5 Applied
• Many mobile apps are hybrids:
• Native application shell with HTML5 content.
• PhoneGap aka Apache Cordova
• Native application development dominates mobile:
• Mobile phones, while powerful, are not as powerful as 2 GHz i3.
• Mobiles devices are RAM limited – garbage collection and RAM
• Android support native apps (C/C++) – NDK.
• Performance/usability issues - FaceBook went native.
63. HTML5 & JavaFX
Overview: Comparison Challenge
• HTML5 is amorphous:
• Basic set of base technologies (SVG, Canvas, WebGL, WebSockets,
WebWorker).
• Additional functionality provided by open source libraries:
• JQuery
• Three.js
• Tween.js
• Almost impossible to argue HTML5 can’t do X.
• JavaFX is fixed:
• More robust core features.
• Easier to use developmentally.
• Smaller ecosystem of components.
64. HTML5 & JavaFX
Overview: HTML5 Limitations
• JavaScript language
• Browser challenges
• Custom browser extensions
• Concurrency
• Time zone detection
• Tooling challenges
• Patent infringement/ IP theft.
65. HTML5 & JavaFX
Overview: JavaFX Limitations
• No smart phone strategy.
• RoboVM– opens up iOS!
http://www.robovm.org
• Incomplete – still a work in progress.
• Core features dependent upon Oracle resourcing.
• Missing features:
• geo-location, device orientation, accelerometers,
camera capture
• Perception – JavaFX 1.0.
66. HTML5 & JavaFX
JavaFX HTML5
Deployment Strategies
Mac App Store ✔ ✔
Microsoft App
Store
✔ ✔
Android Stores ✖ ✔
iTunes ✔
Browser ✔
68. HTML5 & JavaFX
Rendering
• HTML5 Canvas element is a 2D draw surface –
similar to Java 2D, MacOS X Quartz, QuickDraw,
etc.
• HTML5 Canvas is immediate – JavaFX retained.
• HTML5 Canvas similar to JavaFX Canvas.
• HTML5 Canvas does not support hit detection.
70. HTML5 & JavaFX
2D Canvas: JavaFX vs. HTML5
• Similarities:
• Immediate mode rendering.
• API almost exact match.
• JavaFX:
• Canvas can participate in scene graph and also JavaFX 3D.
• Supports SVG paths.
• HTML5:
• Lacks fill support for arcs or polygons.
71. HTML5 & JavaFX
Feature Integration
JavaFX HTML5
Scene
Canvas Video
Audio
Canvas
SVG
Video
CSS Audio
Feature Layout not
integrated.
3D
WebGL
(3D)
72. HTML5 & JavaFX
Feature Integration
Video and Canvas integrated via layout.
73. HTML5 & JavaFX
SVG
• SVG – 2D vector image support (.svg)
• XML based: supports vector, raster, and text.
• SVG 1.0 release in 2001.
• SVG 2.0 targeted for 8/2014.
• Can be compressed using gzip.
• Browser support is not robust
• IE8 didn’t provide SVG support
• Modules lacking full support: Font, Filter, Clip, Cursor
• Include in HTML using <embed>, <object>, or <iframe>
74. HTML5 & JavaFX
HTML5: SVG
• Multiple tools can export to SVG:
• Adobe Illustrator
• OmniGraffle Professional
• CorelDraw
• InkScape (open source)
• SVG format has a similar structure.
• Can be manipulated from JavaScript.
75. HTML5 & JavaFX
Controls
• HTML5 and JavaFX have rich suite of controls.
• Binding:
• JavaFX – built-in
• HTML5 – need library like knockout.js.
• HTML5 lacks a windowing API.
• No layout managers, windows, menu bars, etc.
• No framework for extending browser controls.
• Controls vary between browsers.
• No support for internationalization.
• JavaFX controls are node in the scene graph.
76. HTML5 & JavaFX
Tables
• HTML5
• No native “grid” data grid component (JTable/Excel equivalent)
• You cannot drag and drop <tr></tr> to rearrange a table.
• Challenges: Merging cells (row/column), copy paste, selection.
• JavaFX
• Powerful table component – joining cells, selection, copy paste,
drag and drop.
• Supports table joining in JavaFX 8.
77. HTML5 & JavaFX
Multimedia Support
• Video/audio codec support determined by patents.
• Oracle licenses formats for JavaFX.
• HTML5 supports no audio/video codecs by default.
• JavaFX provides a known set of codecs.
• Built on top of Gstreamer (http://www.gstreamer.com)
79. HTML5 & JavaFX
Video Codec Support
• HTML5 video includes controller
play/stop/progress/seek/volume.
• HTML5 – easy to fallback to plugins (Flash) where necessary.
• JavaFX – does not include controller UI.
• Neither technology can access individual video Frames!
81. HTML5 & JavaFX
Animation
• HTML5 animation is primitive.
• requestNextAnimationFrame callback
• You are responsible for everything else!
• Callback not supported on all platforms - polyfill can suffer
performance degradations
• Must either build a toolkit or use JavaScript animation library like
tween.js.
• JavaFX
• Animation framework built into the platform
• All nodes can be animated – include UI elements.
• javafx.animation.Animation – base class – two subclasses.
84. HTML5 & JavaFX
3D Support
• JavaFX 8 and HTML5 WebGL both support 3D.
• JavaFX 8 3D support:
• Built on top of OpenGL/Direct 3D
• Provides a built-in scene graph
• Decora – DSL Shader language
• HTML5 JavaFX WebView does not support WebGL.
• JavaFX 3D – 3D without the overhead.
85. HTML5 & JavaFX
WebGL
• WebGL developed by Khronos Group
• Based on OpenGL ES 2.0 – embedded OpenGL API used on iOS
and Android.
• API is low level – must develop or use framework on top of
WebGL.
• GLGE: http://www.glge.org
• SceneJS: http://www.scenejs.org
• CubicVR: http://www.cubicvr.org
• Three.js: http://www.threejs.org
• Not supported in all browsers.
• IE support has been lacking – first version IE 11.
• Safari requires the user enable WebGL (Developer menu).
• Shaders written in C-like language
86. HTML5 & JavaFX
three.js vs. JavaFX 3D
Feature JavaFX WebGL three.js
Light 7 2
Built-in Shapes 25 4
WebGL – no JavaScript libaries
Only triangle meshes
No picking API, lines, etc. (currently)
JavaFX
Highlevel API – use jogl for OpenGL capabilities.
87. HTML5 & JavaFX
Performance Tuning
• JVM can be tuned for
performance.
• HTML5 lacks tuning support.
• Cannot configure garbage
collection.
• Each browser is “different.”
• Limited tooling for exploring
JavaScript VM problems.
http://www.html5rocks.com/en/tutorials/speed/static-mem-pools
90. HTML5 & JavaFX
JavaFX CSS Control Skinning
• JavaFX uses CSS for skinning.
• JavaFX uses its own CSS attributes.
• JavaFX CSS reader is not fully compliant.
• Graphic artist will must learn JavaFX CSS properties.
• JavaFX skinning properties don’t support animation.
93. HTML5 & JavaFX
HTML5 Property HTML5 Value JavaFX Property JavaFX Value
background -webkit-gradient(
linear,
left top, left
bottom,
from(#3e779d),
to(#65a9d7))
-fx-background-color
linear-gradient(to
bottom,
rgb(62,119,157),
rgb(101,169,215))
border-radius 8px -fx-border-radius 8px
box-shadow rgba(0,0,0,1) 0
1px 0
-fx-effect dropshadow(one-pass-
box,black, 0,
0.0 , 0 , 1)
JavaFX CSS Control Skinning
94. HTML5 & JavaFX
WebView Overview
• Uses WebKit as the rendering engine – same renderer used
by:
• Safari
• Chrome <29 – Google has forked WebKit.
• Fully functional web browser – can render
cnn.com/ebay.com/etc.
• No built-in navigation controls.
• Proxy detection/configuration challenging.
• Limited control of page load/monitoring.
95. HTML5 & JavaFX
WebView Integration
Bidirectional communication:
• JavaScript code can call Java code from WebView.
• Java code can invoke JavaScript methods.
96. HTML5 & JavaFX
WebView Debugging (Secret)
Response will be JSON.
97. HTML5 & JavaFX
Integrating WebView
• WebView enables hybrid applications.
• Integrate web applications into desktop application.
• Integrate message forums/online help.
• Provide online HTML based help.
• Limitations:
• HTML5 geolocation feature doesn’t work.
• Unable to set user-agent (causes problems with some
JavaScript/servers.)
99. HTML5 & JavaFX
Conclusion
• HTML5:
• External libraries necessary to make HTML5 viable.
• Well developed ecosystem.
• Weakness: core language and feature integration.
• JavaFX:
• Well designed architecture with excellent feature integration.
• Next logical step for the desktop/embedded devices.
• Weakness: mobile support.
100. Summary
References
• Email contact:
• rcuprak@gmail.com
• Twitter: @ctjava
• Other Session:
• Hybrid Mobile Development with Apache Cordova and Java EE 7
(TUT5276)
• 50 EJB 3 Best Practices in 50 Minutes - CON1947
• Books:
Editor's Notes
[Michael]
Native HTML5 applications are fundamentally different from mobile web applications. An HTML5 application is a “Single Page Application” – this means that the application resides in a single “page.”
There is no:
Back button
URL bar
History
Shortcuts
The user cannot escape from your application.
You code the logic of the application in JavaScript -
You mobile framework to get going.
Don’t re-invent the wheel.
Desktop web development skills are different than mobile web development skills
Have to handle touch, small devices, device orientation changes.
Angular can be used although it isn’t listed.