TriFrame! An introduction

James Landry
3 min readNov 17, 2020

When I wrote about my experience with my first Hackathon last week I promised a follow up to go into some of the details of TriFrame, the new full stack framework I learned during the Hackathon. After spending the last week adding features and fixing bugs in our app, I realize that there is much more to TriFrame than I can cover in a single blog. So I have decided to cover TriFrame in a series of blogs where I can cover individual features in more detail.

While I hope to dive a little more into the weeds, so to speak, I will not be covering all of the technical details, instead I will be focusing on providing an understanding in layman’s terms, talking about the why to use TriFrame and its features more so than the how of its workings. Today though, I will give an overview of TriFrame’s features and what distinguishes it from other frameworks.

It is important to note, TriFrame is a framework, not a programming language. In fact, it is a framework that uses other frameworks in its codebase. TriFrame at its core is a JavaScript framework that implements the React, and React Native frameworks along with NodeJS.

Utilizing NodeJS and React/React Native means TriFrame is a Full Stack framework.

For those unfamiliar with the term full-stack, this means that TriFrame is used to build both the code used for front facing applications, often called the frontend, and the code behind the scenes that the frontend accesses, often called the backend. This makes TriFrame a very easy to write framework as it controls all aspects of the codebase you are working with. However it also means TriFrame is not necessarily well suited to implement as an add on with currently existing code bases.

TriFrame’s defining characteristic is how it handles real time updates. Most current implementations of frontend code getting data from backend code happens through something called a Fetch request. Fetch requests work something like sending a letter. They have to have an address to be valid, much like the post office needs an address, zip code, and return address, along with proper postage, etc. Developers have to send the Fetch request to the backend with an address, which they also have to define on the backend. Not only is this a lot of code to write, but it also takes time, and is not inherently real-time. TriFrame addresses this by bypassing the need for Fetch requests completely, allowing the backend and frontend to communicate back and forth in real time. This results in less code needed for the developer and an intuitive way to handle real time updates to an app.

In addition to its real time handling, TriFrame makes database creation simple, allowing developers to get to coding and testing faster. With TriFrame, developers can create new models for their databases with a simple command without the need to drop and rewrite the databases each time they want to update or make a change to their schema. Discussing databases even in layman’s terms could be a blog topic all its own, however, at their very basic, databases are simply where apps store their data. Determining how that information is stored, accessed, and how it relates to other data is often a huge task that can take multiple hours of planning before any code is written. With TriFrame’s handling however, developers can use the ease of database creation, and more to the point, updating the database, to get to coding and testing quicker, allowing for a more flexible application from the start.

Finally, since TriFrame integrates components from both React and React Native, it can be used to write applications across both native mobile devices (IOS and Android) and the web. This means developers can write their codebase once, and deploy it to whichever platforms they wish. This isn’t a new concept, but because TriFrame is both cross-platform and full stack, it does make TriFrame incredibly easy to use for developers.

While it is still in its infancy, TriFrame is a great tool for developers just starting a project. Especially if the project needs, or would benefit, from real time updating across devices. Even without the need for real time, its ease of use makes it a great choice for other apps as well. I am excited to see how TriFrame grows and develops and hope that it will be accepted by the developer community at large.

--

--