Steve On Java

Hacking Java, JavaFX, and Flash with Agility

Stephen Chin

Latest Posts

JavaFX - Not Dead Yet (aka. The Definitive Guide to Modern Java Clients with JavaFX)

We had a few candidate names that we came up with for our new JavaFX book with our publisher. My personal favorite was "JavaFX - Not Dead Yet." which I think pretty accurately describes how a lot of us long time JavaFX fans feel, but our publisher preferred our secondary option of "The Definitive Guide to Modern Java Clients with JavaFX." While not a bad title, this clearly doesn't pack the same punch. (Which do you think makes a better book cover?)

Many folks assume that client Java is dead; however, JavaFX is still alive and well with more usage, more platforms, and more community support than ever. And here are the top 3 reasons you may also want to consider adopting JavaFX for your next client application:

  1. Cross Platform and Mobile
  2. Seamless Native Packaging
  3. Huge Community of Developers

Cross Platform and Mobile

Archived image

JavaFX Mobile Application for Devoxx

JavaFX has always been a cross platform framework that runs on Mac OS X, Windows, and Linux equally well. However, it now also extends that support to Android and iOS with technologies like JavaFX Ports and Gluon Mobile.

Gluon Mobile is a framework for writing, compiling, and packaging JavaFX applications for deployment to iOS and Android. To the end user your application looks and behaves exactly like a native application.

This was always the dream for Java client developers and thanks to modern cross compilation technology is now something that is easy to do. In fact, you may already have some JavaFX apps installed on your phone like the very popular Devoxx conference application used for the global technology series started by Stephan Janssen.

Seamless Native Packaging

One of the things that has held Java client technology back historically is the challenge with reliably distributing applications. Browsers have never been a friendly place for embedded content causing issues with distribution as Applets and Web Start (although Karakun has been fixing the former as Hendrik described in his earlier Java Advent Calendar post).

A much more reliable way to package Java applications is to simply bundle the Java runtime with your application and distribute it as a native application. This removes any dependencies on the version of Java installed by the end user making it much easier to test your application and validate that your install will work reliably. Also, thanks to modularity, introduced in Java 9, you can ship a minimal subset of the JRE including only the components that are utilizing to minimize your application size.

There are a couple different options for native packaging:

  1. jpackage - Java 14 will re-introduce the jpackage tool that provides a simple way to package your application and all dependencies on the command line. This is already available for in a developer preview here.
  2. GraalVM - GraalVM is a high performance Java runtime that also provides ahead-of-time compilation for Java applications. This allows you to pre-compile your Java application as a native binary with very quick startup times. Gluon has more details on how to do this here.

The end result for your user is a simple native installer that will work regardless of what other Java runtimes or applications they may have installed. In fact, they probably won't even know you are developing your client application in JavaFX under the hood.

Huge Community of Developers

The great thing about writing applications in JavaFX is that you can tap into the 10 million developer globally who already know how to write robust, enterprise-ready Java code. This means there is a huge pool of available talent who can write and maintain the user interface, likely including you (the reader) as well.

Also, there is a huge, thriving community around JavaFX, many of whom contributed to the aforementioned JavaFX book that we just released. Some of the folks who you should follow on Twitter and can count on to give great advice about Java client development include:

Hopefully you are inspired to build your next client application in JavaFX. If you need help, feel free to reach out to me and my co-authors, or the myriad of other JavaFX experts in the Java community who would love to help.

Archived image

Categories
JavaFX, JavaFX Mobile, Uncategorized

Introducing The World's Best Container Registry... Again

Archived image

Crew of the new @DevOpsSpeakeasy interview program

I joined JFrog recently, but have been a friend of JFrog for many years now… and I must confess that I had no idea that Artifactory was one of the first container registries and is heavily used in production (psssh… don’t tell my boss, the CEO). I am sure I am not alone, and this is a huge miss for those of us who know and love JFrog products, but have been dealing with second class offerings to manage our container images. Actually, now that I know, I would argue that Artifactory is the world’s best container registry. From watching how customers use Artifactory, it is obvious that there is no other registry in the world that offers the same deep metadata, high availability, advanced security scanning, and the breadth of integrations.

But all of this comes at a price… and when you are starting a new project it is hard to convince your boss to purchase licenses for (or ask your DevOps team for access to) Artifactory Pro. And it should be no surprise that as your friendly, neighborhood change agent, a few months after I joined we now have a container registry offering for developers that is entirely free to use!

So I am pleased to “re-announce” the World’s Best Container Registry technology with a new offering called the JFrog Container Registry. The JFrog Container Registry uses the same proven binary image management capabilities of Artifactory including rich metadata, remote and virtual repositories, and can store Docker images and Helm charts for deployment to Docker or Kubernetes environments. You can download the on-premises version and use it on a local or cloud environment for free with no restrictions. There is also a SaaS version for AWS, Azure, and GCP with a free tier.

