You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Python**: Native package **or** IPC client + IPC server
45
45
-**Other languages** (PHP, etc.): IPC client + IPC server required
46
46
@@ -61,17 +61,29 @@ Uses the exact same client-server mechanism as a database:
61
61
-**Same principle**: Lightweight client + Powerful server
62
62
-**Universal protocol**: TCP + text/JSON (supported by all languages)
63
63
-**Consistent results**: Same engine processes everything, guaranteeing identical output
64
+
-**Minimal dependencies**: IPC clients are extremely lightweight with minimal external dependencies
65
+
-**Easy updates**: No application recompilation needed - simply update the IPC server for engine improvements
64
66
65
67
### **Security Advantage:**
66
68
The IPC architecture provides important security benefits:
67
69
-**Sandboxed execution**: Templates run in isolated processes
68
70
-**Reduced attack surface**: Main application protected from template engine vulnerabilities
69
71
-**Resource control**: Memory and CPU limits can be enforced at server level
70
72
-**Crash containment**: Template engine failures don't affect the main application
73
+
-**Zero-downtime updates**: IPC server can be updated independently without restarting client applications
71
74
72
75
### **Key Advantage:**
73
76
Just like an SQL query returns the same data from any language, a Neutral TS template returns the same HTML from Python, PHP, Rust... with added security isolation.
74
77
78
+
### **Performance Consideration:**
79
+
The IPC approach introduces performance overhead due to inter-process communication. The impact varies depending on:
80
+
81
+
- Application type
82
+
- Programming language
83
+
- Network latency
84
+
85
+
For most web applications, the security and interoperability benefits compensate for the performance overhead.
86
+
75
87
### **IPC Components:**
76
88
-**IPC Server**: Universal standalone application (written in Rust) for all languages - download from: [IPC Server](https://github.com/FranBarInstance/neutral-ipc/releases)
77
89
-**IPC Clients**: Language-specific libraries to include in your project - available at: [IPC Clients](https://github.com/FranBarInstance/neutral-ipc/tree/master/clients)
@@ -450,6 +462,8 @@ Or for array:
450
462
Native use (Rust)
451
463
-----------------
452
464
465
+
Alternatively, you can use: [Neutral TS Rust IPC Client](https://crates.io/crates/neutralipcrs)
466
+
453
467
```text
454
468
use neutralts::Template;
455
469
use serde_json::json;
@@ -468,6 +482,8 @@ let status_param = template.get_status_param();
468
482
469
483
// act accordingly at this point according to your framework
-**Python**: Native package **or** IPC client + IPC server
45
45
-**Other languages** (PHP, etc.): IPC client + IPC server required
46
46
@@ -61,17 +61,29 @@ Uses the exact same client-server mechanism as a database:
61
61
-**Same principle**: Lightweight client + Powerful server
62
62
-**Universal protocol**: TCP + text/JSON (supported by all languages)
63
63
-**Consistent results**: Same engine processes everything, guaranteeing identical output
64
+
-**Minimal dependencies**: IPC clients are extremely lightweight with minimal external dependencies
65
+
-**Easy updates**: No application recompilation needed - simply update the IPC server for engine improvements
64
66
65
67
### **Security Advantage:**
66
68
The IPC architecture provides important security benefits:
67
69
-**Sandboxed execution**: Templates run in isolated processes
68
70
-**Reduced attack surface**: Main application protected from template engine vulnerabilities
69
71
-**Resource control**: Memory and CPU limits can be enforced at server level
70
72
-**Crash containment**: Template engine failures don't affect the main application
73
+
-**Zero-downtime updates**: IPC server can be updated independently without restarting client applications
71
74
72
75
### **Key Advantage:**
73
76
Just like an SQL query returns the same data from any language, a Neutral TS template returns the same HTML from Python, PHP, Rust... with added security isolation.
74
77
78
+
### **Performance Consideration:**
79
+
The IPC approach introduces performance overhead due to inter-process communication. The impact varies depending on:
80
+
81
+
- Application type
82
+
- Programming language
83
+
- Network latency
84
+
85
+
For most web applications, the security and interoperability benefits compensate for the performance overhead.
86
+
75
87
### **IPC Components:**
76
88
-**IPC Server**: Universal standalone application (written in Rust) for all languages - download from: [IPC Server](https://github.com/FranBarInstance/neutral-ipc/releases)
77
89
-**IPC Clients**: Language-specific libraries to include in your project - available at: [IPC Clients](https://github.com/FranBarInstance/neutral-ipc/tree/master/clients)
@@ -450,6 +462,8 @@ Or for array:
450
462
Native use (Rust)
451
463
-----------------
452
464
465
+
Alternatively, you can use: [Neutral TS Rust IPC Client](https://crates.io/crates/neutralipcrs)
466
+
453
467
```text
454
468
use neutralts::Template;
455
469
use serde_json::json;
@@ -468,6 +482,8 @@ let status_param = template.get_status_param();
468
482
469
483
// act accordingly at this point according to your framework
0 commit comments