Current Stack

A stack is like a multi-layered cake. Each layer is a component of the big picture: from mobile and desktop devices on the client-side, all the way to server-side, there are delicious layers of technology.

ByteKast’s current stack consists of frameworks, namely Codo-Hydra and Codo-Dragon; Codo-Dragon is the oldest of the two. It’s not a type of language or new tech, it’s an extended framework. It takes a variety of existing tech and optimises the way in which to work with it.

These include but are not limited to: PHP 7+, NodeJS, Javascript (ES6+), Go.

Frontend

Anything frontend contains the on-device models, and the UI/UX design. For our frontend development we use Codo-Hydra, and for apps we use a Cordova bridge. We essentially build a web app that’s wrapped in a Cordova layer, allowing us to build a native app for Android or iOS.

Codo-Hydra

The advantage for us has been that because Codo-Hydra is a web technology, we just slotted nicely into making Progressive Web Apps.

The main unique aspect of Codo-Hydra (and the reason we don’t use Ionic or any other framework that sits on top of Cordova), is because taking a more fine-grain approach has allowed us to optimise Hydra and make it as close to native as possible.

Cordova

Cordova was our top choice to build apps that work as native apps, and Codo-Hydra gave us the freedom to explore and come up with our own flair of how we design apps. This route has also improved performance capabilities.

ByteKast Backend Stack

Services

A service within the context of the ByteKast stack is a programme or application that requires no user input and is self-contained. Services are our little helpers and bots.

Our services consist of things that don’t require any user interaction; they are isolated and run little jobs and tasks on their own. For example, we use Go (Google’s cloud-version of the C language) to do all our mail and push notifications. We can thread 500 emails into 10 threads and send them simultaneously – thereby achieving parallel computing (a desirable service layer).

For near real-time, chats and micro end-points we use Node JS websocket micro-servers.

Automation CLI

Part of ByteKast’s development tooling, we have a command level interface that allows us to work on one master app, and build 1000s of apps with different configurations. This has allowed us the agility to continuously improve and release features to all apps without the need to manage each app individually.