January 15, 2019

How 8base Works — Serverless, GraphQL, CLI, and More!

Albert Santalo
@AlbertSantalo

This article was written by Albert Santalo, founder and CEO of 8base. For part 1 of this article, see Front End Developers Skills Can Take You All the Way — Introducing 8base.

The separation between back-end and front-end developers has emerged over the last decade as multi-tiered systems have become the norm. In that time, back-end developers have focused on building business logic and provisioning data to front-end developers through REST APIs. In parallel, front-end developers have focused on the user interface. Their ability to empathize with users makes them uniquely qualified to interact with business people to serve their needs.

The hallmark of a front-end developer is their proficiency in JavaScript. The 2018 StackOverflow Developer Survey shows that almost 70% of developers are proficient in JavaScript, which makes it the most widely used programming language in the world.

The same survey shows that JavaScript is high on the list of Most Loved Programming Languages with nearly 62% saying they loved it. TypeScript, which is a derivative of JavaScript, scores even higher at 67%.

8base was specifically designed to give people with JavaScript and TypeScript coding skills the superpowers they need to build end-to-end software without help from other types of professionals for the majority of solutions.

Let’s walk through a typical software development lifecycle to illustrate how 8base enables a front-end developer to build like a full stack developer and operate like a seasoned DevOps pro:

10 Ways 8base Enables Front-End Developers to Build Like Full-Stack Developers

1. Design

Work on layout and flow, not drawing.

User Interface Designers have complete flexibility as to what can be built on 8base; however, 8base provides its Boost UI Kit to assist designers to rapidly prototype beautiful, usable and responsive user interfaces with common UI components that also intelligently talk to the 8base back-end. Although designers and developers benefit from using Boost, they are free to utilize other UI components without constraint. Oftentimes, front-end developers can construct beautiful and functional user interfaces without the help of designers using Boost and other UI kits.

2. Architecture

Avoid dogmatic discussions, use the best practice and achieve working value immediately.

8base delivers a malleable, best-practice architecture out-of-the-box based upon the most modern concepts in cloud computing. Front-end developers can rest assured that built apps benefit from a world-class architecture without having to involve technology architects.

3. Deployment of Database Infrastructure

Selection of a database technology is not as important as it used to be. Driving business value is more important.

8base provisions Amazon Web Services (AWS) databases on demand without requiring a developer to understand all the intricacies of deploying and configuring AWS infrastructure. Developers never need to worry about having enough capacity, as 8base will automatically scale the database to meet their applications’ demands. Data is fully encrypted for security purposes and persisted in a fully redundant, fault-tolerant environment that is backed up frequently.

4. Deployment of File Infrastructure

Files mostly live detached from structured business data — enormous value is unlocked when you can easily join them.

8base provisions AWS file storage capabilities on demand as well. This infrastructure is also secure, unbounded and has embedded intelligence to enable sophisticated file operations out-of-the-box such as image resizing, thumbnails, optical character recognition, facial recognition, and full text search.

5. Deployment of Computing and Networking Infrastructure

Shouldn’t computing and networking resources be available to users in the same way electrical power is?

8base provisions AWS serverless computing and networking capabilities on demand without requiring a developer to understand the intricacies of configuring API gateways, configuring routers, coordinating deployments or even setting up an AWS account. In essence, developers are provided an unlimited source of computing and networking capabilities they can utilize to support front-end requests or run back-end functions.

6. Database and File Storage Design and Definition

Front-End Developers are well equipped to design their own data models using 8base tools.

8base provides its Data Builder toolset to allow front-end developers, who may not possess sophisticated data architecture or data modeling skills, to easily define robust data models. Data models include structured data stored in databases as well as unstructured files that can be easily connected to structured data.

8base also provides a native data viewing and editing capability that allows for secure, rapid manipulation and testing of data.

7. Identity Management, Role-Based Security and User Management

Security is not optional in 2019–8base automatically locks down data so developers can’t forget.

Identity management, role-based security and user management are typically redundant efforts made by developers every time an application is written. Not only are such efforts wasteful, they also tend to expose security vulnerabilities.

8base offers a full identity management solution that supports over thirty different single-sign-on methods, including developers’ own authentication provider, if desired.

Comprehensive role-based-access controls that automatically encapsulate each table, field and file in the data model are provided by 8base. The Developer Acceleration Platform allows for configuration and administration of function-level permissions in the user interface of built applications.

8base enables secure integration with other systems by allowing for configuration of API access tokens to enable authenticated calls from outside services.

Lastly, 8base provides full role and user definition and related administration screens for built applications.

8. Back-End Development

Do we really need to burden back-end developers with writing queries to the database?

We designed 8base so that front-end developers can utilize their favorite IDE and use the languages they normally work with, JavaScript and TypeScript, to author server-side functions. We chose JavaScript because it is the most popular programming language in the world, with 70% of developers being proficient in it. Other platforms have developed their own proprietary programming languages which creates significant up-front training requirements and massive, ongoing vendor lock-in.

8base delivers a robust CLI (Command Line Interface) that allows developers to write custom logic and deploy it in seconds. Server-side logic is immediately available and can be exposed through GraphQL or REST, triggered in response to data events or executed on schedule. Resolvers, triggers, webhooks and scheduled tasks are all supported.

Logic execution is fully serverless, creating and destroying compute resources in real-time based upon demand. This means developers and customers don’t have to pay for idle servers when traffic is low or add more servers when its high.

9. Front-End Development

Allow the front-end developer to take total control of the process.

Developers can build custom front-end user interfaces in their technology of choice. 8base’s SDK (Software Development Kit) currently supports React and React Native; however, we will be releasing support for Swift (iOS), Android, Angular and Vue.js shortly. Developers can leverage 8base Boost or other UI kits to build fully responsive user interfaces.

8base provides the most powerful GraphQL API in existence which allows front-end developers to create queries of the exact data they need directly in their code, rather than having to depend on back-end developers to do it for them. In a single query, developers can pull back data from multiple tables and even data sources, while applying advanced filtering, pagination and full-text search. Front-end developers can utilize the popular ApolloClient to consume the API as well as other open-source libraries from the vibrant GraphQL ecosystem. 8base comes with a robust API Explorer that allows developers to rapidly sample data using GraphQL. It is our belief that GraphQL is far superior than traditional REST or SOAP APIs. 8base is one of the few platforms of its kind that employs GraphQL.

10. Ongoing Management of the Production Environment

What if the system just ran and scaled as needs grew, without babysitting?

Most businesses staff teams to manage their storage and computing infrastructure. This is true whether the infrastructure is on premise or in the cloud. 8base runs and scales to meet application demands without requiring business to staff for these roles.

8base was designed by developers, for developers. 8base was built to drastically transform the ability for businesses to build and host modern web applications, especially those that power large business needs.

We look forward to closely following the needs of our customers and rapidly responding to their requests.

So..please get started by creating your first data model or installing one of our sample apps!

For part 1 of this article, see Front End Developers Skills Can Take You All the Way — Introducing 8base

Ready to try 8base?

Sign up for free or simply stay in touch.