Latest posts from Codename One.
Blog

XCode Migration Take 2
We hoped to get the xcode 7 migration on the build servers out before version 3.5 but the change had problems and we chose to revert. We postponed the change so we can get 3.5 out of the door… This Sunday we’ll deploy a server update that should be the first step in the migration. Because of this deployment we will skip the Friday release and shift it to Sunday which has lower traffic/builds. ...

Offline Build
We finished the final major piece of the offline build offering that we announced in July! This Sunday we will update the plugins to include this ability as an option. Once installed you can use the instructions below to install the offline build service. In this post I’ll explain the process and then follow up with some expected questions/answers. If you have questions/comments about this process please use the comment section below. ...

How I Chose my Replacement for Parse.com Part 2
You probably recently received the “Next Steps from the Parse Team” newsletter in your inbox in which you were urged to take immediate action as it pertains to migrating your Parse.com-hosted apps. Or at least, you’re aware of the ultimate January 28, 2017 deadline for migrating your apps. While you should take such reminders seriously, there’s no need to panic. In this article, I share my experience with different Parse Server hosting backends and my choice after applying the principles outlined in Part 1 of this series. Read on! ...

Drag and Drop Uploader
One of our enterprise customers needed help with file upload from the desktop. E.g. in his Codename One app running in the browser or desktop he wanted the ability to drag a file. Somewhat like we can drag a file into gmails compose window. This doesn’t make sense within Codename One as something like that doesn’t exist on mobile devices or even tablets. Creating a cn1lib that implements this functionality does make sense, so Steve did just that. ...

Questions of the Week XVII
We just flipped the switch on InfiniteContainer which is now more synchronous and complies with the EDT policy by default. We are already back to committing changes and have been busy updating with all of the things that didn’t make it into 3.5. A lot of those changes are a part of the release we made today & we have quite a few other things in the pipeline. Onwards to the questions on stackoverflow: ...

Build Hint Variables
This is a feature Steve added way back in June but I didn’t get around to documenting it. Build hints can sometimes get “unwieldy” e.g. in the case of ios.plistInject or android.xapplication we sometimes have pretty verbose values. We now have a way to define a “build hint variable” which the build server substitutes seamlessly. This is useful for “key” values required by API’s that sometimes require boilerplate e.g. the Google Maps support has this: ...

Open Source cn1libs
When we initially designed the cn1lib file format we looked at jar files as a starting point. We wanted a way to distribute binary libraries that support the native code access, restrictions and ideally code completion. One of the big failures of Jar files as a standard is bad support for code completion. This requires IDE’s to specify a JavaDoc (or source) directory so the completion logic can refer to that for hints. However, we wanted to keep the “binary” aspects of jars… ...

Codename One 3.5 Now Live
We are thrilled to announce the immediate availability of Codename One 3.5! Version 3.5 is a huge release that includes the long awaited Windows Universal Platform (UWP) support and brings the new GUI builder out of beta. Highlights of this Release Beta version of the UWP (Universal Windows Platform) Port – Codename One supports native Windows 10 universal apps that you can sell thru the Windows Store New GUI Builder Release – We released the new GUI builder. It still has rough edges but is improving at a rapid pace ...

Composite Animations
When we announced Codename One 3.4 we also announced a major animation overhaul. This was an important milestone that we didn’t fully actualize until this past week… Up until now animations in Codename One consisted of a fixed set of animations you could perform, e.g. if I want to move a Component from one place to another I could do an animateLayout. When I want to do multiple animations in a sequence I can chain them using the AndWait version or thru callbacks etc. ...

Questions of the Week XVI
We are deep within the 3.5 code freeze and this adds up to a remarkably busy week, we’ve got an even busier week with the release itself. Because of the code freeze there is no need for a Friday release today so we are skipping it this week. So lets get right down to the questions from stackoverflow… CodenameOne ImageViewer blocks scroll Scrolling and ImageViewer don’t mix as the scrolling might collide with the panning/swiping. ...

Toast Downloads
I wanted to write about the new kitchen sink demo which I’m trying to finish… But I haven’t finished it yet as it’s such a major undertaking. As part of that work I wanted to show some code that downloads themes and didn’t want to use the venerable infinite progress indicator which I generally dislike… Over these past few months I’ve enjoyed the ToastBar tremendously and I think it’s probably far better suited for such a use case than the infinite progress. The ToastBar has rudimentary progress indication capabilities that are perfect for such a use case. ...

Android Migration Tool
It’s tough to pick up a new toolchain like Codename One. There’s so much to learn… A lot of our developers come from the Android world and even though Codename One is much simpler than Android porting the first app to Codename One is still painful. We wanted to simplify this process since the day we launched Codename One but as we explained before, this isn’t simple and the results would “underwhelm”. ...