-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
276 lines (262 loc) · 13.7 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="description" content="C++ Multiplatform Toolkit Template">
<meta name="keywords"
content="c++, cxx, cpp, mobile, desktop, code, ios, android, linux, macos, windows, wasm, web assembly, flutter, share code, compile, native">
<meta name="author" content="Paulo Coutinho">
<meta name="robots" content="index,follow">
<meta property="og:title" content="XPLPC - Cross Platform Lite Procedure Call" />
<meta property="og:site_name" content="XPLPC">
<meta property="og:type" content="website">
<meta property="og:image" content="https://xplpc.github.io/assets/img/opengraph.png?r=2022-11-10">
<meta property="og:url" content="https://xplpc.github.io" />
<meta property="og:description"
content="The XPLPC project connects languages and platforms, allowing for the transfer of serialized data between them. This is achieved without the need for a server, but instead by utilizing device memory. This approach is known as Lite Procedure Call." />
<meta property="og:locale" content="en" />
<meta property="twitter:card" content="summary" />
<meta property="twitter:title" content="XPLPC - Cross Platform Lite Procedure Call" />
<meta property="twitter:description"
content="The XPLPC project connects languages and platforms, allowing for the transfer of serialized data between them. This is achieved without the need for a server, but instead by utilizing device memory. This approach is known as Lite Procedure Call." />
<meta property="twitter:image" content="https://xplpc.github.io/assets/img/opengraph.png?r=2022-11-10">
<meta property="twitter:site" content="Paulo Coutinho">
<title>XPLPC - Cross Platform Lite Procedure Call</title>
<!-- Favicons -->
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<link href="i/favicon.png" rel="icon">
<link href="i/apple-touch-icon.png" rel="apple-touch-icon">
<!-- Google Fonts -->
<link
href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@100;200;300;400;500;600;700;800;900&family=DM+Sans:wght@100;200;300;400;500;600;700;800;900&subset=latin&display=swap"
rel="stylesheet">
<!-- Startup CSS + Bootstrap CSS (Styles for all blocks) - Remove ".min" if you want to edit a css code -->
<link href="css/styles.min.css" rel="stylesheet" />
<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
<!-- Startup JS (Custom js for all blocks) - Remove ".min" if you want to edit a JS code -->
<script src="js/scripts.min.js"></script>
</head>
<body>
<!-- Header 1 -->
<header class="py-20 bg-bg-3">
<div class="container">
<div class="row align-items-center flex-md-row-reverse">
<div class="col-md-6">
<img src="i/logo-image-only.png" alt="" class="w-100 img-fluid">
</div>
<div class="col-md-6 mt-8 mt-md-0">
<h1 class="display-3 mb-6">
XPLPC
</h1>
<p class="mb-8 fs-1">
Cross Platform Lite Procedure Call
<br>
<br>
The XPLPC project connects languages and platforms, allowing for the transfer of serialized data
between them.
<br>
<br>
This is achieved without the need for a server, but instead by utilizing device
memory. This approach is known as Lite Procedure Call.
</p>
<a href="https://github.com/xplpc/xplpc" class="btn text-light-1 btn-lg"
style="background-color: #FFAB00;">
Get Started
</a>
</div>
</div>
</div>
</header>
<!-- Feature 1 -->
<section class="py-10 py-lg-20 text-center bg-bg-3">
<div class="container">
<div class="row justify-content-center">
<div class="col-md-9 col-lg-7 col-xl-6 col-xxl-5">
<h2 class="fw-bold display-5 mb-6">
Lite Procedure Call
</h2>
<p class="fs-2 mb-15">
Allow connect languages and platforms transfering serialized data between them using device
memory
</p>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<svg width="60" height="60" viewBox="0 0 61 60" fill="none" xmlns="http://www.w3.org/2000/svg"
class="d-block mx-auto fill-action-6">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M42.692 0.254703C43.059 0.467472 43.343 0.798416 43.4976 1.19347C43.6523 1.58852 43.6683 2.02433 43.5432 2.4297L36.7895 24.3747H49.2507C49.617 24.3746 49.9752 24.4817 50.2812 24.6828C50.5873 24.8839 50.8277 25.1702 50.9729 25.5064C51.118 25.8426 51.1616 26.214 51.0981 26.5746C51.0347 26.9353 50.867 27.2695 50.6157 27.536L20.6157 59.411C20.3255 59.7196 19.9392 59.9209 19.5199 59.9819C19.1006 60.0429 18.673 59.9601 18.3068 59.747C17.9405 59.5339 17.6573 59.203 17.5032 58.8083C17.3491 58.4136 17.3333 57.9783 17.4582 57.5735L24.212 35.6247H11.7507C11.3845 35.6248 11.0263 35.5178 10.7203 35.3166C10.4142 35.1155 10.1738 34.8292 10.0286 34.493C9.88345 34.1568 9.83991 33.7854 9.90337 33.4248C9.96684 33.0641 10.1345 32.7299 10.3857 32.4635L40.3857 0.588453C40.6757 0.2802 41.0613 0.0790857 41.4801 0.0178105C41.8988 -0.0434648 42.3259 0.0387029 42.692 0.250953V0.254703ZM16.0895 31.8747H26.7507C27.0442 31.8746 27.3335 31.9435 27.5955 32.0756C27.8575 32.2077 28.0848 32.3995 28.2592 32.6355C28.4335 32.8716 28.5501 33.1452 28.5994 33.4344C28.6488 33.7237 28.6295 34.0205 28.5432 34.301L23.4132 50.9622L44.9082 28.1247H34.2507C33.9573 28.1248 33.668 28.0559 33.406 27.9238C33.144 27.7917 32.9167 27.5999 32.7423 27.3639C32.5679 27.1279 32.4514 26.8542 32.4021 26.565C32.3527 26.2757 32.372 25.9789 32.4582 25.6985L37.5882 9.0372L16.0895 31.8747Z">
</path>
</svg>
<h5 class="mb-4 mt-6">
Cross Platform
</h5>
<p class="mb-0">
The XPLPC project works on a variety of platforms, including Linux, macOS, Windows, iOS, tvOS,
watchOS, macCatalyst, Web Assembly (WASM) and Flutter (iOS, Android, Linux, macOS and Windows)
</p>
</div>
<div class="col-lg-4 mt-8 mb-8 mt-lg-0 mb-lg-0">
<svg width="61" height="60" viewBox="0 0 61 60" fill="none" xmlns="http://www.w3.org/2000/svg"
class="d-block mx-auto fill-action-1">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M12.4545 30L1.48945 35.8463C1.18993 36.0063 0.939497 36.2447 0.764886 36.5359C0.590276 36.8272 0.498047 37.1604 0.498047 37.5C0.498047 37.8396 0.590276 38.1728 0.764886 38.4641C0.939497 38.7553 1.18993 38.9937 1.48945 39.1537L29.6145 54.1537C29.8857 54.2982 30.1884 54.3738 30.4957 54.3738C30.803 54.3738 31.1057 54.2982 31.377 54.1537L59.502 39.1537C59.8015 38.9937 60.0519 38.7553 60.2265 38.4641C60.4011 38.1728 60.4934 37.8396 60.4934 37.5C60.4934 37.1604 60.4011 36.8272 60.2265 36.5359C60.0519 36.2447 59.8015 36.0063 59.502 35.8463L48.5482 30L44.562 32.1263L54.642 37.5L30.4995 50.3737L6.35695 37.5L16.437 32.1263L12.4507 30H12.4545Z">
</path>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M29.6184 5.84695C29.8896 5.7025 30.1923 5.62695 30.4996 5.62695C30.807 5.62695 31.1096 5.7025 31.3809 5.84695L59.5059 20.847C59.8054 21.007 60.0558 21.2454 60.2304 21.5366C60.405 21.8279 60.4973 22.1611 60.4973 22.5007C60.4973 22.8403 60.405 23.1735 60.2304 23.4648C60.0558 23.756 59.8054 23.9944 59.5059 24.1545L31.3809 39.1545C31.1096 39.2989 30.807 39.3745 30.4996 39.3745C30.1923 39.3745 29.8896 39.2989 29.6184 39.1545L1.49336 24.1545C1.19384 23.9944 0.943403 23.756 0.768792 23.4648C0.594182 23.1735 0.501953 22.8403 0.501953 22.5007C0.501953 22.1611 0.594182 21.8279 0.768792 21.5366C0.943403 21.2454 1.19384 21.007 1.49336 20.847L29.6184 5.84695ZM6.36086 22.5007L30.4996 35.3745L54.6421 22.5007L30.4996 9.62695L6.35711 22.5007H6.36086Z">
</path>
</svg>
<h5 class="mb-4 mt-6">
Plug And Play
</h5>
<p class="mb-0">
The generated library can be added to your project without the need to rewrite your code or
application, allowing for full code reuse. And you don't need to use any generators or special
tools.
</p>
</div>
<div class="col-lg-4">
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg"
class="d-block mx-auto fill-action-5">
<path
d="M21.5625 50.625C22.1887 49.3762 22.5 47.5013 22.5 45H37.5C37.5 47.5013 37.8113 49.3762 38.4375 50.625H41.25C41.7473 50.625 42.2242 50.8225 42.5758 51.1742C42.9275 51.5258 43.125 52.0027 43.125 52.5C43.125 52.9973 42.9275 53.4742 42.5758 53.8258C42.2242 54.1775 41.7473 54.375 41.25 54.375H18.75C18.2527 54.375 17.7758 54.1775 17.4242 53.8258C17.0725 53.4742 16.875 52.9973 16.875 52.5C16.875 52.0027 17.0725 51.5258 17.4242 51.1742C17.7758 50.8225 18.2527 50.625 18.75 50.625H21.5625Z">
</path>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M52.4663 11.25H7.5C6.28125 11.25 5.6175 11.5425 5.2425 11.7937C4.83058 12.0805 4.50195 12.4713 4.29 12.9262C3.97035 13.5867 3.78671 14.3047 3.75 15.0375V37.5C3.75 38.7188 4.0425 39.3825 4.29375 39.7575C4.55625 40.1513 4.93125 40.4625 5.42625 40.71C6.05826 41.0161 6.74314 41.1982 7.44375 41.2463L7.5375 41.25H52.5C53.7188 41.25 54.3825 40.9575 54.7575 40.7062C55.1694 40.4195 55.4981 40.0287 55.71 39.5738C56.0161 38.9417 56.1982 38.2569 56.2463 37.5563L56.25 37.4625V15C56.25 13.7812 55.9575 13.1175 55.7062 12.7425C55.4196 12.3305 55.0288 12.0018 54.5738 11.79C53.9133 11.4703 53.1953 11.2867 52.4625 11.25H52.4663ZM52.5 7.5H7.5C0 7.5 0 15 0 15V37.5C0 45 7.5 45 7.5 45H52.5C60 45 60 37.5 60 37.5V15C60 7.5 52.5 7.5 52.5 7.5Z">
</path>
</svg>
<h5 class="mb-4 mt-6">
Production ready
</h5>
<p class="mb-0">
The generated binary file can be integrated into an existing project or a new project, without
the need to start a new project from scratch. This means you can use the generated binary file
to add new functionality to your current project without having to begin a new project.
</p>
</div>
</div>
</div>
</section>
<!-- Feature 12 -->
<section class="py-10 py-lg-20 bg-bg-3">
<div class="container">
<div class="row">
<div class="mb-8 mb-md-0 col-sm-10 col-md-6 col-lg-6 col-xl-5 col-xxl-4">
<img src="i/logo-featured.png" alt="" class="img-fluid">
<h2 class="display-5 my-6">
Ready to use
</h2>
<p class="fs-2">
The XPLPC repository provides an accessible platform for beginning and managing your own
project, with a variety of tools and resources to ensure a smooth and efficient development
process.
</p>
</div>
<div class="d-none d-md-block col-md-1 col-lg-2">
</div>
<div class="col-11 col-sm-7 col-md-5 col-lg-4">
<div class="mb-12">
<h5 class="position-absolute text-action-5">
01
</h5>
<div class="ps-9">
<h5>
Build Quick
</h5>
<p class="mb-0 remove-br-md">
When using the XPLPC repository, you can focus on the core functionality and logic of
your business code, without worrying about the organization and structure of your
project, as it is already expertly handled by the XPLPC's built-in tools and resources.
</p>
</div>
</div>
<div class="mb-12">
<h5 class="position-absolute text-action-5">
02
</h5>
<div class="ps-9">
<h5>
Your Tools
</h5>
<p class="mb-0 remove-br-md">
The XPLPC repository contains all the necessary elements for your project, including
templates, resources and tools, which can be easily customized and edited to suit your
specific needs and preferences, using the development tools of your choice.
</p>
</div>
</div>
<div>
<h5 class="position-absolute text-action-5">
03
</h5>
<div class="ps-9">
<h5>
Extendable
</h5>
<p class="mb-0 remove-br-md">
The XPLPC core was developed using C++, making it easy to adapt and integrate with other
platforms and systems, allowing for a seamless and efficient development process. The
flexibility and compatibility of XPLPC allows for easy integration with other tools and
technologies, making it a versatile option for your projects.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Call to action 2 -->
<section class="py-10 py-md-20 bg-bg-3 text-center">
<div class="container">
<div class="row flex-column align-items-center">
<div class="col-lg-10 col-xl-8">
<h2 class="display-5">
Workflow
</h2>
<br>
<img src="i/how-it-works.png" alt="" class="img-fluid mb-6">
<br>
<br>
<h2 class="display-5">
Demo Projects
</h2>
</div>
<div class="col-sm-10 col-md-8 col-lg-6 col-xl-5 col-xxl-4">
<p class="fs-2 mb-8 mt-6">
The XPLPC repository provides support for a variety of platforms:
</p>
<ul style="text-align: left;">
<li>C</li>
<li>C++</li>
<li>Kotlin (Android, Desktop)</li>
<li>Swift (iOS, macOS, tvOS, watchOS, Catalyst)</li>
<li>WebAssembly</li>
<li>Flutter (iOS, Android, Desktop)</li>
<li>Python</li>
</ul>
<p class="fs-2 mb-8">
All of which share the same C++ codebase, allowing for easy code reuse and efficient development
across multiple platforms.
</p>
<a href="https://xplpc.github.io/wasm-demo/" class="btn text-light-1 btn-lg"
style="background-color: #FFAB00;">
Demo for Web Assembly
</a>
</div>
</div>
</div>
</section>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-5L1L6BVV2B"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-5L1L6BVV2B');
</script>
</body>
</html>