Skip to content

Meet our new framework, Punky!

We are glad to present you with our new (and better) framework.

In Terra, we have a very specific way to do things, and if you’re new here (or need a refresher), we’ve prepared this documentation to guide you through our whole system.

We work with our proprietary framework because we see value in being able to fine-tune everything. We aim for sleek use experience, high performance values and unified code throughout the whole project.

When working with any framework, it is important to adapt to the way that framework asks you to use it, and Punky is no different there.

What we achieve is:

  • No memory leaks
  • Reduction of the initial bundle by importing libraries when we need them and not before
  • Good practices in class building
  • Smooth user experience

We have divided this extensive guide in three sections, to help you understand everything: not only what you’re going to actively work on, but also how it runs in the inside and how and why the code you write works.

  1. The core - this section will go through all of our behind the scenes files, the ones that help us run everything smoothly
  2. Usage - this one will teach you how to use the framework, how everything’s going to look for you when you’re coding
  3. Something went wrong - and here we’ll see our debug system and how to efficiently use it to detect when something might not be right (and when something is definitely wrong)

Before we deep dive, here you have a diagram that you can keep close throughout the learning process, that will give you a top level view of how everything works together in the framework.

punky diagram

We want this documentation and our starter project to be your absolute source of truth on how to work with the framework.

That’s why the project will have working examples of every library we commonly use, so you can refer to it to use it correctly in your project, instead of having to rely on other people (or other projects) to know how to implement it.

If you need to implement a new library and it’s not covered in the documentation or the starter project, or you see something that’s not right in any of them, please let your manager know so we can keep this updated and helpful!

Knowledge Check

Test your understanding of this section

Loading questions...