Post Image

Questions of the Week 39

We are ending the enterprise annual promotion today so if you didn't sign up for this special deal this is literally your last chance. This is important as the JavaScript build promotion will expire soon so I suggest taking advantage of this!
We had a lot of updates and new features this week but we decided in advance to skip the update right after the release and so we'll push them out only next week.

Read More
Post Image

HTML Maps, Z-Order Peer & Properties Update

One of the problems with native maps is that they work very differently between the device and the simulator. This is because we use MapComponent on the simulator and as a fallback on the devices where Google Maps isn't available. We just committed a new mode for maps that allows you to use the Google HTML maps as the fallback instead of the MapComponent.

Read More
Post Image

Automatic Build Hints Configuration

We try to make Codename One "seamless", this expresses itself in many small details such as the automatic detection of permissions on Android etc. The build servers go a long way in setting up the environment as intuitive. But it's not enough, build hints are often confusing and obscure. It's just hard to abstract the mess that is native mobile OS's and the odd policies from Apple/Google...

Read More
Post Image

Migrating from Parse to Back4app

A couple of years ago I wrote an app for my spouses yoga studio for managing her student list. I intended to open source it but the code is a bit messy and I can't seem to find the time/energy to clean it up. I used the excellent parse4cn1 library from Chidiebere Okwudire during the height of Parse.

Read More
Post Image

Codename One 3.6 Now Live & Special Sale

Codename One, the "industry defining" Write Once Run Anywhere native mobile app platform for Java developers has just published version 3.6.
We're thrilled with this release whose key features are offline build support and official support for UWP (Universal Windows Platform). Starting with this release we are changing the scope for Codename One: Instead of trying to be "as good as native" we'd like to aim to be "better than native".

Read More
Post Image

Questions of the Week 38

Codename One 3.6 is finally landing early next week, this means that today there is no Friday release and we might skip it next week too so we can rest from this long release process. Once that is out of the way we can finally set our sights on 3.7.
We already have a long wishlist for that release and I hope we'll be able to deliver on that.

Read More
Post Image

Migrating from Digital Ocean to Linode

We haven't talked as much in recent years about what it takes to run Codename One. Our infrastructure and backend are pretty complex with multiple pieces working in cohort to make everything feel like a single product. As part of that we work with 5-10 different backend SaaS providers that sell us various services, this might seem like an "odd" statement since the number should be fixed but it isn't...

Read More
Post Image

Certificate Verification, Avoid SSL Pinning Vulnerability

Certificate pinning is a security measure designed to thwart potentially dangerous and complex attacks. Since those sort of attacks are pretty hard to execute it's a security measure that is probably unnecessary for most developers. However, if you are building an application for a very sensitive industry (e.g. Government, Banking etc.) you might be required to include this defensive measure.

Read More
Post Image

First Class Eclipse Support

Our eclipse IDE support has been around for quite a while now but has never stood up to the quality and update pace of NetBeans. Recently even our IntelliJ/IDEA support has surpassed the quality of our eclipse plugin and the blame should be on us.

Read More
Post Image

TIP: Nest cn1libs Cross Dependencies

On occasion developers ask us for cn1lib dependencies, e.g. allowing one cn1lib to use functionality in another cn1lib. This isn't something we rolled into the cn1lib infrastructure because we strongly believe in simplicity. Dependency management solutions become fragile once nesting sets in and often mask over-engineering which is really dangerous for a tool that depends on small footprint.

Read More