Fork us on GitHub

Upcoming Features

December has been pretty busy with the release of 2.0 but Jan...

Upcoming Features

December has been pretty busy with the release of 2.0 but January will probably be MUCH busier since we have a major backlog of features requested by enterprise and pro users. We are already well under way with quite a few interesting features but most of them won't be landing for the next couple of weeks since we need the trunk to remain stable for now.

Before I get started, if you are interested in Socket support for Codename One and native interface's you should check out the work Steve Hannah did on a socket library for Codname One. Its also a great reference implementation on how one would write a native library implementation!

We have a separate socket implementation of our own which has a somewhat different approach, we should be releasing it at some point before 2.1 and it is on our roadmap for the next couple of months. Currently we plan to only support TCP streams and we might support server sockets on select platforms (currently iOS server socket isn't planned).

We are doing quite a bit of work for our enterprise customers, we already completed the effort for two major requests. The first asked for improved text input in iOS where today we always fold the virtual keyboard when a user finished editing the text field. In fact we have an issue which we tried to resolve in the past and deemed it to be impossible to fix. Well... Few things are impossible when an enterprise customer makes a formal request so we spent quite a few days trying to resolve this, after the next server update you should be able to see the fruits of this labor by defining the build argument ios.keyboardOpen=true which will keep the keyboard always open when you start editing unless you press the "Done" button.
As part of this work we also added a feature to text area that allows it to grow up to a limit so using textArea.setGrowLimit(int) will limit the amount of rows to which the text area grows based on user input.

Another enterprise developer needed to detect a disconnect of headphones which is pretty niche but we added that as well. Starting with the next server update you should be able to define the build arguments ios.headphoneCallback=true and android.headphoneCallback=true
Once those are defined you should also define the callback methods with these signatures in your main class:
    public void headphonesDisconnected() {

    public void headphonesConnected() {

They should be invoked based on headphone state.

We will also be releasing support for desktop builds, this support will be limited to pro users since a typical desktop app includes the full JVM within it making it a hefty download that puts a toll on our servers. You would effectively get a Mac OS DMG or a Windows MSI/EXE to install a Codename One app that would include pretty much everything you would expect. We'll write a more detailed tutorial when that functionality launches.

Notice: This post was automatically converted using a script from an older blogging system. Some elements might not have come out as intended.... If that is the case please let us know via the comments section below.

Share this Post:

Posted by Shai Almog

Shai is the co-founder of Codename One. He's been a professional programmer for over 25 years. During that time he has worked with dozens of companies including Sun Microsystems.
For more follow Shai on Twitter & github.