Latest posts from Codename One.
Blog

Questions of the Week XXV
We released an update a day early to deal with some regressions we had related to minor method signature changes triggered by an overhaul of pre-released versions. Other than that this week has been a bit uneventful in terms of our work. On stack overflow things were pretty standard: How do I import an existing android studio project to eclipse so that it is native and becomes a codename application? We currently support NetBeans here but this is a bit problematic regardless ...

Round Border in the Designer
We introduced the new RoundBorder API a couple of weeks ago and it’s already picking some usage. But to really take off it needs to be within the themes, starting with the next plugin update the border section of the designer tool will include the options for round border. This is a bit confusing since we already support a rounded border type. The rounded border type is a rectangle with rounded corners where the round border has completely round sides or appears as a circle. ...

Tutorials & Resources – Build Apps with Java for iOS, Android etc
There are many Codename One resources for building native mobile apps but they are often all over the place, in this blog post I’ll try to concentrate the best resources for people who already know Java and are looking to pick up Codename One. If you don’t know Java yet, please check out this post where we discuss resources for beginners to learn Java. Written Docs and Tutorials • Create an Uber Clone in 7 Days – Even if you don’t purchase the full book, the free chapters available to download will help you get started quickly. ...

Cross Platform Mobile still Better than Naive in age of Flat Design
A few years back I wrote an article for O`Reilly covering the advantages of cross platform over native OS code. Almost 3 years have passed and a lot has changed in our industry so I wanted to re-examine how this impacts my perspective on cross platform vs. native. I can sum up the sentiment in a single sentence: “Cross platform is both more essential & more practical than ever before!”. ...

Deploy the Same Mobile App/Template Multiple Times
We often build one app and sell it to multiple customers. After all, most customers ask for similar things with minor changes. E.g. if I build a restaurant app and then sell it to one establishment I can then resell it to another with almost no change at all… Another common use case is the demo or free version of a paid app, you want to reuse as much of the work as possible without maintaining two code bases. ...

Questions of the Week XXIV
We’ve had a very challenging week with a lot of backend work for some enterprise customers so we didn’t get as much done as we do most weeks. I can say that I’ve seen some of the apps in the pipeline and I’m very excited about the things to come… Todays update includes many bug fixes on Android, UWP but not much in terms of new features. On stack overflow things were pretty standard: ...

Codapps.io is back Java on Mobile from Scratch
We’ve discussed codapps.io before, it’s a MOOC (online course) that allows you to learn Java programming and uses mobile/Codename One as its vehicle. Our current documentation and tutorials can be quite intimidating to a person who is a complete Java newbie so this course is quite helpful in bridging that gap. I think learning GUI programming is probably the best way to learn programming as it lets you “see” the results instantly and experiment. ...

Why we no longer Attend JavaOne
I love going to JavaOne, I used to do it every year and it’s loads of fun. I’ve been speaking on a regular basis at JavaOne since 2008 and got a rockstar award a while back. Two years ago we purchased a booth to promote Codename One as well. Last year we skipped the show and it has been so great we decided to skip it again. While JavaOne is loads of fun it does nothing to the bottom line even if you have a booth in place. We had many meetings, talks & introductions. These resulted in very little in terms of revenue or traction shift. ...

KitchenSink UWP
The latest plugin update includes a new kitchen sink version that includes quite a few bug fixes, enhancements and a new side menu design that looks much better. We also got the demo published on the Windows Store thru the UWP port which isn’t so much a testament to the maturity of the port as much as it is to the limited testing done by Microsoft. The demo on UWP is still broken in some fundamental ways e.g. shape graphics required for the clock are still not ready. Quite a few other things should be implemented but it should still install & run. You can install this demo on a Windows 10 device or desktop from here. ...

Merged Peer, October Vacations & India Trip
Last week we merged the new Android peer code into the main branch. That means that we can no longer support the android.newPeer flag as all non-versioned requests will use the new peers. This is a good thing as it will allow us to focus on one implementation moving forward. We would like to bring the new peer implementations to other platforms but so far this has proven itself somewhat challenging especially with our resource constraints. Ideally we wanted to have this for 3.6 but it’s possible that it will get pushed back all the way to 3.7. ...

Questions of the Week XXIII
This has been a busy week with new features and some interesting announcements. We are releasing a plugin update today with a lot of fixes especially to the GUI builder which should be far more stable. NetBeans announced they will be moving to Apache and we volunteered to help. We’ll post some thoughts about this next week. Java One is coming back, again we chose not to go. I wanted to write a bit about it but didn’t find the time to put down my thoughts. Overall I love Java One, it’s loads of fun… But flying there from another continent is probably not the best use of our time/budget. ...

Why we don't Support the Full Java API
This is something we run into every week. A new Codename One user writes asks why “feature X” from Java isn’t supported. In this post we’d like to explain the “bigger picture” or why less is more… Supporting the full Java API in Codename One would be a mistake that will lead us down a problematic path. It would cost you a great deal in functionality, performance, portability, stability and more! ...