CodenameOne

Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.

OTHER License

Stars
1.7K
Committers
62

Bot releases are hidden (Show)

CodenameOne - 7.0.66

Published by shannah over 2 years ago

CodenameOne - Codename One 7.0

Published by shai-almog over 3 years ago

ֿWe’re thrilled to announce the immediate availability of Codename One 7.0 (AKA Video). This has been our most challenging release to date. We constantly shifted the release date due to constantly shifting requirements and pivotal changes.

Check out the full announcement here.

CodenameOne - Codename One 6.0 - Chat

Published by codenameone over 5 years ago

Codename One 6.0 - Chat

We are thrilled to announce the release of Codename One 6.0 - Chat. Codename One is an open source "Write Once Run Anywhere" mobile platform for Java and Kotlin developers!
With this release we introduced Codename One Build which is one of the biggest overhauls to the Codename One workflow since its inception. We also refined and updated many underlying technologies e.g. the xcode 10.1 migration, WKWebView support, push replies, badges on Android and much more.

You can check out the details below for the full review but first 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 6.0 is nicknamed Chat because of the WhatsApp Clone application that was developed with it for the online course in the Codename One Academy.

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 6.0 - Chat

  • Codename One Build - we can now monitor builds from Android and iOS. The app is also available for every device through web PWA. It works with push notification and is built with Codename One!

NOTE: Currently the iOS version is still in beta due to the tedious appstore approval process

  • xcode 10.1 Migration - builds on the Codename One cloud implicitly use xcode 10.1. We migrated from xcode 9.2 to satisfy Apples requirements, this has been seamless for the most part

  • VM Changes - we now support java.util.Objects and some additional methods from Class

  • New Switch API - Switch replaces the old OnOffSwitch API which is pretty old by now

  • Reply Push Notifications - the final piece of RFE 2208 Rich Push Notifications is now implemented. You can now prompt a user for a reply via a push message

  • Support for Badges on Android - we can now mark an Android icon with a numeric badge

  • Material Design Infinite Progress - InfiniteProgress now has a material design mode that includes the custom circle animation we see in material design

  • WKWebView Support - Apple includes two implementations of a "WebView". We now support both

  • CSS Improvements - underline border is now supported natively. Round rectangle is also supported natively and lets you activate the angle only on specific corners as per this RFE

  • Picker Improvements - Picker now lets you define start/end date

  • FontImage rotateAnimation - FontImage lets you animate an icon so it rotates infinitely effectively making every component into an InfiniteProgress

  • Added Ownership to Component Hierarchy - ownership allows us to create a relationship between components other than Component -> Container

  • Added Animation Safe Revalidate - revalidte() is a powerful tool but if it's invoked when an animation is in progress it might produce unpredictable behavior. This method solves that problem

  • Button Lists - List is discouraged but we still want lists that use a model to represent buttons, radio buttons and checkboxes button lists can fit in that niche

  • XML Mapping in Properties - this is still an experimental feature but XML parsing/generating is now supported for PropertyBusinessObject

  • PWA Install Prompt - a new API lets us install PWA's directly

  • New Full Screen API - the Desktop and JavaScript targets allow running the app in full screen mode by leveraging this new API

  • Facebook SDK Updated - we updated the Facebook SDK to use the latest version

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

Onwards to 7.0 - Video

We took a lot of time for 6.0 but I'm not sure if that's enough. We might take longer to deliver 7.0. Currently the timeline is unchanged but we'll have to see.

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

We Need your Help

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

Thanks for reading this far and if you have any thoughts/suggestions of any kind please let us know!

CodenameOne - Codename One 5.0 - Social

Published by codenameone about 6 years 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:

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:

Thanks for reading this far and if you have any thoughts/suggestions of any kind please let us know!

CodenameOne - Codename One 4.3 - New Cloud Servers

Published by codenameone over 6 years ago

Codename One 4.3 - Taxi Update

Version 4.3 is a minor bug fix release centered around the new build cloud. It includes multiple new features such as improved push notification support.

This is a minor version update on the road to the 5.0 release scheduled for September 2018.

CodenameOne - Codename One 4.2 - Live CSS Support

Published by codenameone over 6 years ago

Codename One 4.2 - Taxi Update

Version 4.2 is a minor bug fix release whose main feature is the new "live CSS" support. With this release we've integrated CSS support into the distribution. It can be activated via Codename One Settings & provides live update support.

When you edit and save a CSS file in this new system the changes are instantly reflected within the running simulator. No restart necessary!

CodenameOne - Codename One 4.1 - Minor Update for Taxi

Published by codenameone over 6 years ago

Codename One 4.1 - Taxi Update

Version 4.1 is a minor bug fix release, since switching to major version updates this isn't as significant as regular scheduled releases.

We've updated the GUI builder/designer & skins with multiple bug fixes and changes some of which are listed in this blog post: https://www.codenameone.com/blog/ios-back-command-behavior.html

CodenameOne - Codename One 4.0 - Taxi

Published by codenameone over 6 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.

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:

Thanks for reading this far and if you have any thoughts/suggestions of any kind please let us know!

CodenameOne - Codename One 3.8.3 Bug Fix Release

Published by codenameone over 6 years ago

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.

CodenameOne - Codename One 3.8 is Live

Published by codenameone almost 7 years ago

Codename One 3.8 Heading

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

5 Amazing Features in Codename One 3.8

  • 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

Codename One 3.7 Text Input On Android

After: Codename One 3.8 on Android

Codename One 3.8 Text Input 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:

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

CodenameOne - Minor Bug fix release 3.7.3

Published by codenameone about 7 years ago

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.

