Thursday Jun 09, 2016

Migrating from Desktop to Cloud-Native Web Applications

How can you provide a smooth migration path from a desktop application to a web application that has a similar user experience as the desktop application? In his new article "Migrating from Desktop to Cloud-Native Web Applications”, Thomas Kruse discusses how to use JavaFX as the foundation for hybrid desktop applications that are built by uniting the latest web and desktop frameworks.

This article explores an architecture that combines the best of the web and desktop worlds as a migration path and as an option for building next-generation desktop applications. As Kruse explains, to ease the migration path, it's prudent to consider integrating the desktop application being migrated with a new web-based application, even if this results in additional effort. 

The resulting hybrid application must support the web-based future and the current Swing- or JavaFX-based parts of the desktop application at the same time, because simply showing a web page inside the desktop application is insufficient. To provide the required level of integration, interaction between the elements of the desktop-based user interface and the web-based user interface must be supported in both directions. One way to achieve this is by using the JavaFX WebView component.

Through code examples, Kruse demonstrates a migration architecture that uses Oracle JavaScript Extension Toolkit. Leveraging a browser and the JavaFX WebView as integration technology provides a path for creating pure web-based clients for enterprise applications. By using HTTP endpoints, it is easy to provide access for external entities such as native mobile clients. As an additional benefit, this model fits nicely into a cloud-based application infrastructure, which provides the option of fully deploying to the cloud.

To learn more about this approach, read the article.

Wednesday Jun 08, 2016

New Java Champion Simon Ritter

Welcome New Java Champion Simon Ritter 

Simon Ritter has been involved in promoting Java since the release of the first official JDK, when he joined Sun Microsystems in February 1996. He started helping to drive Java adoption back in 1999 as part of Sun’s Market Development Engineering group and moved to full ­time evangelism in January 2001. He also helped to start the Java Champion program. He has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K.

In his time at Sun/Oracle, he presented at almost all of the main Java conferences and many of the smaller ones. He has delivered Java presentations in 56 countries on six continents. In that time, Simon covered a wide range of subjects covering the launch of all Java SE versions since 1.4, Java EE, web services, SOA, Cloud, Java ME, embedded Java and JavaFX. 

At Oracle Simon took over managing the Java Evangelism team for the core Java platform, Java for client applications and embedded Java. Now at Azul, Simon continues to spread the word about Java and has become involved in new activities like the JCP Executive Committee.

Ritter has written many articles, been a track lead several times for JavaOne content reviews and created training courses like the JDK 8 Lambdas and Streams MOOC, which had 10,000 people sign up for it. He writes a Java focused blog, which can be found at azul.com/blog. Follow him on Twitter @speakjava

Java Champions are an exclusive group of passionate Java technology and community leaders who are community-nominated and selected under a project sponsored by Oracle. Learn more about Java Champions.

Thursday Jun 02, 2016

Convert an OpenJFX App to Mobile

Alexander Kouznetsov and José Pereda describe how to transition a desktop OpenJFX application into a cross-platform application using Gluon in a new article. Although OpenJFX is not ready to run on mobile devices--and it does not provide tools for configuring, debugging, and deploying apps--Gluon provides frameworks and tools that enable you to use OpenJFX for mobile development.

In Part 1 of the article, the authors address how to create a Gluon application project in NetBeans and then run your application on Android, iOS, and desktop devices. Part 2 covers how to adjust the application for use on mobile devices by dealing with issues such as screen size, multiple windows, touch input versus mouse input, application lifecycle, and saving application state. Part 3 describes options for using Glisten, a Gluon subcomponent, to make the application look and feel modern.  

Throughout the article, Kouznetsov and Pereda provide example code, caveats, and tips. To learn more, read the article.

Thursday Apr 21, 2016

JavaFX Applications Across Devises

Using the new Gluon Mobile framework and some hardware from Adafruit, Gerrit Grunwald describes how to create a mobile/desktop application that can be used to control a mood light that can be turned on and off, set to a particular color, or set to a color cycling mode. His goal in the article "In the Mood: Build Your Own Mood Light and Control It with Java" is to show how easy it is to create a mobile app based on JavaFX.


