もっと速く作り、スタックを自分たちのものにしましょう。
不要なレイヤーのないビジネスソフトウェア。
Total.js は、高速な Node.js フレームワーク、プロダクション対応の UI コンポーネント、実績のあるアプリケーションを組み合わせることで、チームがより少ないグルーコードと高いコントロールでダッシュボード、ポータル、SaaS プロダクト、社内ツールを構築できるようにします。
ルーティング、アクション、REST、WebSocket、スキーマ、ファイル、ビュー、メール、実行時制御を1か所にまとめています。
入力フィールド、データグリッド、フォーム、チャート、ダッシュボード、モーダル、プロダクション対応のインターフェース。
理解しやすく、拡張しやすく、自分たちのものとして扱えるスタック
Total.jsは、バックエンド、UI、データ、リアルタイム通信、ビジネスロジックといった重要な要素を近くに保ち、不要なレイヤーにプロダクトが分散しないようにします。
1つのバックエンド。1つのUI哲学。
ルート、アクション、スキーマ、ビュー、バインディング、コンポーネントが自然に組み合わさります。グルーコードを減らし、決定事項を減らし、アイデアからプロダクションまでの道筋をすっきりさせます。
ピュアフレームワーク
total5 / node.jsビジネスロジック、API、ソケット、ジョブ、実際の処理のための明確な構造を、フレームワークのノイズなしで提供します。
// ルート、スキーマ、データベース、メール、TMS、ファイル、ジョブ、ソケット
require('total5');
exports.install = function() {
ROUTE('GET /', 'view');
ROUTE('+API ? orders-query --> Orders|query');
ROUTE('+POST /api/orders/ --> Orders|create');
ROUTE('SOCKET /live/ @json <2MB', live);
ROUTE('FILE /invoice/{id}/', invoice);
ON('service', counter => counter % 5 === 0 && ACTION('Orders|sync').callback(NOOP));
};
NEWACTION('Orders|query', {
query: 'page:Number, q:String',
action: function($) {
DATA.find('orders')
.search('email', $.query.q)
.paginate($.query.page || 1, 20)
.sort('dtcreated_desc')
.callback($);
}
});
NEWACTION('Orders|create', {
input: '*email:Email,*total:Number,items:[Object]',
output: 'id:String,email:Email,total:Number,dtcreated:Date',
publish: true,
action: function($, model) {
model.dtcreated = new Date();
DATA.insert('orders', model).callback(function(err, doc) {
if (err)
return $.invalid(err);
MAIL(model.email, 'ご注文を受け付けました', 'mail/order', doc, NOOP);
$.success(doc);
});
}
});
NEWACTION('Orders|sync', {
action: function($) {
// バックグラウンドジョブも同じアクションパイプラインを使用します
$.success();
}
});
function live($) {
$.autodestroy();
SUBSCRIBE('Orders|create', order => $.send(order));
$.on('message', (client, message) => ACTION('Orders|create', message, client).callback(response => client.send(response)));
}
function invoice($) {
FILESTORAGE('orders').read($.params.id, $.callback);
}
Total.run();jComponents ベースの UI
spa.min@20実際のビジネス画面向けに設計されたコンポーネントで、フォーム、ダッシュボード、テーブル、ワークフロー全体を構築できます。
<!-- スコープ付きステートとコンポーネントを備えたクライアントサイド UI ライブラリ -->
<script src="https://cdn.componentator.com/spa.min@20.js"></script>
<link rel="stylesheet" href="https://cdn.componentator.com/spa.min@20.css" />
<!-- すぐに使える多言語対応 UI: @(Orders), @(Save order), @(Customer) -->
<ui-plugin path="orders">
<ui-component name="input" path="?.filter.q" config="placeholder:注文を検索する;autofill:1"></ui-component>
<ui-component name="validate" path="?.form">
<button class="exec" data-exec="?/save">注文を保存する</button>
</ui-component>
<ui-component name="datagrid" path="?.orders" config="margin:0;click:?/detail">
<script type="text/plain">
[
{ name: 'email', text: '顧客', width: 220 },
{ name: 'total', text: 'Total', align: 2, template: "{{ total | format(2) }}" },
{ name: 'dtcreated', text: '作成日', template: "{{ dtcreated | format('dd.MM.yyyy') }}" }
]
</script>
</ui-component>
<ui-component name="linechart" path="?.sales" config="height:180;type:curves"></ui-component>
<ui-bind path="?.online" config="text:value + ' オンライン'"></ui-bind>
<ui-bind path="?.order" config="template">
<script type="text/html">{{ value.email }} · {{ value.total | format(2) }}</script>
</ui-bind>
</ui-plugin>
<script>
PLUGIN('orders', function(exports) {
exports.reload = function() {
exports.tapi('Orders|query', exports.model.filter, function(response) {
exports.set('?.orders', response);
});
};
exports.save = function() {
SETTER('loading/show');
exports.tapi('Orders|create ERROR @showloading', exports.model.form, function(response) {
SETTER('loading/hide');
PUSH('?.orders', response);
exports.set('?.form', {});
SETTER('message/success', 'ご注文を保存しました');
});
};
exports.websocket = function(message) {
PUSH('?.orders', message);
EMIT('orders/live', message);
};
});
</script>実運用の製品のための、ひとつの基盤
Flow、OpenPlatform、CMS、その他のTotal.jsアプリケーションはデモではありません。同じ土台の上に構築された、実際に稼働している製品です。その土台を、あなた自身のプラットフォームにも使えます。
Flow
API、サービス、AIと連携する自動化、インテグレーション、ビジネスプロセス。
OpenPlatform
アイデンティティ、アプリケーション、ユーザー、制御されたアクセスを備えたプライベートポータルの基盤。
CMS
単体のCMSとしても、より大きなビジネスソリューションの一部としても使えるコンテンツ管理。
Code
Total.js 開発向けのコラボレーション型 Web コードエディタ。自社サーバー上で直接動作し、より迅速な変更と完全なコントロールを可能にします。
UI Builder
ダッシュボード、ポータル、フォーム、業務画面のためのビジュアルインターフェース構築。
Todomator
明確な優先順位、実行力、日々の業務への集中を必要とするチームのためのタスク管理。
Tables
テーブル設計、データ連携、カスタムビューによるレコード管理のための、ノーコード PostgreSQL ワークスペース。
さらに多くのアプリ
同じ思想で作られたツール群。実務的で、まっすぐで、すぐに仕事に使えます。
TotalDesktop Suite
macOS と iPadOS 向けのネイティブツール群。実際の Total.js ワークフローを中心に設計されており、リソース、コード、監視、プロジェクト、日々の業務を支えます。

