Codename One v4.0 Release Notes

Release Date: 2018-03-20 // about 2 years ago
  • Codename One 4.0 - Taxi

    πŸš€ We are thrilled to announce the release of Codename One 4.0 - Taxi. Codename One is an open source "Write Once Run Anywhere" mobile solution for Java & Kotlin developers!
    πŸš€ This new release overhauled the way Codename One is updated, added support for Progressive Web Apps (PWA’s), overhauled device skins & updated the backend iOS build tools. A major focus of this release is better support for peer (native) components, stability, unit testing and continuous integration.

    Codename One is the only platform that…

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

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

    πŸ†“ Is Open Source & Free for commercial use with an enterprise grade commercial support

    πŸ— 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

    Has full control over every pixel on the screen! Just override paint and draw or use a glass pane to draw anywhere…

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

    Supports seamless Continuous Integration out of the box

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

    πŸ”– Version 4.0 is nicknamed Taxi because of the Uber Clone application that was developed with it for the online course in the Codename One Academy.

    πŸ‘― Uber sidemenu next to the clone

    πŸ‘― Uber sidemenu next to the clone

    πŸ‘― The Uber login form next to the clone

    πŸ‘― The Uber login form next to the clone

    πŸš€ Highlights of this Release

    πŸš€ The top 5 features of this release are covered in this short video, check out further details below…

    5 Amazing Features in Codename One 4.0 - Taxi

    🌐 Progressive Web App Support (PWA) - Progressive Web Apps allow us to try an application on the web and seamlessly transition to a native app. This makes user acquisition easier and installation frictionless. Codename One is the only tool in the world that supports PWA’s seamlessly

    πŸ†• New Device Skins - We updated the look of Codename One by releasing 33 new device skins including iPhone X & Pixel 2 XL. We included support for non-rectangular device skins and better device fidelity. We also added the ability to grab a screenshot that includes the skin frame around it

    Xcode 9.2 - Codename One apps are built using xcode 9.2. This change is seamless for most developers as the update happened on the build servers. Xcode 9.2 requires additional permission messages which are added automatically by the simulator

    ⚑️ Update Framework - Updates to Codename One libraries are now delivered using a unified framework instead of separate adhoc tools

    πŸ‘ Continuous Integration Support - We now support Travis CI out of the box seamlessly. Adding support for additional CI tools should be just as easy

    πŸ†• New Async JavaScript Interop API - The Java β†’ JavaScript bridge with the embeddable browser component was completely replaced. The new implementation should be faster than the old system

    βœ… Builtin Unit Tests - Unit tests to Codename One are integrated into the core repository and are executed with every commit

    πŸ‘Œ Improved Peer Components - Multiple bugs and minor issues were fixed in the peer component layer this effectively enabled the Uber clone to work properly with the native map

    πŸ‘ Better Hello World - The new Codename One projects generate better code that handles things such as network errors more effectively

    πŸ— GUI Builder Refinements - There were many refinements to the new GUI builder most notably:

    πŸ‘Œ Improved support for layout nesting in auto-layout mode - you can use all the existing layout managers within an autolayout parent

    πŸ†• New Window Manager allows you to customize the positioning of the windows & palettes

    πŸ‘ Tabs component is supported again

    βœ… Test Push In the Simulator - The simulator now supports testing push notification

    There are many other features both big and small. Check out our blog and the github project history.


    πŸš€ As we always do with a release we’d like to shine a spotlight on the things this version could do better and the things the next version can improve. Overall we are thrilled with this release but here are a few things we can do better:

    On device debugging - I wasn’t optimistic about getting this out for 4.0 and I’m still not optimistic about 5.0. We already have a lot on our plate for 5.0 and this is a huge feature

    πŸ‘Œ Improved default themes & material design - we did a lot of work on the skins but didn’t move the native theme or make a separate material design theme. We need to do a lot of work on the default hello world applications to make them look great out of the door.

    πŸš€ Overall while we implemented a lot of features in 4.0 we didn’t really address most of the problems we highlighted in this section when 3.8 was released. I’m not sure if we have enough time in the 5.0 cycle to improve that but hopefully we can at least move theming more aggressively again.

    Onwards to 5.0 - Social

    πŸš€ The 5.0 release cycle is relatively short & we already have a lot of things planned for it.

    We should have the new social app tutorial in the Codename One Academy which will cover cloning Facebook.

    πŸš€ Check out our survey results to see the future apps we'll release into the academy. Even if you never plan to signup to the academy this should be interesting as it gives you a good notion of what can be built with Codename One.

    πŸš€ Other than that we’ll try to launch better docs and designs. We’ve put a lot of effort into improving our design capabilities and one of the big things we’d like to pick up again is app templates. In the past we released a few free themes as Codename One stubs. We’d like to do that again so developers can start from "something".

    We Need your Help

    πŸ‘· If you think we are doing a good job and appreciate our help please help us by:

    Spreading the word

    πŸ“„ Edit our docs

    πŸ›  Edit our sources and submit bug fixes

    ⬆️ Or just sign up for enterprise accounts which literally keep the lights on here… 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 let us know!