Releases: codenameone/CodenameOne
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
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:
-
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!
Codename One 3.8.3 Bug Fix Release
Codename One 3.8.3 Bug Fix Release
This is an interim release before the big 4.0 release in March. We are testing the waters with the new update process that should make releases and updates significantly easier.
There are multiple GUI builder, skin and API improvements in this release. They will be detailed in the 4.0 release coming out in 3-4 weeks.
Codename One 3.8 is Live
We are thrilled to announce the release of Codename One 3.8. Codename One is an open source "Write Once Run Anywhere" mobile solution for Java developers!
This new release significantly refines the native look and feel of Codename One, it brings the GUI builder to a new level with styling support. It finally adds Mac OS appstore distribution support which means all the major appstores are now supported targets for Codename One applications.
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)
To learn more about Codename One check out the about page you can download it for free right now.
As part of the release we significantly refined our developer guide which is now also available in print form on Amazon. Notice that this guide is available for free here & in pdf format. This developer guide is a community effort which you can contribute to as explained here.
Highlights of this Release
The top 5 features of this release are covered in this short video, check out further details below...
- Improved Native Look & Feel - We changed the core look of buttons, labels, text components, ripple effect and more. The goal is to make Codename One applications indistinguishable from native OS apps out of the box
Before: Codename One 3.7 on Android
After: Codename One 3.8 on Android
-
Kotlin Support - Kotlin is now officially supported by Codename One and works out of the box
-
On Top Side Menu - The on top side menu adapts the side menu UI to render on-top of the application instead of below but it's really a complete rewrite of the old
SideMenuBar
which was implemented in a problematic way. The new on-top mode works better with native peers such as maps and can be extended more easily -
GUI Builder Styling Support - There are a lot of enhancements and refinements in the new GUI builder one of the big ticket features is the new style UI which allows you to style an element without leaving the GUI builder
-
Mac OS Appstore Support - We now support building signed Mac OS apps which means we now support all the major vendor appstores. We already support iOS/Android stores and Windows/Microsoft's store (via the UWP port). The Mac appstore was the last major vendor whose store we didn't support out of the box
-
Signal Handling & Fast UTF in ParparVM - ParparVM is our open source iOS VM. It now handles low level OS signals to catch illegal access and convert it to Java exceptions. This means performance is slightly better but more importantly: you can catch errors even when they originate from native code. We also made significant improvements to the UTF-8 decoding logic which should make apps that rely on localized data faster and more memory efficient
-
Theme Enhancements - We added many new capabilities into the Codename One themes specifically: Fractional padding/margin, Rounded border, Underline borders & more
-
Table Sorting - You can now sort a table by clicking on the column header
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 - this was planned before 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. We didn't think it will make it for 3.8 and I'm not optimistic about 4.0 with our current workload. We think this will be a great enhancement but right now we think theming is more important
-
Improved default themes & material design - we made huge strides in this area but we are still way behind and our demos still don't reflect the progress we made. Hopefully by the time 4.0 rolls around we'll be in a different place entirely
-
Theme & Localization - Steve added some better theming to the new GUI builder. We think we can improve on this further and generally improve theming. Localization is something that regressed a bit from the old GUI builder which allowed for great automatic localization. We need something more "seamless" in this department
Onwards to 4.0
We have way more time for the 4.0 release so we can probably fit in more things than we did in 3.8. One of the difficulties in 3.8 is that a lot of the time between 3.7 and 3.8 was spent in summer months that are less productive. We fully expect 4.0 to be far richer in terms of features.
By the time 4.0 rolls around we should have two new major demos/tutorials in the Codename One Academy.
- The Uber style application
- A social network style application
We've already laid some ground work for the Uber style app and we plan to push it out before the end of the year. This continues the 3 major trends we are trying to drive:
- Better design
- Better docs
- More "ready made templates"
Another big focus which we'll see in 4.0 is quality and continuous integration. Our QA process is now open as part of our continuous integration support. We are now running automated tests of all our commits on device farms which should make future versions of Codename One far more stable.
We Need your Help
We got a record number of community pull requests during the 3.8 timeline, that is fantastic!
If you think we are doing a good job and appreciate our help please help us by:
-
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!
Notice that this is a copy of the release announcement here: https://www.codenameone.com/blog/codename-one-3-8-live.html
Minor Bug fix release 3.7.3
Up until now we only tagged major releases, this release focuses on stability and bug fixes. It includes many enhancements but basically builds on the 3.7 release.
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 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.
-
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!
Codename One 3.6
Codename One, the "industry defining" Write Once Run Anywhere native mobile app platform for Java developers has just published version 3.6.
We're thrilled with this release whose key features are offline build support and official support for UWP (Universal Windows Platform). Starting with this release we are changing the scope for Codename One: Instead of trying to be "as good as native" we'd like to aim to be "better than native".
You can check out our press release here.
We already offer many advantages over native platform development:
- Faster builds and build cycles
- Portability
- Easier customization of the UI with ability to control every pixel
With 3.6 we hammered down all of these to a fine tuned machine and moving forward we'd like to build the Codename One that is better than native.
You can see the full release announcement on the Codename One website where you can download the IDE plugins and related material.
Highlights of this Release
- Offline Build Support - Building thru the cloud is one of the "defining features" of Codename One, but some government level customers need the ability to build offline due to regulatory concerns.
- Production grade UWP (Universal Windows Platform) Port - UWP allows seamless native support for Windows 10 on Intel/ARM devices & PC's such as the very popular Surface line
- New GUI Builder Release - We released the new GUI builder. It still has rough edges but is improving at a rapid pace
- Round Borders - Round style borders are available now both in the designer and code
- Floating Action Button - New FloatingActionButton component that allows badging as well
- In App Purchase Subscriptions & Receipts - We completely rewrote the IAP documentation and added support for subscriptions
- Security Enhancements - We introduced seamless storage encryption & certificate pinning (SSL Pinning)
- New & Remastered Demos - Demos were overhauled and new demos were added based on PSD design showing the level of creativity that you can integrate into your applications
- URL & File API's - Easier porting for existing Java code thru File & URL API's
- Properties - Properties allow us to build terse/type safe efficient mapping to storage/database/XML/JSON etc.
- Newer Defaults - Java 8 & Android API 23 are now on by default as well as xcode 7.3 with xcode 8 coming soon. Android's peer component is also on by default
- Easy Caching - Caching HTTP has never been easier...
Lowlights
Overall we are very happy with this release aaawe think we dotted the i's and crossed the t's. This is to a large part due to the delay of the release from December. We still had to push back some issues to 3.7 but that's always unavoidable.
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...
Onwards to 3.7
Version 3.7 work is already underway. We hope to get the z-ordering in native peers to work on all major platforms in this version. We think it will open up Codename One to a whole new type of application (e.g. Augmented Reality).
Our biggest wish for 3.7 is on-device-debugging but it's a big feature so it's unclear if it's something that we'll be able to deliver soon.
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!
Codename One 3.5
We are thrilled to announce the immediate availability of Codename One 3.5!
Version 3.5 is a huge release that includes the long awaited Windows Universal Platform (UWP) support and brings the new GUI builder out of beta.
Highlights of this Release
- Beta version of the UWP (Universal Windows Platform) Port - Codename One supports native Windows 10 universal apps that you can sell thru the Windows Store
- New GUI Builder Release - We released the new GUI builder. It still has rough edges but is improving at a rapid pace
- New Settings UI featuring the Extensions Library - This is a complete redesign of the core settings/preferences within Codename One. It started as the settings UI for IntelliJ/IDEA and we liked it so much we decided to make it the default for all IDE's. This tool makes the process of installing/discovering cn1libs (libraries/extensions/plugins) trivial!
- Experimental New Peer Component Mode - We now allow more elaborate lightweight heavyweight mixing mode on the Android port and soon on other ports
- Seamless support for Android Marshmallow permissions - This requires no code changes for most applications. We also support this in the simulator & native code.
- Removed Skins from Simulator - We moved skins to the more menu where you can be download them dynamically. We also added new skins and a skin designer tool...
This reduced the size of our distribution by almost 30MB! - Added Background Fetch Support - This allows downloading in the background in iOS/Android
- New Accordion Component - Allows folding/expanding UI elements
- New ComponentAnimation methods for Compound Animations - allow more elaborate animation effects
- Material Icons Enhancements - used thru the code and map to different component selection states seamlessly
- Search Command in the Toolbar - It's now trivial to add search into the title area
- Proxy Support - for simulator & build process
- Demos Rewritten - we rewrote/revisited the following demos: Property Cross, Charts, Social Boo, Dr. Sbaitso, Chrome, Clock & Camera. They are now all Java 8 based, they use the newer API's such
Toolbar
and proper fonts. - Simplified ToastBar - Added simple error message handling, regular messages and download progress indication
- Finished migration to the new push servers - the last few users are leaving and soon the old servers will be retired
Lowlights
- Xcode 7 migration - this is something we tried to do and had to walk back. It's more challenging to get this right but we hope to do this in the 3.6 cycle.
- Demos - we didn't finish all the demos and didn't finish the most important one (Kitchen Sink). There isn't much left there though...
- Peer Component Support - we didn't switch this on by default. We weren't able to do this for other OS's either in time for the release.
- While we produced videos we didn't produce more of them. The production of higher quality videos is more intense and hard to fit into our schedules
Onwards to 3.6
With 3.6 we are aiming to introduce an offline build option for enterprise developers. We also have some other plans but they might stretch to 3.7.
The lowlight issues above are important to us for the 3.6 release and we'd like to improve on them.
Schedule
Version 3.6 is scheduled for December of 2016. 3.7 is scheduled for April 4th 2017.
Codename One 3.4
We are thrilled to announce the immediate availability of Codename One 3.4!
Version 3.4 brings with it refinement and stability as its core features, this is a trend that we are very pleased with and intend to carry on to version 3.5.
Notice that you should always install the latest release of Codename One thru https://www.codenameone.com/download.html
Highlights of this Release
- Rewritten documentation - the developer guide was written from the ground up and the JavaDocs were significantly improved
- IntelliJ IDEA Plugin rewrite - the new IntelliJ IDEA support is as good as the NetBeans plugin
- Shape Clipping - it is now possible to clip a graphics context based on an arbitrary shape
- ToastBar - allows posting "hints" visually to a hint area
- Toolbar is now the default & has a refined implementation/usage
- SignatureComponent - allows us to accept user signatures
- Gaussian Blur - supported on images and dialogs
- ParparVM - now has better performance in micro-benchmarks
You can see the full list of changes to Codename One in the github repository.
Lowlights
The following are things we are still working on or failed to bring to the front for this release. We are aware of them and are working on improving them:
- Demos - We were supposed to modernize our demos. Almost all of them still use Java 5 and old themes. None use the new material design icon fonts. This makes them feel antiquated, we hope to fix this early in the 3.5 cycle
- Windows port - We actually made great progress on this & also posted the full source code.
Just yesterday we posted additional good news on the subject!
However, it's still incomplete for release and needs quite a bit of work as it is a huge task. We are making a lot of progress though and we are optimistic that 3.5 could have UWP support. - GUI Builder - This is the biggest failure of this release. One of our core goals was to get the GUI builder to production grade in 3.5 and we failed with that. It's much stabler but we can't call it 1.0 at this time...
This is our highest priority right now. We will try to get the GUI builder to 1.0 well before 3.5 is ready and will hopefully release/announce it separately.
Onwards to 3.5
Besides the lowlights above which must be addressed, there are several other things we are looking at for 3.5:
- Java 8 all the way - we will make Java 8 into the default build mode. Once that is in order we will experiment
with "only" Java 8 mode for newer builds.
Assuming this will work we will switch to Java 8 thru our entire stack and Codename One builtin code will be able to use Java 8 language features. - Videos & Even Better Docs - We will increase our video output now that our documentation has improved. We are still working on even better documentation than what we have right now. We're not ready for announcements yet but we have some interesting ideas
- We will continue the trend of using Codename One to build everything. This trend started with the
certificate wizard which is one of our most popular features. It continued with the new GUI builder and preferences dialog for our IntelliJ IDEA support.
Schedule
Codename One 3.5 is scheduled for Tuesday August 2nd 2016. Version 3.6 is currently scheduled for December of
2016.
Codename One 3.3
You can read the full release announcement and details here.
Notice that you should always install the latest release of Codename One thru https://www.codenameone.com/download.html
Highlights Of The Release
Faster rendering of backgrounds & Labels
Up until now the logic for rendering the background of the component resided entirely within Component.java
& DefaultLookAndFeel.java
.
This allowed for a simple rendering logic that is implemented in a single place, however it didn't allow us to deeply optimize some operations in a platform specific way. We moved the rendering into CodenameOneImplementation.java
which allowed us to override the logic both on Android & iOS to deliver native grade performance on any device.
Animation Manager, Title Animations & Style Animations
We rewrote the animation logic in Codename One for 3.3.
This broke some backwards compatibility but this was for a good cause as we now have a central class that manages all animation events going forward. This means that you should no longer get odd exceptions when using many animations in sequence.
As part of this enhancement we also added new animation types such as title scroll animation and the ability to animate a style object UIID.
"Remastered" Documentation (ongoing)
We are redoing a lot of the Codename One documentation from scratch with Codename One 3.3. This is ongoing and we barely just started but the new documentation is far more readable, detailed and clear. Moving forward we are confident that our developer guide, JavaDocs & videos will be in aleague of their own!
Material Design Icons
FontImage
has been around for a while but up until now we didn't use it to its full extent. It required getting an icon font, configuring it and we just skipped it for some cases.
With 3.3 we integrated the material design icon font which makes adding flat icons to your application remarkably simple!
Media Playback & Geo Fencing in the Background
We continued the background process trend with 3.3 as we enabled both geofencing (to track device location in the background) and media playback in the background.
PhoneGap/Cordova Compatibility
Codename One always supported embedding HTML & JavaScript but it didn't support embedding things such as the Cordova/PhoneGap API's.
With the new open source project we announced we can now convert many Cordova/PhoneGap apps to
Codename One apps and deliver quite a few compelling advantages.
New hello world project & icon
A major focus of this release was making Codename One useful and attractive right out of the box. As part of that work we replaced the default icon, redid the hello world app to a more impressive (yet simple) demo and updated the default fonts.
New Simplified Native Fonts
Fonts were a difficult subject prior to 3.3. You could either use the portable but ugly system fonts, or go with the gorgeous but flaky TTF fonts. Both don't make sense when Android ships with the great Roboto font and iOS ships with the gorgeous Helvetica Neue font.
We now have support for a new font notation with the native: prefix. This notation (supported by the Designer), allows us to leverage the existing native fonts of the device which look both native and gorgeous.
Terse syntax enhancements
In 3.2 we started moving towards terse syntax for container hierarchy construction and with 3.3 we brought that to fruition. We added methods such as an add method that accepts an image. We added factory encloseIn methods to almost all of the layout managers, we added form constructors that accept layout managers and much more!
ParparVM Performance & Open Source
Our iOS VM has been open source from the start but we didn't encourage its usage outside of Codename One. This changed with 3.3 and we are actively promoting the ParparVM OpenSource project.
Unrelated to that we made a lot of performance improvements to the core VM translation logic, it should be very competitive in terms of generated code to pretty much everything else on the market. Especially with API calls as our entire API is hand-coded and highly optimized.
Properties file format support
We didn't have support for Java venerable Properties file format before 3.3. Surprisingly developers didn't really complain about that ommission as we support XML, CSV & JSON.
Now we can add Properties to that list!
Ending Support for the codescan API
3.3 will be the last release that includes an implementation of the codescan API for QR code/barcode reading. We will remove this API completely and we ask users to migrate their code to use the new codescan cn1lib. When we initially introduced this API we didn't have support for cn1libs and integrated this into the core directly.
Codename One 3.2
You can read the full release announcement and details here.
Notice that you should always install the latest release of Codename One thru https://www.codenameone.com/download.html
Highlights Of The Release
New GUI Builder (technology preview)
The new GUI builder is a big departure from our existing designer tool. This tool is now in "technology preview" status meaning that its not quite ready for prime time but we want feedback on its direction and issues.
Local Notifications on iOS and Android
Local notifications are similar to push notifications, except that they are initiated locally by the app, rather than remotely. They are useful for communicating information to the user while the app is running in the background, since they manifest themselves as pop-up notifications on supported devices.
Introduced New Push Server Architecture
We completely overhauled the way Codename One handles push services and added several long time RFE's to the mix.
Added Ability for cn1libs To Include Build Hints
cn1libs now include the ability to include build hints thus integrate more seamlessly without complex integration instructions.
Improved iOS/Android Rendering Speed
Thanks to a community contribution we took a deep look at the rendering code and are using faster code for tiling/string rendering.
Added A Permanent Side Menu Option
The Toolbar API has really picked up, in order to make it more useful for Tablets we added the ability to keep the SideMenuBar that's builtin to it always on.
Get All Styles - Simplified Handcoding Theme Elements
getAllStyles() allows writing code that is more concise to perform an operation on multiple style objects at once.
Added Support For Facebooks "Invite A Friend"
New integration for Facebooks "invite a friend" feature that simplifies viral marketing for your app.
Terse Syntax For Building UI's
A shorter syntax for adding components and labels into the UI resulting in less code for the same functionality.
Java 8 Language Features are now on by default
We fixed many things in this implementation over the past three months and feel confident enough to switch this into the default.