The Gluon Mobile framework provides methods for achieving platform-dependent settings, which is critical when building an app for different platforms--such as mobile, embedded, and desktop devices--because the UI design is often totally different on different platforms. And, if you are building an Android app, Grundwald points out another advantage of the Gluon Mobile framework: even though Android is not capable of running Java 8, you can use Java 8 in your source code because Gluon Mobile uses retrolambda, which makes it possible to use Java 8 features (except streams) on Java 7.

Grundwald's mood light can be hooked up to the internet and controlled remotely from different devices, such as a mobile phone and a desktop computer. And, if you don't think you need a mood light, he points out another use: you can use it as a build-server status light or for other purposes.

To see how using JavaFX on mobile devices can be a real alternative to native applications--not for all use cases, but at least for some--read the article.

Wednesday Mar 30, 2016

Last Interactive Online Java Webinar with Q&A

 The Virtual Technology Summit (VTS) delivers interactive Java technical content from Java Champions and Oracle experts to your desk.  

The interactive, online event, is sponsored by the Oracle Technology Network (OTN). The April 5 event is the last one in this VTS series. It features six Java technical sessions about Java EE, cloud, and Java SE API. Register now

The Java Track includes three code-heavy sessions:

Java on Mobile: Thanks to innovations in mobile JVM's and the availability of JavaFX on iOS and Android, it is now possible to write applications once (in Java) and deploy them on the major mobile platforms. In this session, we will show how easy it is to create a highly-polished Material Design Java application, and to deploy it on an Android device and an iOS device with exactly the same code used in both deployments.

Asynchronous programming in Java 8: how to use CompletableFuture: This presentation aims to explain how the patterns introduced by this interface and its implementing class are new to the Java platform, and how they fill the gap in the old Future patterns.The different models are precisely presented: how to create complex asynchronous processing pipelines, how to deal with exceptions, how to test complex code. 

Down-to-Earth Microservices with Java EE: the session explores microservices using a simple but representative example using Java EE. You'll see how the Java EE programming model and APIs like JAX-RS, WebSocket, JSON-P, Bean Validation, CDI, JPA, EJB 3, JMS 2 and JTA aligns with the concept of microservices.

Java SE 8 for Java EE Developers: Java SE 8 brings a bounty of improvements. In this session, you will learn about Lambda expressions, a new Date and Time API, the Streams API, Completable Futures, Nashorn, Repeatable Annotations, String joiners, etc.

Thinking Beyond ORM in JPA:  This session discusses native-query support in JPA along with stored procedures and result set mappings in JPA 2.1. The presented code samples illustrate the details of the API, highlighting their strengths and weaknesses. Our analysis reveals applicable use cases and most popular approaches. The summary provides guidelines on how and when to utilize native queries.

Visualizing Data in the Cloud with Oracle JET: Oracle JET is a free and open source toolkit, providing a solid basis for enterprise JavaScript applications, including built-in solutions for accessibility, modularity, and data visualization. In this code-driven session, you will learn everything you need to know to create maintainable enterprise applications in JavaScript!

Tuesday Feb 09, 2016

Java on Mobile

Wondering how to create Java applications that you can deploy on different mobile devices? Why not use JavaFX user interface framework for cross-device development? New mobile JVM and the availability of JavaFX on iOS and Android make it possible to write applications once (in Java) and deploy them on multiple platforms.

In his ‘Java on Mobile’ session, Johan Vos will explain how developers can leverage their Java skills for today’s mobile development. He will describe the benefits of the Java platform and JavaFX for mobile user interfaces. Many open source development tools and libraries like Gluon solutions are available to facilitate Java mobile app creation and cross-deployment. 

Johan will also explain how to port Java applications to iOS, Android and Microsoft mobile and present a live demonstration showing how to deploy the same application on iOS and Android devices.   

This ‘Java on Mobile’ presentation is part of the next Virtual Technology Summit sponsored by the Oracle Technology Network. For your convenience, we offer the event in three time zones as follows: 
  • Americas - March 8th- 9:30am to 1:00 PST - Register
  • APAC - March 15th - 9:30am to 1:00pm IST - Register
  • EMEA - April 5th - 9:30am to 1:00pm BST - Register
