System Configuration with Hexabase
This section describes the system configuration for the Hexabase application.
Application system configuration
Hexabase provides the backend for the web system. The frontend can be developed from scratch by calling Hexabase functions via API. If backend extensions are required, use FaaS or other services.
Layer | Frontend | Backend(Hexabase) | Backend Extension |
---|---|---|---|
Role | Operation Page | Database definition business flow definition access control | Data processing logic External interaction |
Implementation language Implementation method | JavaScript TypeScript | Settings in browser Hexabase CLI Hexabase SDK | C# Python Nodejs Java etc. |
Implementation framework | SPA React Vue Angular | --- | FaaS AzureFunctions AWS Lamda GCP Cloud Functions API 連携 |
Technologies used for frontend development
The Hexabase frontend can be developed from scratch using the SPA framework.
Frontend technology is a rapidly evolving field, but React, Vue.js, and Angular are gaining popularity in 2020.
https://2020.stateofjs.com/en-US/technologies/front-end-frameworks/
React | Vue | Angular | |
---|---|---|---|
Adopted technology | Virtual DOM | Virtual DOM | Virtual DOM |
JSX | Static HTML templates | Static HTML templates | |
GitHub stars | 159k | 175k | 67k |
npm weekly downloads | 8,882,562 | 1,963,489 | 2,072,443 |
Learning cost | Somewhat expensive | Standard | Expensive |
Framework size | During~ | During~ | Large |
Large scale development | 〇 Correct component division is essential | 〇 Possible, but suitable for relatively simple site development | △ Complexity increases with scale |
Business logic description and backend extensions
Hexabase implements business logic and backend extensions in a way that is tied to actions.
ActionScript is the ability to assign Javascript code to an action. ActionScript is intended for simple extended implementation, and the use of external libraries is limited.
Use the Webhook function to call external services or external APIs, or use batch processing to extend backend extensions.
Hexabase backend extensions are used in the following cases:
- Notifications such as email transmission(output from Hexabase)
- Special calculation(update data in Hexabase)
- Data interaction with external systems(includes external input to Hexabase)