Latest posts from Codename One.
Blog

Device Bugs And Updates
We’ve been even more busy than usual with our first corporate deployment kicking off, this is currently a pretty rough process that requires a lot of hands on help from us but we hope to make it less painful for our customers. Either way, this being a completely new offering with a great deal of complexity involved its an uphill effort which is part of why we are experiencing a slowdown in new features. ...

Calendar & Small Changes
I’ve been working a bit with Kapila and Andreas on a Calendar project for Codename One to be used as a cn1lib (working is a strong word I’ve mostly just bossed them around and didn’t really do much, they did all the work). Its a pretty ambitious project since Calendar API’s are so fragmented and problematic, in fact no cross platform tool I’m familiar with has anything remotely close to a working Calendar API. ...

Wheel & Drag
In the latest update to desktop builds we made the mouse wheel scroll the UI which is something that we’ve meant to do for ages but just didn’t get around to doing. This will also work in the simulator when the next update arrives. This was a big challenging to implement properly since the mouse doesn’t actually touch a specific component, eventually we decided to just send press/release/drag events in sequence when a mouse wheel is active. ...

Desktop, Vision Mobile & Misc Changes
Vision mobile just released their new developer economics study, you can check it out here . We toggled the new pipeline mode for windows phone to be the default, its clearly the way to go forward in the long run since we just don’t have any other choice. All feedback on the new pipeline found it to improve performance significantly and generally reduces some of the paint issues that we run into with Windows Phone. However, there are a couple of reports pointing out that font quality has degraded with the new pipeline. We are looking into this but came to the decision that even if this isn’t solvable we will stick with the new pipeline since the old one is just not viable for moving forward. ...

A New Pipeline For Windows Phone
The Windows Phone port is one of our most painful ports, the platforms is so fragmented, volatile and rigid its remarkably hard to extract a common porting layer that will satisfy our requirements. We’ve just updated our servers with the 3rd port we did for Windows Phone, its experimental so its off by default, to activate it just use win.newPipeline=true in your build arguments. As you may recall our first port targeted Windows Phone 7.5 and used XNA which Microsoft killed with Windows Phone 8. ...

Push Notification Tutorial
We’ve just uploaded a new how do I tutorial for push notification . This tutorial covers the basics and is complementary to the post we published a while back covering push . 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. Archived Comments This post was automatically migrated from the legacy Codename One blog. The original comments are preserved below for historical context. New discussion happens in the Discussion section. ...

A New Pipeline
One of our enterprise developers started complaining about the performance of our Android port, which forced us to take a closer look at our rendering pipeline on Android. It seems that Google’s hardware acceleration broke pretty much all the best practices of the Android 2.x era and what we had wasn’t taking full advantage of “project butter” the codename for Google’s new Android rendering layer. This took a lot of effort to adapt and the effort is still ongoing but we wrote a brand new rendering layer for Android, at the moment you would need to switch it on explicitly and it will only work for Android 3.x or newer. When we will feel that its stable we will flip the default switch and make this the default for all future Android builds. ...

Switching Defaults
As you may know Apple will require that all applications submitted next month would be compiled with XCode 5 and target iOS 7 primarily. We supported this for quite some time however the default was still set to the legacy support first. Today we are deploying an update which will make xcode 5.0 the default and make the theme use iOS 7 theme styling when running on an iOS 7 device. ...

5 Cool New Features in Codename One for NetBeans IDE
An article of mine with the above title just got published in dzone check it out and let us know what you think in the comments over there. 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. ...

Native Interface
Native interfaces allow developers to invoke platform native methods/functions/libraries and even widgets directly from within Codename One without having to adapt your code to every platform. They are a very powerful tool when bridging between Codename One and OS specific features to access functionality that might not yet be exposed in the Codename One platform. Normally in Java we would use JNI to access “native” however, JNI is designed to access C and we need much more. Codename One allows developers to access Dalvik (Java) when running under Android and defines that as “native”, C# when running in Windows Phone and Objective-C when running under iOS. Because of that it is remarkably hard to map arbitrary objects, callbacks and functionality to a native call. So to simplify that work we placed many restrictions on the construction of a native interface, however you can still accomplish pretty spectacular things such as a complete working socket implementation and more. ...

Build Desktop Apps & XML Improvements
The next plugin update will finally include the support for building desktop applications with Codename One and to celebrate this we added a How Do I video on this subject . Notice that this is a pro only feature so if you don’t have a pro account this will fail on the build server. The end result should be pretty similar to what you get in the simulator, I assume we will make some improvements as we move along to refine the user experience a bit further and adapt it for desktop development. ...

Sockets & MultiLine Trees
Steve recently added an implementation of a sockets library which is pretty cool and very timely since we are just about to release our own socket library and unlike his work which supports all Codename One targets we currently only support iOS & Android. At the moment we only support TCP sockets, we support server socket (listen/accept) on Android but not on iOS. You can check if Sockets are supported using the Socket.isSupported() and whether server sockets are supported using Socket. ...