One of the areas that the JFrog Container Registry really shines is in a hybrid or multi-cloud environment. You can take control of your binary image storage by using the same repository on whatever cloud service or local infrastructure you are using for development, testing, and deployment. Given the size of container images, this lets you control where and how you are storing your images based on your deployment topology and corporate security constraints.

You now have in your hands the best container registry that is used to serve the production needs of the world’s largest organizations. Bank of America, Oracle, IBM Cloud, Box, Morgan Stanley, and Atlassian all already use JFrog’s container technology to store their Docker images at scale.

You can give the JFrog Container Registry a spin at: http://jfrog.com/container-registry.

Feel free to reach out and ask questions on Stack Overflow: https://stackoverflow.com/questions/tagged/jfrog-container-registry.

Categories
Uncategorized

Why I Left the Bay for the Swamp — A Story of Open Source Diversity

Archived image Frog in the Swamp: Ronincmc [CC BY-SA 4.0]

I left what many consider a dream job running developer marketing at Oracle next to the SF Bay to join a leading DevOps startup who identifies with frogs and the swamp. Here is what I learned in the high tech cloud industry and why I chose to go back to my roots.

One hundred and fifty years ago in the SF Bay Area it would be a common sight to see mixed herds of elk, deer, and pronghorn antelope grazing in the hills while grizzly bears fish for salmon in nearby rivers and streams. Now you are more likely to see billboards on cloud computing solutions and cranes constructing new tech buildings in the distance. The deer are still present, but have been relegated to pilfering flowers and tomatoes from residential gardens while dodging hurried soccer moms (like my wife).

Similar to how urbanization has put pressure on biological diversity in the SF Bay Area, open source startups are also struggling to survive in a technology industry that is dominated by cloud computing giants. They have made a successful business model out of packaging open source software in the cloud with professional support to lure developers into adopting their infrastructure. If large cloud companies like Amazon, Microsoft, Google, and Oracle continue to pilfer open source software and remove monetization opportunities for the companies that actively develop and maintain this software, innovation will be limited to the open source projects these tech giants deem profitable.

JFrog is one of the companies bucking this trend with great innovation and strong contributions back to open source. They have been supporting DevOps workflows for over a decade (before developers even knew why artifact and package management matter) and are leading the cloud-native revolution with the acquisition of Shippable, Conan and Cloudmunch to build a unified artifact management, security, and deployment solution. However, the secret of their success is a culture of open source investment and community support. 10 years ago, before I became a Java Rock Star, I was a part of the “swamp” community as an early Artifactory customer, and this continues to be the driving force in JFrog’s success today.

JFrog is doubling down on the community with free module repositories for a growing number of language communities including Go (GoCenter), Java (JCenter), and C/C++ (Conan-Center). Also, any open-source project can take advantage of free Artifactory Pro instances in the cloud, which covers the above languages plus JavaScript, Python, Ruby, R, Lua, Scala, Fortran, Objective C, Swift, . NET, etc. And with almost 100 open-source projects including Helm charts and an open command-line interface, they are giving back to the community. Finally, by bringing onboard a senior developer relations leader (yours truly), that shows their continued commitment to invest in open source and community.

So the next time you are tempted to simply use the one-click service that your cloud provider conveniently bundles for you, think about the open-source developers who brought the innovation and give them a chance to impress you. A special shout out to Eliot Horowitz, co-creator of MongoDB, Neha Narkhede, co-creator of Kafka (Confluent), Salvatore Sanfilippo, inventor of Redis, Mitchell Hashimoto, creator of Terraform (Hashicorp), Shay Banon, creator of Elasticsearch (Elastic), Yoav Landman, and Fred Simon founders of JFrog . These tech leaders all have successfully founded companies that drive the DevOps and cloud native movements and are worthy of my and your support.

I am glad to be joining these open-source leaders to take our industry forward. Expect more great open source and technical content straight from the swamp on the JFrog Developer blog.

Categories
Uncategorized

20 "Cakes" of Java in Brazil

To celebrate 20 Years of Java we did a cross-country tour in Brazil for 20 days, visiting Java User Groups and Events across the country. It was long and grueling, but a lot of fun. And most importantly, we got to eat cake! Cake for breakfast (thanks to Otavio and his chocolate passion) and a Java cake for dinner... every single day!

We raced robots in Campinas

And ate SOUJAVA cake!

Gave our support to the Brazilian government

And ate more cake in Uberlândia!

Oh, and for dessert some Picanha and microbrew

Had a "leisurely" drive to Goiania...

Duke has seen better days, but was still tasty...

And even tastier when properly grilled!