CodenameOne - Codename One 3.7 is Live

Published by codenameone over 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!

CodenameOne - Codename One 3.6

Published by codenameone almost 8 years ago

Codename One 3.6 Heading

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!

CodenameOne - Codename One 3.5

Published by codenameone about 8 years ago

Codename One 3.5 Heading

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

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.

CodenameOne - Codename One 3.4

Published by codenameone over 8 years ago

Codename One 3.4 Heading

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

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.

CodenameOne - Codename One 3.3

Published by codenameone over 8 years ago

Codename One 3.3 Heading

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.

CodenameOne - Codename One 3.2

Published by codenameone almost 9 years ago

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.

CodenameOne - Codename One 3.1

Published by codenameone about 9 years ago

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 this release include

Java 8 Language Features

Support for Java 8 features such as Lambdas, try with resources etc. This is a beta grade feature but is showing great promise so far.

iOS Certificate Wizard

Simple generation of certificates and provisioning for itunes without a Mac using a wizard interface.

Authentication Framework

Provides the ability to signin to various services in a generic way including builtin support for Google, Facebook and generic oAuth 2.0 services.

Font Icons

Support for using icon fonts to represent images in the UI thus reducing the reliance on multi-images.

Better Crash Reporting

As part of migrating away from Google App Engine we shifted crash reports to use new servers which make them far more usable by embedding the logs directly into the email body.

CodenameOne - Codename One 3.0

Published by codenameone about 9 years ago

You can read the far more detailed release announcement here.

Notice that you should always install the latest release of Codename One thru https://www.codenameone.com/download.html

Highlights of this release include:

New iOS VM

When Codename One debuted we used XMLVM as the underlying iOS virtual machine abstraction. XMLVM is an excellent product but its unmaintained and its goals are too different from the goals of Codename One. The new VM includes some features that would be remarkably hard to achieve with XMLVM such as: proper stack traces, faster builds (2x overall!), smaller code size, concurrent GC, deep OS binding (String - NSString relationship) etc.

JavaScript build target (technology preview)

Allows compiling Codename One applications to JavaScript client side webapps without server side code. Notice that this support includes threading support.
Notice that this feature will be restricted to enterprise developers once it enters beta.
The Java VM work is based on TeaVM an OSS Java-JavaScript VM.

Charts API

The charts API supports drawing a wide range of charts such as bar, pie, line etc. It supports animating charts and is based on the aChartEngine Android API.

New Demos

  • Property Cross - Browse properties for sale in the UK using a JSON webservice. Shows off JSON webservices, InfiniteScroll, URLImage etc.
  • Dr Sbaitso - Demonstrates an AI bubble chat interface, includes text to speech using native interface and more.
  • Photoshare - A simple social networking app that allows sharing photos
  • Charts - Demonstrates all chart types
  • Geoviz - Performs statistic analysis over US population based on locale specific data
  • Flickr - Demo for the Toolbar class showing special title area effects

New Themes

New beautiful and functional themes are now available through the plugins and the designer tool.
Toolbar API
More advanced and highly customizable API for handling the title area. It allows adding search to the title, animating its appearance/folding, placing commands arbitrarily and using the side menu.

URLImage

Simplified image download to an icon or preview, that allows to implicitly apply special effects to said image (e.g. round corners, scaling etc.).

Built demos into the Eclipse/NetBeans Plugins

The main Codename One demos are now built-into the plugin so you can try them immediately without fixing classpaths and without downloading additional software.

New Android graphics pipeline

We rewrote the graphics pipeline on Android to work better in Android 4.x+ and use hardware acceleration where applicable. This new pipeline also includes support for the Shape & transform API's.

Regular expression and validation support

We added a new regular expression package and a new validation framework that simplifies error highlighting for input. As part of that work we also presented a rudimentary masked input UI.

High DPI Image Support

There are 3 new DPI levels in Codename One all of which are now supported by the designer: DENSITY_560, DENSITY_2HD & DENSITY_4K.

Support for opening HTML files with hierarchies & Tar support

The builtin HTML support was improved by providing a way to open a hierarchy of files and not just a self contained HTML file. As part of this improvement we also added support to the tar file format.

New Morph & Flip Transitions

The morph transition was inspired by the Material design UI, converting a component on one form to a component on another form. The flip transition provides an impressive 3d effect thats trivial to apply to any form or transition.

InteractionDialog

A new "modless" dialog that can "float" on top of the UI using the layered pane capability of the parent form

Significantly enhanced developer guide

We redid the developer guide from the ground up converting it to asciidoc and integrating it into the website in a more fluent way. We increased its breadth by over 50%.

iOS Beta Test Support (testflight)

Apple introduced a new way to test mobile applications for up to 1000 beta testers based on the testflight framework (but not to be confused with the old testflightapp.com product). We now support distributing apps via this process for pro users.

MiG layout support

MiG layout is one of the popular cross platform Java layout managers that works across FX, Swing, AWT and now on Codename One as well...

Facebook improvements such as publish support & version 2.0 API

Facebook made a lot of changes to its API such as requiring a special publish permission and migrating graph calls to version 2.0. Both are now integrated into Codename One.

Added webservice wizard to simplify client-server calls

The webservice wizard allows us to generate RPC calls to the server including servlet and client stubs.

Support for badging the native OS icon on iOS

We now support updating and setting a badge on an app icons in iOS devices.

TCP socket support

We finally added support for TCP sockets into Codename One.

Advanced keyboard input in iOS that doesn't fold implicitly

This is an implementation of a feature that was requested quite a while back. Historically, when moving from one text field to the next the VKB would fold and reopen. We now allow you to seamlessly move between input fields.