Post Image

The Sad State of Android Performance Tooling

Historically, we didn't use Androids profiling tools often. They were pretty awful and the only tools that we really used extensively were the on-device GPU profiling tools which were reasonably good. In recent years Android's native story improved by leaps and bounds with the introduction of Android Studio and 3rd party tools developing native Android apps has improved a lot. But the CPU profiling tools are still stuck in the stone age and this is in stark contrast to the iOS tooling.

Read More
Post Image

Smooth Scrolling, Async Android Editing & 3.3

Steve has implemented one of our long time RFE's: Async editing in Android. This effectively means that the Android keyboard will behave as it does in iOS and won't fold/open as you move between text fields. It will also remain open as you scroll the screen and won't resize the UI as it opens!
As you can imagine this is a huge change so it is currently off by default but we will flip the change sometime next week to be the default.

Read More
Post Image

New Animation Manager

We committed a major somewhat revolutionary change to how layout animations and the basic component tree work in Codename One. This is important to understand since it changes the very nature of how we expect components to behave in Codename One. This also allows us to create some pretty spectacular effects such as the ones in the title above.

Read More
Post Image

ParparVM Spreads Its Wings

We wrote quite a bit about the architecture of the new VM we built for iOS and why we built it. Up until recently we always viewed it as a Codename One specific tool. Something that would only be useful for us. We used open source because "that is our way" and didn't give it much thought after that.
It started to dawn on us recently that this tool could be useful for other developers that might take it in a different direction from our original intention. We also came to the conclusion that this might not be a bad idea altogether.
So we are are effectively launching the Codename One VM as ParparVM and it includes a lot of interesting benefits.

Read More
Post Image

How To Use The Codename One Sources

I've written open source software since the 90's both for my own projects and for Sun Microsystems. When we founded Codename One open source was the only option!
We didn't choose open source with the goal of receiving code contributions. Contributions are pretty rare even in highly visible projects. We saw the true benefits of open source for a project like Codename One: trust.

Read More
Post Image

Ratatouille's Restaurant In Code

One of my favorite Pixar movies is Ratatouille, maybe because I'm such a glutton. So when I was thinking about the next tutorial/demo and the idea of a restaurant app came up I knew it had to be based on Ratatouille. This is a relatively simple demo that can literally fit in a single blog post all the way thru and the real cool thing about it is that you can try the JavaScript version right now from your browser without compiling anything...

Read More
Post Image

StackOverflow, Cordova update, Validation, Text Input, Hints & Icon

After a discussion with some members of the community we decided to shift the weight of our support efforts to StackOverflow from our existing google group discussion forum. Notice that we will still answer questions in the discussion forum but we strongly prefer using StackOverflow (don't forget to use the codenameone tag).
There are issues with StackOverflow which is why we are keeping the existing group and will still answer questions/issues there but the benefits far outweigh the issues:

Read More
Post Image

Sizing Images Just Right with Cloudinary

Sizing images for multiple DPIs and device sizes is challenging. There are image quality and bandwidth considerations, especially when loading images over the network. The new Cloudinary cn1lib simplifies this process by preprocessing images on the server side, so that they can be delivered to the mobile app in the exact correct side and quality.

Read More
Post Image

Material Icons, Background Music, Geofencing & Gradle

We became infatuated with icon fonts a while back and used them quite a bit, recently we added the FontImage class that made them really easy to use.
However, up until now you had to download a font. Look up the value and enter it in. This was OK but not ideal in terms of syntax/availability especially for simpler apps.

Read More
Post Image

Should Oracle Spring Clean JavaFX?

We really depend on JavaFX at Codename One, our simulator needs it. Our desktop build uses it and our designer tool is based on Swing. We want it to succeed, its important to our business!
We are not alone, even if you are a Java EE developer and don't care about desktop programming, keep in mind the fact that todays desktop technology is tomorrow's server technology.
E.g.: C++ and Windows (a desktop technology) took the servers from Unix and C. Only to be replaced by Java (up until then a web based Applet language) and Linux. JavaScript might not look as a JavaEE contender today but as more developers come out of college liking JavaScript and not Java this will affect us all.

Read More