Refilled on coffee in Campo Grande

Oh, and of course refilled on cake!

Picked up some souvenirs on the way to Edson's hometown, Maringá

Where we packed the stage with attendees

To eat *tiny* slivers of cake

Had an epic journey to Rio do Sul

Where we ate more cake...

Visited Bruno's hometown of Florianópolis

For some more coffee and cake

And braved the windy roads...

To get back to São Paulo for a Juggy cake!

That was the end of the road tour, but not the journey as we flew to Otavio's hometown, Salvador, for some regional cuisine

on the beach... [being a Java Community Manager is a rough gig]

And cake!

And finished in Fortaleza with another full stage

And one of the tastier cakes of the trip!

So, what did we learn on this journey?

  • The Brazil equivalent of the Autobahn is a little more winding (and with a lot more potholes)
  • That stuff your parents said about sweets ruining your appetite was a lie... as long as dessert is Picanha and beer!
  • If we all eat one cake per year of age on our birthday, we would definitely have figures a lot closer to Duke. [this has empirically been proven by my waistline]

Happy 20 Years of Java!

Categories
Community, Events, Uncategorized

Java DevOps at the swampUP

The folks at JFrog definitely know how to put on events in style. For several years they have had an exclusive cruise at JavaOne for "Frogs and Friends", and this year they stepped it up with a full day DevOps-focused conference in Napa, the heart of wine country.

The JFrog swampUP was definitely a meeting of the minds with a great cast of Java and DevOps Rock Stars milling around and chatting about state-of-the-art tooling in Java. Was great catching up with Carl Quinn of Java Posse fame and now at a very cool tech job with Riot Games. Guillaume Laforge was slightly jetlagged, but that didn't stop him from ranting on the future of Groovy, which is now an Apache hosted project. And it was great to meet Seth Chisamore, the release engineering lead at Chef. I also happened to bump into Easy Bay JUG leader Chris Richardson and GR8Conf Organizer Søren Berg Glasius, so there was no shortage of expert hecklers to go around.

Here are some of the photos I took during the event:

The final keynote was given by Jagan Subramanian from Oracle who showed Artifactory running on big iron with some very impressive server setup. The Oracle repository has grown to double-digit terabytes in size, which in itself is impressive. However, the real story behind this is the network traffic, where they have done some clever hardware engineering tricks to keep things running smoothly all the way through the network switches in the data center.

I also presented an updated version of my "Confessions of an Agile Methodologist" talk that I got the JavaOne Rock Star award for. Believe it or not, in a previous life I was a DevOps/Agile guru, and a very early adopter of JFrog Artifactory. I am proud to say that they still have the best repository manager out there! :)

http://www.slideshare.net/steveonjava/confessions-of-a-former-agile-methodologist-jfrog-edition

Categories
Agile

Java Lego Workshop 4 Kids

This past weekend I did a Lego workshop for the local Devoxx4Kids bay area chapter. There were 35 excited kids from ages 8-14 who had their first taste of programming. While they expected to simply play with Legos for a few hours, they ended up hacking their first Java code in Eclipse.

The kids did a great job, and all the groups were able to get some basic Java code working on the Lego Mindstorms EV3 platform. They were using LeJOS, which is a great way to code for and deploy to the Lego intelligent brick using a robust programming language. Here is a video of one of the completed projects (sorry for my shaky camera work):

https://www.youtube.com/watch?v=JNNGC62DL6E

Here are some of the photos from the event:

And finally the full slide show with build instructions, which can be downloaded from SlideShare:

http://www.slideshare.net/steveonjava/devoxx4kids-lego-workshop

Categories
Uncategorized

More Java and VTS

I recently change roles at Oracle... previously I was a Java Technology Evangelist and now I am a Java Community Manager. So, you may be asking yourself what is the difference between an evangelist and a community manager... Here is the quick breakdown:

  1. Evangelists preach while managers buy pizza... looking forward to buying pizza for some JUGs! :)
  2. They probably won't "invite" me to customer meetings anymore... somehow I am fine with that.
  3. The Java part is still the same, so I can legitimately get away with drinking gourmet coffee and calling it work!

And as part of my new role I am getting pulled into a lot of our community outreach efforts. You will see more of these showing up on my blog, but the most imminent one is the upcoming Virtual Technology Summit (VTS). It is like a conference, but without the annoying vendors. ;)

Attendance at the VTS is free... just register on one of these sites based on what region you are located in:

I am particularly excited about Mark Heckler's session. He is going to talk about an autonomous land vehicle IoT navigator. Based on the quality of his JavaOne talks, it will be an exciting presentation!

I hope to see you at one of the VTS events in the chat.

Categories
Events

Congratulations to the 2014 JavaOne Rock Stars!

