Fork us on GitHub

Codename One 3.7 is Live

We are thrilled to announce the immediate availability of Codename One 3.7!
Codename One 3.7 is Live

Codename One 3.7 is Live

Codename One 3.7, the "Write Once Run Anywhere" mobile solution for Java developers is now live!
This exciting new release brings with it a surprising new overhaul of the Codename One GUI builder which now includes support to "auto-layout" allowing developers to place components with the ease/power of Photoshop or Illustrator..

Codename One is the only platform that…​

  • Has Write Once Run Anywhere with no special hardware requirements and 100% code reuse

  • Compiles Java into native code for iOS, UWP (Universal Windows Platform), Android & even JavaScript

  • Is Open Source & Free with an enterprise grade commercial offering

  • Is Easy to use with 100% portable Drag & Drop GUI builder

  • Has Full access to underlying native OS capabilities using the native OS programming language (e.g. Objective-C) without compromising portability

  • Lets you use native widgets (views) and mix them with Codename One components within the same hierarchy (heavyweight/lightweight mixing)

To learn more about Codename One check out the about page you can download it for free right now.

From Lowlight to Feature

When we released Codename One 3.6 we had this to say:

The one thing we really didn’t get out in this release is a new Codename One course which we’ve been working on for a while. We hope we’ll get it done during the 3.7 era but video production is always a big effort and we just don’t have enough hours in the day…​

— Codename One 3.6 release announcement

Yesterday we announced the new Codename One Academy which includes 3 new media rich courses that will cover everything needed to build gorgeous real world apps. This is new original materials with a 2 year monthly update commitment roadmap!

As is our custom with some releases we are also running a promotion on these courses and our special offer expires on July 3rd so hurry up!

Highlights of this Release

Here are the top 5 features of this release illustrated in this short video, check out further details below.

  • GUI Builder Auto Layout - We now support an inset based GUI builder mode that allows positioning components in a far more fluid way. We are still working on tutorials for this new mode and it’s highly experimental but you can start using it right now!
    In addition to that we made numerous enhancements to the UX of the GUI builder further refining it

  • Live Style Customization - The UI design of the application can be customized directly from the simulator

  • Z-Ordering on All OS’s - You can mix native components e.g. maps, video. With Codename One components and draw on top of them

  • Properties SQL & UI Binding - Support for database mapping (ORM), parsing & UI binding/generation seamlessly using the properties API

  • Rest API for Terse Networking - New builder style REST API that abstracts some of the verbosity of ConnectionRequest

  • VM API Enhancements - Added some core VM classes and API’s such as java.lang.Number, CharSequence, exception chaining etc.

  • Terse Syntax - New CN API allows developers to write more concise code, new helper API’s such as addAll & a jquery style component selector

  • Security Oriented API’s - New API’s for detecting certificates on https servers as well as API’s for touch ID, jailbreak detection and more

  • Thread Helper & Threadsafe SQLite API’s - A new API for communicating with threads & a new threadsafe wrapper for sqlite

  • Better Desktop/Web API’s - We now support API’s such as mouse cursor customization, split pane, mouse hover events etc. which allow more elaborate desktop apps. We also include an experimental new "desktop skin" to debug desktop apps

  • Experimental "On Top" Sidemenu & Form Layered Pane - Side menu can now be on top of the UI and potentially on top of the entire form with a new layered pane mode

  • ParparVM Performance Improvements - Some of the code such as method invocations will now compile to the C equivalent of that code in terms of performance, many basic numeric operations are much faster thanks to VM optimizations and code is up to 40% smaller over 3.6

  • Two Factor Authentication in Certificate Wizard - The certificate wizard now supports 2 factor authentication in your apple account

  • Faster iOS Builds - Build times in the Apple servers are up to x3 faster for some users with exceptionally long build times.

  • Test Recorder & Toolbar - The test recorder now works correctly with the toolbar

Lowlights

As we always do with a release we’d like to shine a spotlight on the things 3.7 can do better and the things 3.8 can improve on. Overall we are thrilled with this release but here are a few things we can do better:

  • On device debugging - this was planned for 3.7 but didn’t make it. We have a running proof of concept but that also highlights the amount of work needed to bring this to production grade. Since 3.8 is relatively close by it’s hard for us to say if it will be a feature of 3.8.

  • Improved default themes & material design - this is an area we need to spend more time on. We are attacking it one component at a time but that is often challenging. We can use your help in filing issues and pull requests to improve the situation. If you see something that doesn’t look good or doesn’t look native go to the issue tracker & create a new issue in it include a screenshot of how it looks now and a screenshot of how it should look. This helps us focus on the things that are important to our users. Even if we know about the problem an issue helps us focus!

  • Theme & Localization - The new GUI builder is starting to take shape and it’s time to turn our attention to the other rolls that the old designer tool handles. We already made some improvements to styling but we can go further.

Onwards to 3.8

We completed almost everything we wanted to do for 3.7, to be fair that’s not to hard as we delayed the release due to the bootcamp and that gave us extra time.

The next version will be out in mid November which already feels damn close by now so I’m not sure which ones of the lowlights above we’ll be able to address by then but those are our biggest priorities not necessarily in that order.

The one feature that we did announce for 3.8 is Kotlin support. We ran a survey whose results included a bit of a surprise to us, it’s something I’ll discuss in an upcoming post.

We Need your Help

Spread the word, please let people know about us.

Sign up for enterprise accounts, besides the huge benefits of an enterprise account these are the guys that keep the lights on here and allow us to build Codename One. If your company can afford it please take the time and upgrade to enterprise, this will allow us to work on the things that are important for your company!

Thanks for reading this far and if you have any thoughts/suggestions of any kind please feel free to post below!

Share this Post:

Posted by Shai Almog

Shai is the co-founder of Codename One. He's been a professional programmer for over 25 years. During that time he has worked with dozens of companies including Sun Microsystems.
For more follow Shai on Twitter & github.