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.
Requirements
- An understanding of distributed computing concepts
- Programming experience (As of 2021, Fuschia supports C++, Python, DART, Go, Rust, FIDL)
Audience
- Developers
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