Last week scrolling broke and we had a few relatively complex regressions. This can be traced back to a change we did to the
getComponentAt(x, y) method, this change in itself fixed a problematic bug but triggered far worse bugs and we just had to revert the whole thing...
One of the less familiar features of Java is the mess of weak/soft/phantom references. This is a confusing mess and it's compounded by the fact that other languages (such as the reference counting Swift/Objective-C) have used these terms with a different meaning. To simplify this weak references in a garbage collected language allows you to keep a pointer (reference) to an object that won't force it to stay in RAM.Read More
Versioned builds are one of the more confusing features of Codename One mostly because the word "version" is so overloaded with meaning. The feature itself is remarkably simple as explained in this video tutorial.
Versioned builds allow you to build against a fixed point release version of Codename One, that means that if we break something in the build servers you can still work against the last major version that we released.
I did a lot of work on the developer guide PDF making it more suitable to print, as part of this work I submitted the guide to Amazons KDP which means you can now order a physical book of the developer guide. I reduced the page count significantly for lower cost and image size requirements. As a result the book is much smaller but contains the exact same information in a denser package.Read More
Codename One has ports for Mac, Windows & even for the browser. These are often confused and the introduction of the UWP port which also includes some overlap only made matters worse. Each one of these ports covers a segment that the other ports don't.Read More
I wrote two posts about the SMS activation process. In the first I discussed using the Twilio API via REST and in the second I discussed the native interfaces for SMS interception we can use in Android. Now it's time to put this all together and create a single API that's fluid. It should include the full UI process but be flexible enough to let you design your own experience.Read More
Offline build is a pretty complex topic which is why we opted for the online build process in Codename One. It allows for simple install/build and doesn't require a Mac. However, if you work for a bank or a government agency using a cloud solution is sometimes an insurmountable roadblock. That's why we introduced the offline build option to replace our old private cloud option.Read More