Codename One v3.7 Release Notes

Release Date: 2017-06-27 // almost 7 years ago
  • Codename One 3.7 Heading

    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 support 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.

    ๐Ÿš€ Highlights of this Release

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

    5 Amazing Features in Codename One 3.7

    ๐Ÿ— 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 darn 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 we'll discuss later.

    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 to the announcement page on Codename One's site!