JavaOne is well known for its:

  • Great Cuisine
  • Formal Dress Code
  • Excellent Content!

Each year we award the top speakers for the JavaOne conference with the prestigious JavaOne Rock Star Award. This is done by taking a look at attendee feedback, so it really represents the folks who created the best content and experience for the JavaOne audience.

Without further ado, here is the list of recipients for the JavaOne 2014 Rock Star Award:

  • Adam Bien

  • Aleks Shulman

  • Andrzej Grzesik

  • Anton Arhipov

  • Arun Gupta

  • Axel Fontaine

  • Baruch Sadogursky

  • Ben Evans

  • Brian Goetz

  • Brian Oliver

  • Cedric Champeau

  • Christine Flood

  • Fabian Lange

  • Frank Kim

  • Geertjan Wielenga

  • Greg Luck

  • Hadi Hariri

  • Hendrik Ebbers

  • Johannes Weigend

  • John Arthorne

  • John Brock

  • Josh Long

  • Kirk Pepperdine

  • Les Hazlewood

  • Linda DeMichiel

  • Mark Winterrowd

  • Martijn Verburg

  • Matthew McCullough

  • Maurice Naftalin

  • Michael Duigou

  • Michael Hill

  • Michael Hoffer

  • Mike McQuaid

  • Nikita Salnikov-Tarnovski

  • Paul Sandoz

  • Petr Jiricka

  • Rafael Winterhalter

  • Reza Rahman

  • Rich Hickey

  • Sander Mak

  • Simon Maple

  • Stephen Chin

  • Steven Pousty

  • Stuart Marks

  • Sven Peters

  • Tal Weiss

  • Trevor Lalish-Menagh

  • Trisha Gee

  • Venkat Subramaniam

  • Yoav Landman

Please join me in congratulating all of these excellent presenters! Oh, and just as a teaser, the JavaOne 2015 CFP should be opening next month, so stay tuned for that.

Categories
Uncategorized

Oracle IoT Kids Workshop

So I just finished prepping 50 Raspberry Pi kits and 25 Lego sets for a kids programming workshop tomorrow, and put the finishing touches on the 99 page slide deck. Given the workshop doesn't start for another 6 hours, I think that is pretty timely. ;)

I will post some pictures after the workshop, but here is the slide deck if you want to get a head start on the fun:

** Oracle IoT Kids Workshop ** from Stephen Chin

The new Wind Turbine project is a lot of fun, and the directions are kid tested (Cassandra gave it a dry run and breezed through most of it without any help). Enjoy!

Categories
Uncategorized

Top 3 reasons to register for JavaOne early...

JavaOne planning is already in full swing with the largest number of CFP proposals submitted in the past 4 years. However, you may not know, but we have made some changes this year that may make it worthwhile to sign-up a little earlier than usual.

  1. Special Java 8 Pricing -- If you signed up for the Java 8 Launch Stream, you should have received an e-mail with a special discount code for $200 off [note to self, don't forget that the code is "DJS4"]. Combined with the super-saver discount available now (+$600 off), this is the lowest price for JavaOne -- ever!

To use this you will have to hurry up, the code expires on May 2nd.

http://www.oracle.com/javaone/register/index.html

  1. Invited Speakers -- For the first time this year we have invited a small set of Rock Star speakers to come back to give presentations at JavaOne. Together with our first round picks, this gives you 18 ways to convince your boss to let you come to JavaOne:
  • 11speakerdavidblevinsTrishaGeeAdam Bien
  • Anatole Tresch
  • Arun Gupta
  • Ben Christensen
  • David Blevins
  • David Svoboda
  • Hendrik Ebbers
  • James Ray
  • artworks-000067309626-ur19q7-t500x500thoughtworks1Jim Manico
  • Les Hazlewood
  • Michael Hoffer
  • Niklas Therning
  • Dr. Rebecca Parsons
  • Patrycja Wegrzynowicz
  • Toni Epple
  • Trisha Gee
  • Simon Elliston Bal
  • Woody Zuill
  • Yara/Vinicius Senger
  1. Beat OpenWorld to the Hotels -- By signing up early, you have a window of opportunity to grab up some of the best hotels in San Francisco before the availability drops and the rates climb. Time to treat yourself and stay in the Hilton or Parc right upstairs from the big event. ;)

Oh, and some specific advice for folks I know love to wait...

3S. For all you prospective speakers out there, I confirmed that you get a full refund once your talk is accepted. So get your discounted ticket and reserve your hotel now!

3J. And for the JUG members who have used the discount code in past years... feel free to sign-up using the Java 8 pricing knowing that you are getting the lowest possible price.

We have a lot of new, exciting stuff in the works, so I hope to see you at JavaOne!!!

Categories
Uncategorized