Codename One v4.0 Release Notes
Release Date: 2018-03-20 // about 6 years ago-
π 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
π― 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β¦
π 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.
Lowlights
π 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:
π 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!