# Introduction

Welcome to codelabs. Codelabs is a space we created to give interactive tutorials on Leaf, PHP and JS concepts that help you achieve specific results in your apps. Codelabs takes one topic or "how-to" and dives deep into it, giving you all the information you need to successfully complete the tutorial yourself while also explaining useful concepts along the way.

# Codelabs vs the Docs

How is codelabs different from our detailed documentation? Why is this necessary?

  • Greater Focus: In the guide, we're essentially telling a story. Each section builds on and assumes knowledge from each previous section. In the codelabs section, each experiment can and should stand on its own. This means experiments can focus on one specific aspect of Leaf, rather than having to give a general overview.

  • Greater Depth: To avoid making the guide too long, we try to include only the simplest possible examples to help you understand each feature. Then we move on. In the codelabs section, we can include more complex examples, combining features in interesting ways. Each experiment can also be as long and detailed as it needs to be, in order to fully explore its niche.

  • Teaching PHP/JS: Although our docs are beginner friendly, we still assume basic familiarity with PHP concepts as we do not go over them into details in the docs. For example, we won't explain how forms and network requests work and how data is read. In codelabs however, essential PHP/JS features and concepts can be explored and explained in the context of how they help us build better Leaf apps.

  • Hands-on: Codelabs, unlike the docs packs in interactive hands-on tutorials which you can follow step-by-step. Each tutorial is specially crafted to help you "learn by doing" and is complementary to the guide. For this reason, you will always find links back to leaf, a module or a particular package.