Latest posts from Codename One.
Blog

Test It
One of the common questions we get for Codename One is regarding testability. Cross platform frameworks are notoriously hard to auto-test and so fail when you try to build more complex applications. We see this as one of the most important areas in which we can innovate and leapfrog native OS environments by offering testing that is just as cross platform as Codename One is. We aren’t just announcing our own unit testing API, we are announcing a fully integrated test recorder to auto-generate GUI tests for your applications and run them on the simulator. ...

Codename One Benchmarked With Amazing Results
Steve Hannah who ported Codename One to Avian has just completed a set of benchmarks on Codename One’s iOS performance putting Codename One’s at 33% slower performance than native C and faster performance than Objective-C! I won’t spoil his research results so please read his full post here . A small disclaimer is that the Objective-C benchmark is a bit heavy on the method/message calls which biases the benchmark in our favor. Method invocations in Codename One are naturally much faster than the equivalent Objective-C code due to the semantics of that language. ...

Fonts Revisited
Fonts are were a painful subject in Codename One, historically devices supported a very limited set of fonts and we were bound by said limitations. However, devices moved forward and finally we too can move forward to more reasonable font support. The new font API is limited to Android & iOS, we were considering Blackberry support too but it seems that the font support on Blackberry is too limited for our needs (feel free to correct me if I’m wrong here), on the other platforms a standard system font will be used where fonts aren’t supported. ...

Cloud Storage, Cloud Bind(tm), iPhone 5 simulator, barcodes and much more
We just made a major update including a pile of fixes and features. One of the biggest things we are launching right now is an early preview of our new Cloud Storage and Cloud Bind ™ solutions. Cloud Storage allows you to effectively use our cloud as a big object database, similar to other big data solutions as a sort of key/value pair lookup engine that allows you to share/sync between devices. ...

Detect EDT Violations
One of the hardest ideas for developers to grasp in Codename One (or GUI programming in general) is the idea of a single event dispatch thread (EDT). The rules of using it and releasing it are sometimes complex and mistakes are very easy to make e.g.: Writing complex/slow code that blocks the EDT thus slowing the entire application Accessing Codename One widgets from a thread that isn’t the EDT. The problem is that both of these issues are notoriously hard to catch on the simulator but often crop up on the device where race conditions can happen more easily and slow EDT performance is more noticeable. ...

Screen Capture of Our Java One Session
For those of you unable to attend JavaOne this year, you can check out the full video of our session here. You don’t actually see me but you can hear me talk and see the slides/demos since the feed from the projector was recorded. Apple wiped my iPad the day before with a stupid iOS 6 beta bug and my version of the demo had some bugs in it, but other than that I’m pretty happy with the presentation. ...

Installing On A Windows Phone Device
We recently added Windows Phone support to Codename One, this allows you to build your applications as a Windows XAP application for installation on a Windows Phone device. Unfortunately of all the platforms we support (including J2ME and iOS) MS is the only company that chose not to allow standard OTA distribution so you will literally need a PC in order to install the application with a cable. ...