DEV Community 👩‍💻👨‍💻

Cover image for Deep Dive into Mobile Development with Codename One - Free Online Course Material
Shai Almog
Shai Almog

Posted on • Originally published at debugagent.com

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

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:

Communicating with the Server

Address and Validation

Categories and Search

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

Top comments (0)

🌚 Life is too short to browse without dark mode