Open Source & Free

Let’s Encrypt, HTTPS Certificate Support

Module 9: Setting Up a Cloud Server Once the backend is public, HTTPS stops being optional. Modern mobile platforms expect secure traffic, and production apps should assume that all client-server communication needs transport security from the start. The lesson begins with the application-side change: configure the server to listen on an HTTPS port and tell the Java runtime where to find the keystore, alias, and password it should use. That is still the correct mental model. HTTPS in Java is not just a hosting concern. The application itself needs access to the certificate material it will present to clients. ...

Codename One

Storage Encryption and Misc Security Features

Module 9: Security Once transport security is in place, the next questions are usually local ones: what happens if the device is compromised, if a screenshot leaks sensitive information, or if another app can inspect copied data? These are the kinds of risks the second security lesson is trying to address. ...

Codename One

Automating Lets Encrypt Renewal Process

Module 9: Setting Up a Cloud Server Getting HTTPS working once is not enough. Let’s Encrypt certificates expire quickly by design, so the real deployment milestone is automated renewal, not manual issuance. That short lifetime is not a flaw. It is the reason the ecosystem can lean so heavily on automation. Instead of treating certificate replacement as an infrequent ceremony people dread, the system pushes you toward a scriptable renewal path that keeps the server current with minimal manual work. ...

Codename One

Introduction and Installation

Module 10: Maps Maps are one of those features that look simple in a product brief and become surprisingly nuanced once implementation begins. The first decision is not how to place a marker. It is which kind of map integration you actually want and how close that integration needs to be to the native experience on each platform. ...

Codename One

Abstraction and Architecture

Module 10: Adapting to Tablets and Desktops Running a phone UI on a tablet is easy. Making it feel like it belongs there is not. That is the problem this module solves. The lesson begins with the right observation: a phone-oriented app often looks merely enlarged on a tablet. Images feel oversized, empty space is wasted, navigation patterns become awkward, and the whole application looks like it was stretched rather than designed. ...

Codename One

Hello World and Devices

Module 10: Maps The first useful map example is not complicated. Create a map, make it render on the supported targets, and verify that the fallback behavior is acceptable where native maps are not available. That sounds simple, but it teaches an important lesson: a map feature is only as good as its weakest platform path. ...

Codename One

Markers, Lightweight Overlays and Map Layout

Module 10: Maps Markers are the first useful map feature because they let the user connect geographic coordinates to something meaningful. But the default marker API is only the beginning. As soon as you want richer visuals or interactions, you start wanting more control than a simple pin can provide. ...

Codename One

The UIAbstraction Class

Module 10: Adapting to Tablets and Desktops Once the architectural decision is made, the next question is how to encode it in code without making every screen harder to write. The answer in this course is UIAbstraction, a layer that hides whether the current screen is really a form or just content living inside a larger tablet shell. ...

Codename One

Introduction and Setup

Module 11: Building from the Open Source Project Offline Without Build Servers or Plugin Working directly from the Codename One source tree is not the normal path for most application developers. That is worth saying upfront because this module makes more sense when treated as advanced infrastructure knowledge rather than as the default workflow. ...

Codename One

The TabletUI Class

Module 10: Adapting to Tablets and Desktops If UIAbstraction is the contract, TabletUI is the concrete shell that makes the larger-screen experience real. The key idea is that a tablet version of the app does not need to recreate the entire screen on every navigation step. Instead, it can keep one stable outer form, leave navigation permanently available, and replace only the main content area. That makes the product feel much more natural on tablets and desktops because the app stops behaving like a sequence of full-screen phone cards. ...

Codename One