Skip to main content

Command Palette

Search for a command to run...

Deep Dive into Mobile Development with Codename One - Free Online Course Material

The underlying mechanics of challenging mobile app development concepts explained by example

Published
6 min read
Deep Dive into Mobile Development with Codename One - Free Online Course Material
S

Entrepreneur, author, blogger, open source hacker, speaker, Java rockstar, developer advocate and more. ex-Sun/Oracle guy with 30 years of professional development experience. Shai built virtual machines, development tools, mobile phone environments, banking systems, startup/enterprise backends, user interfaces, development frameworks and much more. Shai is an award winning highly rated speaker with a knack for engaging the audience and deep technical chops.

This is the second part of my online courses from 2017 that are now available for free. In this course we go beyond the developer guide and the online docs to explain how to work with crucial Codename One tools required for building real world apps. We explain everything from device portability to native interfaces (access to native device features) and much more!

As part of this course we cover the process of building a simple restaurant ordering system and we cover several complex Codename One API's.

The original version of the course included a section created by Chidiebere Okwudire the creator of parse4cn1 which is removed here. I chose to omit it since the status of the Parse project is unclear and I'm not sure about IP ownership for that section.

Working with CSS

The CSS in this section should work well for new versions too. In Maven CSS is the default and the whole "setting up" portion is no longer applicable.

The source code for this part is in this github repository.

Working with Custom Web Services

Introduction to Spring Boot

The source code used in this part is available in this github repository.

Connecting to a Web Service

The source code used in this part is available in this github repository.

Extracting a UI Design

Introduction

The source code used in this part is available in this github repository.

Cutting Images in Photoshop

CSS

BaseForm

MainMenuForm

CheckoutForm

UI Design From Scratch

Introduction

The New Forms

Fixing the Checkout Experience

CSS Changes

Code Changes and Summary

Architecture

Overview and Basic Model

Integration and Summary

Native Interfaces - Billing

The Native Interface Callback

The version of the code matching the changes in this section is here.

Dependencies - Gradle and CocoaPods

The Native Code

Native Interfaces - Camera

Introduction and Generic Code

Implementing the Native Camera on Android

Camera iOS Port Basics

ARC and View on iOS

Capture and Callbacks in iOS

Putting it All Together

The final repositories for the server and the mobile app are here:

  • https://github.com/shai-almog/AppBackendServerFinal
  • https://github.com/shai-almog/MyRestaurantFinal

Communicating with the Server

Address and Validation

Security

Security Basics and Certificate Pinning

Storage Encryption and Misc Security Features

Maps

Introduction and Installation

Hello World and Devices

Markers, Lightweight Overlays and Map Layout

Building from the Open Source Project Offline Without Build Servers or Plugin

Introduction and Setup

Running the Kitchen Sink in the Simulator

Building a Desktop Version of the Kitchen Sink

Building an Android Native Version of the Kitchen Sink

Build an iOS Native Version of the Kitchen Sink

Performance and Memory Tuning

What is Performance? Breaking Down the Problem

EDT, Threading, Caching and Soft References

The Different Image Types and Their Impact on Performance/RAM

List, Network, Parsing and Resource File Size

Profiling on the Desktop, Using the Performance Monitor Tool

Profiling on Devices iOS and Android

Case Study: Performance Problems in the Kitchen Sink

Codename One Academy Archive - Free Online Courses

Part 2 of 3

Full online courses for Codename One Java mobile development created around 2017..19. Over 200 videos, more than 25 hours of videos and more than 300 slide decks with practical examples and full code.

Up next

Java for Mobile Devices - Free online course

Republication of old teachable content for free. This post covers the basics of Codename One. A cross platform mobile framework for Java/Kotlin