Codename One v5.0 Release Notes

Release Date: 2018-09-19 // 11 months ago
  • Codename One 5.0 - Social

    🚀 We are thrilled to announce the release of Codename One 5.0 - Social. Codename One is an open source "Write Once Run Anywhere" mobile platform for Java and Kotlin developers!
    🚀 We postponed the release of this version since it's so packed with big changes. We made CSS a first class citizen in Codename One and made CSS updates live (no recompile necessary). We moved from screenshots in iOS launches to storyboards. Added support for newer JDK's. Migrated to Android API level 27. Moved our entire build server infrastructure. Redid push notification and so much more...

    There is SO MUCH more, check out the details below.

    However if you are new to Codename One here's a short primer. 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 5.0 is nicknamed Social because of the Facebook Clone application that was developed with it for the online course in the Codename One Academy.

    👯 Facebook Native App vs. our 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 5.0 - Social

    ⚡️ Live CSS Update -- CSS is now deeply and seamlessly integrated into Codename One. When you change the content of a CSS file and save the Codename One simulator automatically updates on the fly

    Rich Push Notifications -- Push notification was overhauled, we moved the last of the functionality from GCM to FCM. We now support rich push notifications that can include images and complex functionality

    Launch Screen Storyboards -- Historically iOS used screenshots of apps to fake fast application launches. Codename One automated that process in the past, it's now discoraged by newer iOS features such as side-by-side multi-tasking. As such we now use storyboard launch files. This allows side-by-side multi-tasking and as a bonus speeds up compilation while reducing the app size further

    🆕 New JDK/OpenJDK Support -- We now support JDK's 8 to 11 this includes OpenJDK

    🆕 New Cloud Servers -- We migrated the last remaining Codename One servers off of Google App Engine. This allowed us to introduce great new features such as the ability to increase your free build quota

    Removed Old IDE Preferences UI -- The old right click IDE preferences UI was causing a lot of confusion due to lack of maintenance. It's now gone and replaced completely by Codename One Settings

    Android API Level 27 -- We moved to Android's API Level 27 by default. Since Google requires API level 26 or higher at this time. We'll probably update API levels faster due to this policy

    Lightweight Picker -- The Picker component was rewritten as a lightweight component instead of a native one. This allows far more customization and cross platform consistency for one of our most problematic widgets

    Low Level Camera API -- Camera Kit allows developers to access the native camera view to grab photos/videos and overlay graphics on top of the camera

    🔌 Pluggable Spatial SQLite -- Spatial support for SQLite lets developers write complex location based applications. This functionality lets developers replace the existing native SQLite implementation with an arbitrary implementation which is very useful for enterprise grade features such as deep encryption, replication etc.

    👌 Improved Map Layout -- The map API now includes a native high performance component layout built in

    Landscape UIID's -- Components can adapt their UIID to landscape, this enables features such as smaller title font/padding in landscape mode

    Multiple Smaller Improvements :

    DateUtil API for timezone related date functions

    Sidemenu right side option and new tab ordering API

    Ability to map a list of property business objects to a table

    Sendgrid cn1lib

    Rest API overhaul for error handling, properties etc.

    🌐 On-device webserver

    🌐 Auto-reconnect for websockets

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

    Onwards to 6.0 - Chat

    🚀 We took a lot of time for 5.0 and I'd like to take a similar duration for 6.0. I think this made 5.0 a better release.

    🚀 We will have a whatsapp clone tutorial in the Codename One Academy. Hence the moniker of the next release.

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

    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!