OpenJFX for Embedded Devices

Slides:



Advertisements
Similar presentations
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Advertisements

INTRODUCTION TO JAVAFX CS12420 – Software Development Andrei Stanica (modified ltt)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Your customer as a segment of one That changes every second! Hein Van Der Merwe Chief.
MVC in JavaEE 8 Manfred Riem Principal Member of Technical Staff September, 2014 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
1 Mocha Raspberry Pi Hacking Stephen Chin
Jim Ferrentino Elizabeth West
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
Oracle Cloud Marketplace Neelesh Gurnani Director, Product Development Arif Khan Director, Product Management September 29, 2014 Copyright © 2014, Oracle.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Track the changes in your Apex application between releases: Yes you can Plsql.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle SQL Developer What’s New in Version 4.1 Jeff Smith
ILMT/SUA external demo- 11/07/2014
Introduction To JavaFX Scenic View Jonathan Giles Software Engineer, JavaFX Team Oracle Corp Copyright © 2014, Oracle and/or its affiliates. All rights.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 2 Hidden Gems of APEX David Gale Software Engineer Oracle Application Express November,
The Safe Harbor The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated.
Best Practices for Supporting Oracle Hyperion EPM and Business Intelligence Solutions Mitra Veluri Senior Principal Technical Support Engineer David Valociek.
Best Practices for Upgrading Oracle PeopleSoft Environments
Porting JavaFX Embedded Lisa Selle Principal Member of Technical Staff JavaFX Embedded September 29, 2014 Copyright © 2014, Oracle and/or its affiliates.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Title Slide without Picture Subtitle Presenter’s Name Presenter’s Title Organization,
Discover the Latest in Partner Training for Solutions Specialists Ian Reed Sr. Director, Partner Enablement Dana Hutanu Director, Partner Enablement WWA&C.
Best Practices for Maintaining Primavera EPPM Solutions Mike Kieffer, Sr. Manager Mary Wiedenman, Sr. Program Manager Oracle Software Support Primavera.
2 2 The following is intended to outline our general product direction. It is intended for informational purposes only, and may not be incorporated into.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit The Newest JDE Module – Rental Management Joel Sandberg Sales Consultant.
QAD .Net UI: New Enhancements
Getting Started with Oracle Compute Cloud
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | From a certain point of view Eye tracking with Java Gerrit Grunwald Java Technology.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit PaaS from an Applications Perspective Charles McGuinness Director,
Oracle Confidential – Internal/Restricted/Highly RestrictedCopyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Identity Management.
UFCFX5-15-3Mobile Device Development UFCFX Mobile Device Development An Introduction to the Module.
Open Source Workshop1 IBM Software Group Working with Apache Tuscany A Hands-On Workshop Luciano Resende Haleh.
MVC 1.0 Manfred Riem Oracle Geertjan Wielenga Oracle Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Reporting from Contract.
Oracle E-Business Suite Order Management: Presenting the HTML and Mobile User Experience Durgaprasad Bodapati Director, Product Management Bhavana Sharma.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. An Auto-Join Network of Things Wong, H. and Wesson, B. Oracle Confidential – Internal/Restricted/Highly.
Hadoop 2 cluster with Oracle Solaris Zones, ZFS and unified archives Orgad Kimchi - Principal Software Engineer September 29, 2014 Oracle Confidential.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Quick Tutorial – Part 2 Open Data Web Services for Oracle BPM August, 2013 Forms.
Presented By: Muhammad Tariq Software Engineer Android Training course.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Contract Management.
SQL Tuning made much easier with SQLTXPLAIN (SQLT) Mauro Pagano Senior Principal Technical Support Engineer Oracle Confidential – Internal/Restricted/Highly.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit Really Cool Demo Stuff – 2015 Edition!!!!! For demo content, please.
Android Development Environment Environment/tools Windows Eclipse IDE for Java Developers (v3.5 Galileo) Java Platform (JDK 6 Update 18) Android.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
Build Mobile Apps for Oracle E-Business Suite with Oracle Mobile Platform Bruce Bailey Principal Mobile/Social Solutions Consultant Jagadeesh Maira Senior.
Travel and Transportation General Session and Industry Excellence Awards Vijay Anand, Oracle Sundar Swaminathan, Oracle September 30, 2014 Copyright ©
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 5 Lifehacks for the Apex Development environment Five frameworks you should use.
JavaFX on Mobile and Embedded: Status and Future Plans
CON8473 – Oracle Distribution of OpenStack Ronen Kofman Director of Product Management Oracle OpenStack September, 2014 Copyright © 2014, Oracle and/or.
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
Slide 1. What's New in NetBeans IDE 7.1 Name Title.
Developers Users Committers How do I configure this now? Just one more fix and I am done! CVS Download/Use Software Submit problems/ request features Store.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | PeopleSoft Order Management Pricing Managers: Have We Got Tools for You Oracle Confidential.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | What You Need to Know About User Defined Objects (UDOs) With Tools Release 9.2.
Introduction to Android Programming
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Daddy, what's a middle wear? An incredibly oversimplified explanation of what Middleware.
Open-O Integration Project Introduction
Computer System Laboratory
Contributing to Open Source Projects
Flight Recorder in OpenJDK
JD Edwards Support and Oracle Cloud Infrastructure: A Successful Path to Oracle Cloud
Using Visual Studio and VS Code for Embedded C/C++ Development
1.
PyWBEM Python WBEM Client: Overview #2
Oracle Java SE Subscriptions; Protect Your Investment in Java SE
Presentation transcript:

OpenJFX for Embedded Devices This is a Title Slide with Java FY15 Theme slide ideal for including the Java Theme with a brief title, subtitle and presenter information. To customize this slide with your own picture: Right-click the slide area and choose Format Background from the pop-up menu. From the Fill menu, click Picture and texture fill. Under Insert from: click File. Locate your new picture and click Insert. To copy the Customized Background from Another Presentation on PC Click New Slide from the Home tab's Slides group and select Reuse Slides. Click Browse in the Reuse Slides panel and select Browse Files. Double-click the PowerPoint presentation that contains the background you wish to copy. Check Keep Source Formatting and click the slide that contains the background you want. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Right-click any selected slide, point to Layout, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates. To copy the Customized Background from Another Presentation on Mac Click New Slide from the Home tab's Slides group and select Insert Slides from Other Presentation… Navigate to the PowerPoint presentation file that contains the background you wish to copy. Double-click or press Insert. This prompts the Slide Finder dialogue box. Make sure Keep design of original slides is unchecked and click the slide(s) that contains the background you want. Hold Shift key to select multiple slides. Apply New Layout (Important): Click Layout from the Home tab's Slides group, and click the slide containing the desired layout from the layout gallery. Lisa Selle Principal Member of Technical Staff JavaFX Embedded October 1, 2014 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

This is a Safe Harbor Front slide, one of two Safe Harbor Statement slides included in this template. One of the Safe Harbor slides must be used if your presentation covers material affected by Oracle’s Revenue Recognition Policy To learn more about this policy, e-mail: Revrec-americasiebc_us@oracle.com For internal communication, Safe Harbor Statements are not required. However, there is an applicable disclaimer (Exhibit E) that should be used, found in the Oracle Revenue Recognition Policy for Future Product Communications. Copy and paste this link into a web browser, to find out more information. http://my.oracle.com/site/fin/gfo/GlobalProcesses/cnt452504.pdf For all external communications such as press release, roadmaps, PowerPoint presentations, Safe Harbor Statements are required. You can refer to the link mentioned above to find out additional information/disclaimers required depending on your audience.

Program Agenda 1 Introduction to OpenJFX Developing for OpenJFX in general Developing for OpenJFX on embedded devices 2 3

Program Agenda 1 Introduction to OpenJFX Developing for OpenJFX in general Developing for OpenJFX on embedded devices 2 3

Introduction to OpenJFX OpenJFX runs on the following platforms: Windows, Mac, Linux, Embedded, iOS and Android Mainline development repo is open source (no intermediate, internal repository): http://hg.openjdk.java.net/openjfx/8u-dev (forest root) http://hg.openjdk.java.net/openjfx/8u-dev/rt (main sub repo)

