TIBET FAQ
Decisions, Decisions
Getting Started
Support
Licensing
Other
Decisions, Decisions
Why TIBET?
TIBET was created to reduce your 3 biggest risks.
Developers tend to say those are:
- getting async code right,
- getting code to load efficiently, and
- managing client-side data.
Those are definitely challenges…
…but they're not the problems that cause projects to fail.
Projects fail because:
- they can't hire at scale,
- they can't maintain a stable stack, and
- there's no SLA-based support backing their efforts.
Projects fail because of staffing, stability, and support.
TIBET is specifically designed to solve those problems.
Why OO?
The trend in the JavaScript community these days leans heavily functional.
We believe that's a mistake for application platforms.
OO arose in response to design and maintenance issues with functional approaches to development, particularly for large applications.
Applications of any real size require organizing principles if they're going to avoid turning into family-style platters of spaghetti.
OO provides a set of organizing principles that have proven themselves over time.
Types group related functions together, reducing conceptual clutter and encapsulating data. Data integrity improves as a result.
Messaging reinforces encapsulation and opens the door for polymorphism and late binding, two key elements that enhance extensibility and maintainability.
Inheritance, a typical battleground point for functional proponents, wasn't even part of the initial definition of OO.
That said, we believe poor handling of inheritance is the cause of many of
today's complaints about OO, particularly within the JavaScript community.
JavaScript, like many popular OO languages, doesn't have type-level inheritance; it has 'static' methods and attributes. The result is an OO model that doesn't work for a number of design patterns.
TIBET is different.
TIBET's OO infrastructure is modeled on Smalltalk, with a dash of Traits thrown in to support both inheritance and composition in a predictable, controllable fashion.
The result is OO that works the way you think it should, freeing you to keep code organized without fighting the OO system itself.
Getting Started
How do I install TIBET?
If you've got a recent version of NodeJS:
npm install -g tibet
tibet init
tibet quickstart
See our installation page for additional details.
Are there tutorials for TIBET?
If you've installed TIBET, start with the tibet quickstart
command:
tibet quickstart
The TIBET Quickstart Guide walks you through an initial project.
Additional tutorials and examples can be accessed from documentation menu.
Where are the API docs?
Our Client Stack offers concept and cookbook documentation for the majority of TIBET's APIs.
Each product in the TIBET suite contains similar concept and cookbook documentation to help you move quickly and get things done.
Specific detailed API documentation for TIBET is generated on-the-fly by the TIBET runtime system. This up-to-the-minute documentation is accessible via both the TIBET CLI and the In-App IDE.
For example…
The tibet reflect
and :reflect
commands let you focus on a particular
object or method, or reflect across the currently loaded code.
tibet reflect [<target>]
tibet reflect TP.lang.Hash
The tibet apropos
and :apropos
commands let you query for functionality
related to one or more terms.
tibet apropos <topic>
tibet apropos sort
TIBET's tools will generate API documentation for your application code provided you follow TIBET's coding standards with respect to comment placement and format.
Support
How do I file a support ticket?
See our support page for details on our SLA-based support.
Is there informal support?
We offer informal support on the TIBET Desktop channel on Discord.
Licensing
What license does TIBET use?
TIBET is licensed under the OSI-approved Reciprocal Public License (RPL). The RPL is a viral license similar to the GPL3, requiring you to open source your derivative works.
Is TIBET Open Source?
Yes. TIBET's license is approved by the Open Source Initiative (OSI), the organization responsible for maintaining the official definition of the term "Open Source".
Other
Why did you call it TIBET?
While discussing names for what would eventually become TIBET, Bill Edney, TIBET's co-author and evangelist, mentioned that China didn't call the region traditionally known as 'Tibet' by that name. He suggested we call our library TIBET in the hope that if our framework became popular it would continue to bring awareness to the ongoing situation in Tibet.
Note that the product name is always presented in full-caps, e.g. TIBET.
We recommend visiting the sites below for more information on how you can help Tibet and the Tibetan people:
What is your logo?
The TIBET logo is the word 'Tibet' in Tibetan script: