Fuchsia OS for Developers Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • An understanding of distributed computing concepts
  • Programming experience (As of 2021, Fuschia supports C++, Python, DART, Go, Rust, FIDL)

Audience

  • Developers

Overview

Fuchsia OS is an open source operating system developed by Google. It runs on many platforms, from embedded systems and smartphones, to tablets, and personal computers. It may replace Android and Chrome in the future.

This instructor-led, live training (online or onsite) is aimed at developers who wish to develop apps that run on Fuchsia OS or tailor the OS to run on different devices.

By the end of this training, participants will be able to:

  • Understand the internals of the Zircon MicroKernel.
  • Embed Fuchsia OS on a variety of devices, including tablets, mobile devices and virtual machines.
  • Develop apps that run on Fuchsia OS.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

  • Overview of Fuchsia OS Features and Architecture
  • Understanding Zircon
  • Overview of Flutter for building apps.

Setting up the Development Environment

  • Getting the source code
  • Building Fuchsia
  • Using the emulator

Getting Started

  • Understanding the Fuchsia workflow
  • Running a Fuchsia component
  • Working with an editor
  • Using FFX (CLI)
  • Using FIDL (IPC system)
  • Exploring the diagnostics tools

Getting Fuschia on a Device

  • Overview of the device installation process (“paving”)
  • Building, creating install media, paving

System Development

  • Modifying the kernal
  • Developing a driver

Testing your Code

  • Unit tests
  • Integration tests

Developing Components

  • Defining packages, components, and tests.
  • Working with component manifests

Developing Sessions

  • How sessions affect the user experience
  • Creating a configuration file
  • Launching a session

Developing the Integrator Development Kit (IDK)

  • How the IDK works
  • Obtaining the source
  • Enhancing the IDK

Internationalization

  • Encoding
  • Reading and writing i18n settings

Contributing to the Community

  • Contributing source code

Summary and Conclusion