Post Image

TIP: Include Source with Android Studio 3.0

I covered the include source feature extensively. For the most part it's the simplest way to debug an application directly on the device. When I made that video the current version of Android Studio and Gradle were much older. We still use API version 23 on the build servers to keep everything compatible but you might want to use a newer version of the IDE.

Read More
Post Image

Updated 4.0 Release Date

Last week I mentioned we are considering postponing the release planned for next week. We eventually did just that and the release is now scheduled for the 20th with code freeze on the 13th. So far we didn't change future release dates but there might be a cascading effect. As I explained before, this is an inevitable result of the migration to xcode 9.2 which is something we need to stabilize before the release.

Read More
Post Image

Tune Performance, Profile on Devices in Latest Academy Update

I promised 2 new course modules for February and just published the second one. In case you don't recall I discussed the first one here and it covered building Codename One applications from the open source code.
This new module goes through seven lessons that cover everything you need to know when building a performant app. It covers everything from generic performance tips/analysis all the way to profiling and a case study. You can check out the full module in the Deep Dive into Mobile Programming course in the academy.

Read More
Post Image

TIP: Streams are Observable in Codename One

We got a pull request the other day that reminded me of some hidden functionality in Codename One that most developers aren't aware of: observable input streams. By default Codename One API's try to return BufferedInputStream and BufferedOutputStream instances from our internal API's. Those classes aren't the typical java.io versions but rather ones from the com.codename1.io package.

Read More
Post Image

Preferences Binding and getAndSet()

I added support for binding a property object to `Preferences` a while back and just didn't have the time to blog about it. I didn't consider it too crucial as the functionality is very simple to figure out, the only difficult part is knowledge of the features existence.

Read More
Post Image

Use our Open Source Code to Build Codename One Offline

I promised 2 new course modules for February and just published the first one. It covers the process of building a Codename One app from the Codename One source code. The whole process is done without using the Codename One plugin or build servers. It uses only open source project code to deliver iOS/Android & desktop binaries!
You can check out the full module in the Deep Dive into Mobile Programming course in the academy.

Read More
Post Image

Xcode 9.2 on by Default this Friday

A few weeks ago I announced the xcode 9.2 mode and was rather happy that we can take our time with the migration. Unfortunately, that wasn't meant to be. Apple will require all new submissions to use xcode 9 within the next few months so it makes no sense to keep 7.3 as the default. This weekend we will flip the switch and builds will default to 9.2.

Read More
Post Image

New Update Framework

When it comes to big changes this is pretty huge but surprisingly "subtle". This weekend we'll release a new plugin update that will completely replace the update process of Codename One and a week after that we will start nagging you to update your plugin so we can all be on the same page. This is a HUGE change as we didn't change anything about the update process since 2012. But the cool thing about it is that you might not notice it...

Read More
Post Image

New Async Java-Javascript Interop API

We recently introduced a new API for interacting with Javascript in Codename One. This new API is part of the BrowserComponent class, and effectively replaces the com.codename1.javascript package, which is now deprecated.

Read More
Post Image

New Skins, San Francisco Font and more

One of the big issues with some new users who picked up Codename One was the lack of up to date device skins. We made several attempts in the past to improve this situation but these ended up as half measures at best. Last week we addressed some of the core problems that made it hard to add new skins and as a result we now have 33 new skins that are far better than anything we had before.

Read More