Introduction to OpenJFX (continued) We have a governance model (OpenJDK) http://openjdk.java.net/bylaws We have a wiki for FAQ’s and general documentation http://wiki.openjdk.java.net/display/OpenJFX/Main We have a mailing list for general discussion http://mail.openjdk.java.net/mailman/listinfo/openjfx-dev

Introduction to OpenJFX (continued) We have a bug system http://javafx-jira.kenai.com We have an active community Community-contributed Android and iOS ports

Introduction to OpenJFX (continued) Very small portion of code remains closed T2K library and font related code remains closed Not needed for Windows, Mac, iOS, Linux builds Native rasterizing is used on the desktop

Program Agenda 1 Introduction to OpenJFX Developing for OpenJFX in general Developing for OpenJFX on embedded devices 2 3

Developing for OpenJFX OpenJFX Modules The code is organized into modules Modules are distinct functional units Large grained chunks of functionality Organized in a hierarchical structure Think projects/modules in a Java IDE Modules help to organize the code Capture the build order for compilation They are not JDK modules

Developing for OpenJFX OpenJFX Modules Modules are found under rt/modules Modules have a standard structure (src, src/main etc) graphics/src/main/docs graphics/src/main/java graphics/src/main/native graphics/src/main/resources graphics/src/test/java graphics/src/test/resources

Developing for OpenJFX OpenJFX Modules Builders Swing SWT Web Media FXML Controls DesignTime fxPackager Graphics Base

Developing for OpenJFX OpenJFX Build System Gradle build https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX Benefits Performance, incremental build, dependents … Move away from pure declarative to procedural build Less build code (significantly less code than ant)

Developing for OpenJFX How to Build OpenJFX Install prerequisite tools for your platform Download the latest JDK binary Install gradle Get the sources hg clone http://hg.openjdk.java.net/openjfx/8u-dev/rt Build! cd rt gradle ….

Developing for OpenJFX How to Run OpenJFX Install JDK8 You will want to run against the output in <jfx_repo>/artifacts/<platform>/sdk/rt java –Djava.ext.dir=<jfx_repo>/artifacts/<platform>/sdk/rt/lib/ext This will cause the JRE to pick up the JavaFX classes and libraries from your build instead of using the ones distributed in the JDK

Developing for OpenJFX Tests Unit tests: (eg. rt/modules/base/src/test/java) Run tests from gradle: gradle :base:test HTML report: base/build/reports/tests/index.html General tests: (rt/tests) Functional tests, performance tests, manual tests Applications: (rt/apps) Ensemble8, Modena, 3DViewer

Developing for OpenJFX IDE The three major Java IDE’s are supported: NetBeans, IntelliJ and Eclipse https://wiki.openjdk.java.net/display/OpenJFX/Developing+OpenJFX IDE files are checked into the repository Open the rt directory from your IDE and start coding You must build outside of the IDE first (generated files)

Developing for OpenJFX Contributing Follow the rules and the roles of OpenJDK: Participant (read mailing list, post small patches) Contributor (sign Oracle Contributor Agreement) Author (user id and write access to code review server) Committer (work with the team, release code) Reviewer (an experienced committer) Sponsor (help contributors to become committers)

Developing for OpenJFX Contributing Join the mailing list Introduce yourself to the community Explain your interest (“I want to write a spinner control”) Find a Sponsor from the component owners list Find or create a bug report (JIRA) File a “Bug”, “Tweak” or “Feature” (more on this) Coordinate with your Sponsor when doing the work Use JIRA and the mailing list, not private email

Developing for OpenJFX Bugs, Tweaks and Features A Feature is a significant piece of new work Likely (often) takes more that 2 weeks (e.g. 3D support) Likely (but not necessarily) involves new API Requires significant documentation, testing etc. A Tweak is a lesser amount of work (“little feature”) Takes less that 2 weeks (e.g. refactoring) A Bug is a defect in the code Performance problems are also considered to be bugs