This VTS provides two tracks on Java SE and Java EE with six hands-on sessions. Check out the full VTS agenda here

Wednesday Feb 03, 2016

Medusa: Gauges for JavaFX

Have you ever had a need for a standard gauge control? Gerrit Grunwald has, so he decided to create a library of gauges he calls Medusa. 

In his "Medusa: Gauges for JavaFX" article, he describes the standard gauge his library provides, plus he explains his FGauge control, which enables you to easily embed the Medusa standard gauge into a simple control you create that contains a frame and a background. 

The main idea of Medusa was to enable developers to use one gauge control class that contains all the properties a gauge needs. Grunwald also created several skins and a GaugeBuilder class that lets you easily set gauge parameters. To see examples and learn more, read the article.

Thursday Jan 28, 2016

New Java Champion Hendrik Ebbers

Welcome the new Java Champion Hendrik Ebbers

Hendrik Ebbers is Java Architect at Canoo Engineering AG and lives in Dortmund, Germany. His focus is UI technologies, Middleware and DevOps in addition to research and development. 

Hendrik Ebbers is the founder and leader of the Java User Group Dortmund and gives talks at user groups and international conferences such as JavaOne, Devoxx, JFokus JAX and more. He blogs about UI related topics at www.guigarage.com. He is also a writter for the Java Magazine and a co-creator of JavaFX Ref Card for DZone

Hendrik is one of the lead developers of DataFX that is used in several Java projects. This year Hendrik started the open source project Dolphin Platform. Here Hendrik is one of the lead developers and he is responsible for the JavaEE and Spring integration as well as the JavaFX client part. 

Hendriks JavaFX book "Mastering JavaFX 8 Controls" was released 2014 by Oracle press. Hendrik is JavaOne Rockstar and JSR expert group member. Follow him on Twitter @hendrikEbbers 

Learn more about the Java Champion program

Thursday Dec 17, 2015

Java Books in 2015

Whether you are looking for gifts or plan to catch up on reading over the holidays, there are many Java programming books available. Most of the authors are well-known leaders in the Java Community and famous writers with several programming books under their belts 

Java: The Legend by Ben Evans
Introducing Java 8 by Raoul-Gabriel Urma
Minecraft Modding with Forge by Aditya Gupta, Arun Gupta
Java Programming 24-Hour Trainer, 2nd Edition by Yakov Fain
Pragmatic Unit Testing in Java 8 with JUnit by Jeff Langr, Andy Hunt, Dave Thomas
Beginning Java Programming by Bart Baesens, Aimee Backiel, Seppe vanden Broucke
Java EE 7 Development with NetBeans 8 By David R. Heffelfinger
Functional Programming in Java by Venkat Subramaniam 
JavaFX Essentials by Mohamed Taman

If I missed anything that you wish to recommend, please suggest additional book titles as a comment.

Thursday Dec 03, 2015

Press Your Button for Raspberry Pi

By Guest Blogger Roberto Marquez  

The Raspberry Pi is a great platform for creating your own interactive games.  Recently, I designed an application utilizing an arcade button attached to a GPIO pin.

The game uses Java Standard Edition for Embedded Devices as the implementation platform.  It uses JavaFX APIs and FXML to create the user interface which runs on the screen buffer.  This means no X windowing session is required to run the game on Raspberry Pi.  It also runs on desktops with the latest version of Java 8.

The game is similar to the TV game show ‘Press Your Luck’, but differs in several ways:
  • single or multiplayer (1-3 players)

  • winner is determined by the first player to reach a predetermined score

  • Whammys only remove half the current player's score, and not the whole thing

Here is a video demo:


Here is a wiring diagram of the project:


More assembly instructions and other details are available in the project guide.

Reach out the author:


About

Insider News from the Java Team at Oracle!

duke
Links


Search

Archives
« June 2016
SunMonTueWedThuFriSat
   
3
4
5
6
10
11
12
13
17
18
19
20
23
24
25
26
27
28
29
30
  
       
Today