TotalResources
ネイティブアプリから多言語コンテンツを管理できます。翻訳、スペルチェック、レビュー、AIによるサポートを、すべての製品テキストに対して行えます。

TotalCode
ローカル制御と複数インスタンスに対応した、Total.js Code用のネイティブワークスペース。

TotalMonitor
プロジェクトの状態、メトリクス、アラート、ルールをリアルタイムで監視し、問題が緊急になる前に気付けるようにします。

さらに多くのアプリケーション
今後、ネイティブツールがさらに増え、開発・運用・監視・プロダクト進化まで、同じエコシステムを拡張していきます。
macOS と iPadOS 専用。近日提供予定
初期リリースは Apple エコシステムにフォーカスします。Windows と Linux は後日対応予定ですが、現時点で日付は未定です。
Total.js では、長く使い続けられるソフトウェアを開発しています。
アプリケーション、ダッシュボード、ポータル、SaaSプロダクト、プライベートプラットフォームを、一貫した土台の上に構築し、偶然の複雑さに頼らないようにします。
カスタム開発
Total.js で構築されたアプリケーション、ダッシュボード、ポータル、社内ツール、デジタルプロダクト。
アーキテクチャとコンサルティング
プロダクトが大きくなる前に行う技術判断、土台のレビュー、実行可能なプラン。
実装と進化
最初のバージョンから継続的な改善まで、同じ技術的な方針で進めています。
保守と改善
既存プラットフォームの最適化、リファクタリング、新機能追加、段階的な進化。
ビジネスの課題を、実際に使えるソフトウェアへ
明確な技術基盤と、運用開始までの現実的な道筋を備えたアプリケーションを設計・開発します。
世界中のチームが、すでにTotal.jsを使ってプロダクトを構築しています。
すべてのリファレンスを見る





ご相談内容をお聞かせください。丁寧に確認し、できるだけ早く明確にお返事します。