Developing for OpenJFX Contributing Work with your Sponsor Contributing to work in progress is easier Start by fixing the simplest possible bug Contributing a feature is significant work (doc, testing etc.) For small changes, attach patches to JIRA For large changes, interact using a webrev: http://openjdk.java.net/guide/webrevHelp.html

Developing for OpenJFX Contributing Request a code review from the component owners Use the OpenJDK code review process http://openjdk.java.net/guide/codeReview.html Request an API review for public/protected code You need an API review before your code can be released Use the mailing list and JIRA to seek approval/discussion e.g. “[API Review] RT12345: Add method to …”

Developing for OpenJFX Tracking Progress in OpenJFX Use JIRA dashboards: https://javafx-jira.kenai.com/secure/Dashboard.jspa OpenJFX is part of the Oracle JDK Uses the JDK milestones, weekly builds http://openjdk.java.net/projects/jdk8/milestones

Program Agenda 1 Introduction to OpenJFX Developing for OpenJFX in general Developing for OpenJFX on embedded devices 2 3

Developing for OpenJFX on Embedded Devices How to Cross-Build OpenJFX for Arm Hard Float Clone the repository Install prerequisite tools for your platform: Cross compiler Include files Target libraries to link against

Developing for OpenJFX on Embedded Devices How to Cross-Build OpenJFX for Arm Hard Float A generic cross compile toolchain for armv6hf can be fetched using the script in the OpenJFX repository: buildSrc/crosslib/crosslibs-armv6hf.sh This will download and install debian packages and an arm compiler into a crosslibs directory at the same level as your OpenJFX working copy

Developing for OpenJFX on Embedded Devices How to Cross-Build OpenJFX for Arm Hard Float You are ready to build! gradle –PBUILD_NATIVES=true –PCOMPILE_PANGO=true –PCOMPILE_TARGETS=armv6hf The parameter –PCOMPILE_PANGO=true allows you to build using open- source Pango/Freetype font libraries instead of the closed-source font library. This enables you to build a complete JavaFX stack for arm from the OpenJFX repository

Developing for OpenJFX on Embedded Devices Supported Platforms OpenJFX for Embedded Linux supports the core JavaFX modules: base, graphics, controls, and FXML It does not support: integration with Swing/SWT, media, or web modules Platforms which are known to work: Raspberry PI BeagleBoard xM (OMAP3) Freescale i.MX6 OpenJFX wiki contains notes on several platforms to help you get started

Developing for OpenJFX on Embedded Devices Other Platforms OpenJFX for Embedded Linux uses a full screen framebuffer configuration Requires platform-specific initialization of EGL to use the framebuffer Requires platform-specific code to use a hardware cursor Requires that the OS use hard float ABI, so that it can run JDK8 for ARM. It is possible to run OpenJFX for Embedded Linux on a soft float distribution, but you would need a VM with soft float support, such as OpenJDK

Developing for OpenJFX on Embedded Devices Example – Boundary Device SL iMX.6 Choose a linux distribution Boundary Devices has produced an easy-to-use Ubuntu image which can be obtained from their website (there is a link to this image on the OpenJFX wiki) Write the image to an SD card, install it in your boundary, and boot up

Developing for OpenJFX on Embedded Devices Example – Boundary Device SL iMX.6 By default, the image will run the x11 version of the egl libraries. To get hardware accelerated rendering in JavaFX, we need to install the framebuffer version of these libraries: root@oracle:~# sudo apt-get update root@oracle:~# sudo stop lightdm root@oracle:~# sudo apt-get install gpu-viv-acc-fb

Developing for OpenJFX on Embedded Devices Example – Boundary Device SL iMX.6 On subsequent boots, you will not need to stop lightdm for JavaFX to run using the accelerated path You will need to run as root or use sudo, as JavaFX needs to open some system files that require root access Install JDK8 for ARM Copy your OpenJFX for Embedded Linux build on top of the installed JDK8 for ARM You are ready to run OpenJFX for Embedded Linux!

Demo

Questions?